missed commits for translation PO files
git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@17329 1b8cb986-b30d-0410-93ca-fae66ebed9b2
This commit is contained in:
parent
ed8eaa2e2b
commit
eb8f85aab9
|
@ -0,0 +1,221 @@
|
||||||
|
# Language es-ES translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:35
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
|
||||||
|
"surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:40
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:44
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:49
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>James</firstname> <surname>Cobb</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: shortaffil
|
||||||
|
#: author_group.xml:53 author_group.xml:60
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Graphic Design"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:56
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:69
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
|
||||||
|
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:79
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:83
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:87
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:91
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:95
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:99
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
|
||||||
|
"othercredit>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:103
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:113
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
|
||||||
|
"<email>alvaronetto@cetip.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:118
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
|
||||||
|
"<email>andersonbraulio@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:123
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
|
||||||
|
"<email>danielvc@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:128
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
|
||||||
|
"gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:133
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:137
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
|
||||||
|
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:142
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
|
||||||
|
"castelo@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:147
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:152
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
|
||||||
|
"<email>pablolmiranda@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:157
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:162
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
|
||||||
|
"<email>rgildoaraujo@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:167
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
|
||||||
|
"<email>wandersonxs@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:178
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
|
||||||
|
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
|
||||||
|
"contrib> <email>caoxg@yahoo.com</email>"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Language es-ES translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "References"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Patterns of Enterprise Application Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:34
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:41
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Pearson Education, Inc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:50
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Java Persistence with Hibernate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: subtitle
|
||||||
|
#: bibliography.xml:51
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Second Edition of Hibernate in Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:57
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:61
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:68
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Manning Publications Co."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,234 @@
|
||||||
|
# Language es-ES translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:26
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database Portability Considerations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:29
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Portability Basics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:31
|
||||||
|
#, 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:42
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:44
|
||||||
|
#, 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:55
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:57
|
||||||
|
#, 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:64
|
||||||
|
#, 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:72
|
||||||
|
#, 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><![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:85
|
||||||
|
#, 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:98
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Identifier generation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:100
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:125
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
|
||||||
|
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
|
||||||
|
"targetting portability in a much different way. <note> <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:154
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database functions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:157
|
||||||
|
#, 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:164
|
||||||
|
#, 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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:170
|
||||||
|
#, 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:177
|
||||||
|
#, 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:187
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Type mappings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:189
|
||||||
|
#, no-c-format
|
||||||
|
msgid "This section scheduled for completion at a later date..."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,221 @@
|
||||||
|
# Language fr-FR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:35
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
|
||||||
|
"surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:40
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:44
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:49
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>James</firstname> <surname>Cobb</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: shortaffil
|
||||||
|
#: author_group.xml:53 author_group.xml:60
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Graphic Design"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:56
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:69
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
|
||||||
|
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:79
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:83
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:87
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:91
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:95
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:99
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
|
||||||
|
"othercredit>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:103
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:113
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
|
||||||
|
"<email>alvaronetto@cetip.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:118
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
|
||||||
|
"<email>andersonbraulio@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:123
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
|
||||||
|
"<email>danielvc@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:128
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
|
||||||
|
"gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:133
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:137
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
|
||||||
|
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:142
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
|
||||||
|
"castelo@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:147
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:152
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
|
||||||
|
"<email>pablolmiranda@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:157
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:162
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
|
||||||
|
"<email>rgildoaraujo@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:167
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
|
||||||
|
"<email>wandersonxs@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:178
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
|
||||||
|
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
|
||||||
|
"contrib> <email>caoxg@yahoo.com</email>"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Language fr-FR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "References"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Patterns of Enterprise Application Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:34
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:41
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Pearson Education, Inc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:50
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Java Persistence with Hibernate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: subtitle
|
||||||
|
#: bibliography.xml:51
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Second Edition of Hibernate in Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:57
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:61
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:68
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Manning Publications Co."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,234 @@
|
||||||
|
# Language fr-FR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:26
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database Portability Considerations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:29
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Portability Basics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:31
|
||||||
|
#, 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:42
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:44
|
||||||
|
#, 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:55
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:57
|
||||||
|
#, 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:64
|
||||||
|
#, 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:72
|
||||||
|
#, 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><![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:85
|
||||||
|
#, 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:98
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Identifier generation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:100
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:125
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
|
||||||
|
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
|
||||||
|
"targetting portability in a much different way. <note> <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:154
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database functions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:157
|
||||||
|
#, 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:164
|
||||||
|
#, 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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:170
|
||||||
|
#, 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:177
|
||||||
|
#, 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:187
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Type mappings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:189
|
||||||
|
#, no-c-format
|
||||||
|
msgid "This section scheduled for completion at a later date..."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,221 @@
|
||||||
|
# Language ja-JP translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:35
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
|
||||||
|
"surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:40
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:44
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:49
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>James</firstname> <surname>Cobb</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: shortaffil
|
||||||
|
#: author_group.xml:53 author_group.xml:60
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Graphic Design"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:56
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:69
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
|
||||||
|
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:79
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:83
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:87
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:91
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:95
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:99
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
|
||||||
|
"othercredit>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:103
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:113
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
|
||||||
|
"<email>alvaronetto@cetip.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:118
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
|
||||||
|
"<email>andersonbraulio@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:123
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
|
||||||
|
"<email>danielvc@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:128
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
|
||||||
|
"gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:133
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:137
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
|
||||||
|
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:142
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
|
||||||
|
"castelo@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:147
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:152
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
|
||||||
|
"<email>pablolmiranda@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:157
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:162
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
|
||||||
|
"<email>rgildoaraujo@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:167
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
|
||||||
|
"<email>wandersonxs@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:178
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
|
||||||
|
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
|
||||||
|
"contrib> <email>caoxg@yahoo.com</email>"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Language ja-JP translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "References"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Patterns of Enterprise Application Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:34
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:41
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Pearson Education, Inc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:50
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Java Persistence with Hibernate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: subtitle
|
||||||
|
#: bibliography.xml:51
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Second Edition of Hibernate in Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:57
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:61
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:68
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Manning Publications Co."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,234 @@
|
||||||
|
# Language ja-JP translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:26
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database Portability Considerations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:29
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Portability Basics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:31
|
||||||
|
#, 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:42
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:44
|
||||||
|
#, 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:55
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:57
|
||||||
|
#, 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:64
|
||||||
|
#, 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:72
|
||||||
|
#, 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><![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:85
|
||||||
|
#, 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:98
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Identifier generation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:100
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:125
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
|
||||||
|
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
|
||||||
|
"targetting portability in a much different way. <note> <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:154
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database functions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:157
|
||||||
|
#, 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:164
|
||||||
|
#, 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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:170
|
||||||
|
#, 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:177
|
||||||
|
#, 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:187
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Type mappings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:189
|
||||||
|
#, no-c-format
|
||||||
|
msgid "This section scheduled for completion at a later date..."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,221 @@
|
||||||
|
# Language ko-KR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:35
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
|
||||||
|
"surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:40
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:44
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:49
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>James</firstname> <surname>Cobb</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: shortaffil
|
||||||
|
#: author_group.xml:53 author_group.xml:60
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Graphic Design"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:56
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:69
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
|
||||||
|
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:79
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:83
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:87
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:91
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:95
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:99
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
|
||||||
|
"othercredit>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:103
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:113
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
|
||||||
|
"<email>alvaronetto@cetip.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:118
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
|
||||||
|
"<email>andersonbraulio@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:123
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
|
||||||
|
"<email>danielvc@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:128
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
|
||||||
|
"gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:133
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:137
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
|
||||||
|
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:142
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
|
||||||
|
"castelo@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:147
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:152
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
|
||||||
|
"<email>pablolmiranda@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:157
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:162
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
|
||||||
|
"<email>rgildoaraujo@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:167
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
|
||||||
|
"<email>wandersonxs@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:178
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
|
||||||
|
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
|
||||||
|
"contrib> <email>caoxg@yahoo.com</email>"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Language ko-KR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "References"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Patterns of Enterprise Application Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:34
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:41
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Pearson Education, Inc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:50
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Java Persistence with Hibernate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: subtitle
|
||||||
|
#: bibliography.xml:51
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Second Edition of Hibernate in Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:57
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:61
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:68
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Manning Publications Co."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,234 @@
|
||||||
|
# Language ko-KR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:26
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database Portability Considerations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:29
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Portability Basics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:31
|
||||||
|
#, 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:42
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:44
|
||||||
|
#, 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:55
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:57
|
||||||
|
#, 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:64
|
||||||
|
#, 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:72
|
||||||
|
#, 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><![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:85
|
||||||
|
#, 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:98
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Identifier generation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:100
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:125
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
|
||||||
|
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
|
||||||
|
"targetting portability in a much different way. <note> <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:154
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database functions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:157
|
||||||
|
#, 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:164
|
||||||
|
#, 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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:170
|
||||||
|
#, 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:177
|
||||||
|
#, 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:187
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Type mappings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:189
|
||||||
|
#, no-c-format
|
||||||
|
msgid "This section scheduled for completion at a later date..."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,190 @@
|
||||||
|
# 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: 2009-07-14 19:55+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: author
|
||||||
|
#: author_group.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:35
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:40
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:44
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:49
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>James</firstname> <surname>Cobb</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: shortaffil
|
||||||
|
#: author_group.xml:53 author_group.xml:60
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Graphic Design"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:56
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:69
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> <email>kreimer@bbs.frc.utn.edu.ar</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:79
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:83
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:87
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:91
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:95
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:99
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></othercredit>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:103
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:113
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Alvaro</firstname> <surname>Netto</surname> <email>alvaronetto@cetip.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:118
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Anderson</firstname> <surname>Braulio</surname> <email>andersonbraulio@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:123
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Daniel Vieira</firstname> <surname>Costa</surname> <email>danielvc@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:128
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco.gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:133
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:137
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> <email>luizcarlos_rodrigues@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:142
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel.castelo@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:147
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:152
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Pablo L.</firstname> <surname>de Miranda</surname> <email>pablolmiranda@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:157
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:162
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Rogério</firstname> <surname>Araújo</surname> <email>rgildoaraujo@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:167
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Wanderson</firstname> <surname>Siqueira</surname> <email>wandersonxs@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:178
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> <orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</contrib> <email>caoxg@yahoo.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
# 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: 2009-07-14 19:55+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
|
||||||
|
#: bibliography.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "References"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Patterns of Enterprise Application Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:34
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:41
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Pearson Education, Inc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:50
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Java Persistence with Hibernate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: subtitle
|
||||||
|
#: bibliography.xml:51
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Second Edition of Hibernate in Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:57
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:61
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:68
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Manning Publications Co."
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -0,0 +1,136 @@
|
||||||
|
# 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: 2009-07-14 19:56+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
|
||||||
|
#: portability.xml:26
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database Portability Considerations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:29
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Portability Basics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:31
|
||||||
|
#, 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:42
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:44
|
||||||
|
#, 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:55
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:57
|
||||||
|
#, 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:64
|
||||||
|
#, 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:72
|
||||||
|
#, 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><![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:85
|
||||||
|
#, 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:98
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Identifier generation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:100
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:125
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Starting with version 3.2.3, Hibernate comes with a set of <ulink url=\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators targetting portability in a much different way. <note> <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:154
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database functions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:157
|
||||||
|
#, 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:164
|
||||||
|
#, 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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:170
|
||||||
|
#, 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:177
|
||||||
|
#, 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:187
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Type mappings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:189
|
||||||
|
#, no-c-format
|
||||||
|
msgid "This section scheduled for completion at a later date..."
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -0,0 +1,221 @@
|
||||||
|
# Language pt-BR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:35
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
|
||||||
|
"surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:40
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:44
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:49
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>James</firstname> <surname>Cobb</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: shortaffil
|
||||||
|
#: author_group.xml:53 author_group.xml:60
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Graphic Design"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:56
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:69
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
|
||||||
|
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:79
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:83
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:87
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:91
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:95
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:99
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
|
||||||
|
"othercredit>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:103
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:113
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
|
||||||
|
"<email>alvaronetto@cetip.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:118
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
|
||||||
|
"<email>andersonbraulio@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:123
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
|
||||||
|
"<email>danielvc@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:128
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
|
||||||
|
"gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:133
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:137
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
|
||||||
|
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:142
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
|
||||||
|
"castelo@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:147
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:152
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
|
||||||
|
"<email>pablolmiranda@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:157
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:162
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
|
||||||
|
"<email>rgildoaraujo@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:167
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
|
||||||
|
"<email>wandersonxs@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:178
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
|
||||||
|
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
|
||||||
|
"contrib> <email>caoxg@yahoo.com</email>"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Language pt-BR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "References"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Patterns of Enterprise Application Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:34
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:41
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Pearson Education, Inc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:50
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Java Persistence with Hibernate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: subtitle
|
||||||
|
#: bibliography.xml:51
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Second Edition of Hibernate in Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:57
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:61
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:68
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Manning Publications Co."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,234 @@
|
||||||
|
# Language pt-BR translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:26
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database Portability Considerations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:29
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Portability Basics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:31
|
||||||
|
#, 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:42
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:44
|
||||||
|
#, 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:55
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:57
|
||||||
|
#, 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:64
|
||||||
|
#, 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:72
|
||||||
|
#, 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><![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:85
|
||||||
|
#, 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:98
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Identifier generation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:100
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:125
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
|
||||||
|
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
|
||||||
|
"targetting portability in a much different way. <note> <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:154
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database functions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:157
|
||||||
|
#, 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:164
|
||||||
|
#, 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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:170
|
||||||
|
#, 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:177
|
||||||
|
#, 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:187
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Type mappings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:189
|
||||||
|
#, no-c-format
|
||||||
|
msgid "This section scheduled for completion at a later date..."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,221 @@
|
||||||
|
# Language zh-CN translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:35
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
|
||||||
|
"surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:40
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: author_group.xml:44
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:49
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>James</firstname> <surname>Cobb</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: shortaffil
|
||||||
|
#: author_group.xml:53 author_group.xml:60
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Graphic Design"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:56
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:69
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername> "
|
||||||
|
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:79
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:83
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:87
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:91
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:95
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:99
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
|
||||||
|
"othercredit>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:103
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:113
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
|
||||||
|
"<email>alvaronetto@cetip.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:118
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
|
||||||
|
"<email>andersonbraulio@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:123
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
|
||||||
|
"<email>danielvc@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:128
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
|
||||||
|
"gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:133
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:137
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
|
||||||
|
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:142
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
|
||||||
|
"castelo@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:147
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:152
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
|
||||||
|
"<email>pablolmiranda@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:157
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
|
||||||
|
"com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:162
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
|
||||||
|
"<email>rgildoaraujo@yahoo.com.br</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:167
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
|
||||||
|
"<email>wandersonxs@gmail.com</email>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: othercredit
|
||||||
|
#: author_group.xml:178
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
|
||||||
|
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
|
||||||
|
"contrib> <email>caoxg@yahoo.com</email>"
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Language zh-CN translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:55+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:27
|
||||||
|
#, no-c-format
|
||||||
|
msgid "References"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:31
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Patterns of Enterprise Application Architecture"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:34
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:41
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Pearson Education, Inc."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: bibliography.xml:50
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Java Persistence with Hibernate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: subtitle
|
||||||
|
#: bibliography.xml:51
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Second Edition of Hibernate in Action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:57
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: author
|
||||||
|
#: bibliography.xml:61
|
||||||
|
#, no-c-format
|
||||||
|
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: holder
|
||||||
|
#: bibliography.xml:68
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Manning Publications Co."
|
||||||
|
msgstr ""
|
|
@ -0,0 +1,234 @@
|
||||||
|
# Language zh-CN translations for PACKAGE package.
|
||||||
|
# Automatically generated, 2009.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
|
||||||
|
"POT-Creation-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"PO-Revision-Date: 2009-07-14 19:56+0000\n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:26
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database Portability Considerations"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: title
|
||||||
|
#: portability.xml:29
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Portability Basics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:31
|
||||||
|
#, 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:42
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:44
|
||||||
|
#, 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:55
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Dialect resolution"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:57
|
||||||
|
#, 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:64
|
||||||
|
#, 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:72
|
||||||
|
#, 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><![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:85
|
||||||
|
#, 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:98
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Identifier generation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:100
|
||||||
|
#, 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 ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:125
|
||||||
|
#, no-c-format
|
||||||
|
msgid ""
|
||||||
|
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
|
||||||
|
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
|
||||||
|
"targetting portability in a much different way. <note> <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:154
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Database functions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:157
|
||||||
|
#, 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:164
|
||||||
|
#, 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."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:170
|
||||||
|
#, 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:177
|
||||||
|
#, 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:187
|
||||||
|
#, no-c-format
|
||||||
|
msgid "Type mappings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Tag: para
|
||||||
|
#: portability.xml:189
|
||||||
|
#, no-c-format
|
||||||
|
msgid "This section scheduled for completion at a later date..."
|
||||||
|
msgstr ""
|
Loading…
Reference in New Issue