HHH-9986 - Fix reference manual inconsistencies for 5.0;

HHH-9987 - HikariCPConnectionProvider TLC
This commit is contained in:
Steve Ebersole 2015-07-27 17:05:41 -05:00
parent 09b3410db3
commit 7990630ae4
470 changed files with 10174 additions and 347561 deletions

View File

@ -170,7 +170,7 @@ jdocbook {
}
manual {
masterSourceDocumentName = 'HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.xml'
masterSourceDocumentName = 'Hibernate_Manual.xml'
}
}

View File

@ -45,11 +45,9 @@
<xi:include href="content/preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/tutorial.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/bootstrap.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="content/persistent_classes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />

View File

@ -0,0 +1,167 @@
<?xml version='1.0' encoding="UTF-8"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<chapter xml:id="architecture" xmlns="http://docbook.org/ns/docbook">
<title>Architecture</title>
<section xml:id="architecture-overview">
<title>Overview</title>
<mediaobject>
<imageobject role="fo">
<imagedata fileref="images/overview.svg" format="SVG" align="center"/>
</imageobject>
<imageobject role="html">
<imagedata fileref="images/overview.png" format="PNG" align="center"/>
</imageobject>
</mediaobject>
<para>
Hibernate, as an ORM solution, effectively "sits between" the Java application and the Relational
Database, as can be seen in the diagram above. The Java application makes use of the Hibernate APIs
to load, store, query, etc its domain data. Here we will introduce the essential Hibernate APIs.
This will be a brief introduction; we will discuss these contracts in detail later.
<variablelist spacing="compact">
<varlistentry>
<term>SessionFactory (<interfacename>org.hibernate.SessionFactory</interfacename>)</term>
<listitem>
<para>
A thread-safe (and immutable) representation of the mapping of the application
domain model to a database. Acts as a factory for
<interfacename>org.hibernate.Session</interfacename> instances.
</para>
<para>
A SessionFactory is very expensive to create; there should be only
one SessionFactory for an application for a given database. Maintains
services that Hibernate uses across all Sessions such as second level caches,
connection pools, transaction system integrations, etc.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Session (<interfacename>org.hibernate.Session</interfacename>)</term>
<listitem>
<para>
A single-threaded, short-lived object conceptually modeling a
"Unit of Work"<citation>PoEAA</citation>.
</para>
<para>
Wraps a JDBC <interfacename>java.sql.Connection</interfacename>. Acts as a factory for
<interfacename>org.hibernate.Transaction</interfacename> instances. Maintains a
generally "repeatable read" persistence context (first level cache) of the application's
domain model.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Transaction (<interfacename>org.hibernate.Transaction</interfacename>)</term>
<listitem>
<para>
A single-threaded, short-lived object used by the application to demarcate individual
physical transaction boundaries. It acts as an abstraction API to isolate the application
from the underling transaction system in use (JDBC, JTA, CORBA, etc).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="architecture-current-session" revision="2">
<title>Contextual sessions</title>
<para>
Most applications using Hibernate need some form of "contextual" session, where a given
session is in effect throughout the scope of a given context. However, across applications
the definition of what constitutes a context is typically different; different contexts
define different scopes to the notion of current. Applications using Hibernate prior
to version 3.0 tended to utilize either home-grown <literal>ThreadLocal</literal>-based
contextual sessions, helper classes such as <literal>HibernateUtil</literal>, or utilized
third-party frameworks, such as Spring or Pico, which provided proxy/interception-based contextual sessions.
</para>
<para>
Starting with version 3.0.1, Hibernate added the <literal>SessionFactory.getCurrentSession()</literal>
method. Initially, this assumed usage of <literal>JTA</literal> transactions, where the
<literal>JTA</literal> transaction defined both the scope and context of a current session.
Given the maturity of the numerous stand-alone
<literal>JTA TransactionManager</literal> implementations, most, if not all,
applications should be using <literal>JTA</literal> transaction management, whether or not
they are deployed into a <literal>J2EE</literal> container. Based on that, the
<literal>JTA</literal>-based contextual sessions are all you need to use.
</para>
<para>
However, as of version 3.1, the processing behind
<literal>SessionFactory.getCurrentSession()</literal> is now pluggable. To that
end, a new extension interface, <literal>org.hibernate.context.spi.CurrentSessionContext</literal>,
and a new configuration parameter, <literal>hibernate.current_session_context_class</literal>,
have been added to allow pluggability of the scope and context of defining current sessions.
</para>
<para>
See the Javadocs for the <literal>org.hibernate.context.spi.CurrentSessionContext</literal>
interface for a detailed discussion of its contract. It defines a single method,
<literal>currentSession()</literal>, by which the implementation is responsible for
tracking the current contextual session. Out-of-the-box, Hibernate comes with three
implementations of this interface:
</para>
<itemizedlist>
<listitem>
<para>
<literal>org.hibernate.context.internal.JTASessionContext</literal>: current sessions
are tracked and scoped by a <literal>JTA</literal> transaction. The processing
here is exactly the same as in the older JTA-only approach. See the Javadocs
for details.
</para>
</listitem>
<listitem>
<para>
<literal>org.hibernate.context.internal.ThreadLocalSessionContext</literal>:current
sessions are tracked by thread of execution. See the Javadocs for details.
</para>
</listitem>
<listitem>
<para>
<literal>org.hibernate.context.internal.ManagedSessionContext</literal>: current
sessions are tracked by thread of execution. However, you are responsible to
bind and unbind a <literal>Session</literal> instance with static methods
on this class: it does not open, flush, or close a <literal>Session</literal>.
</para>
</listitem>
</itemizedlist>
<para>
Typically, the value of this parameter would just name the implementation class to
use. For the three out-of-the-box implementations, however, there are three corresponding
short names: "jta", "thread", and "managed".
</para>
<para>
The first two implementations provide a "one session - one database transaction" programming
model. This is also known and used as <emphasis>session-per-request</emphasis>. The beginning
and end of a Hibernate session is defined by the duration of a database transaction.
If you use programmatic transaction demarcation in plain JSE without JTA, you are advised to
use the Hibernate <literal>Transaction</literal> API to hide the underlying transaction system
from your code. If you use JTA, you can utilize the JTA interfaces to demarcate transactions. If you
execute in an EJB container that supports CMT, transaction boundaries are defined declaratively
and you do not need any transaction or session demarcation operations in your code.
Refer to <xref linkend="transactions"/> for more information and code examples.
</para>
<para>
The <literal>hibernate.current_session_context_class</literal> configuration parameter
defines which <literal>org.hibernate.context.spi.CurrentSessionContext</literal> implementation
should be used. For backwards compatibility, if this configuration parameter is not set
but a <literal>org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform</literal> is configured,
Hibernate will use the <literal>org.hibernate.context.internal.JTASessionContext</literal>.
</para>
</section>
</chapter>

File diff suppressed because it is too large Load Diff

View File

@ -1620,6 +1620,8 @@ sess.flush();</programlisting>
<section xml:id="performance-monitoring" revision="1">
<title>Monitoring performance</title>
<!-- todo : document hibernate.session.events.log and SessionEventListener -->
<para>Optimization is not much use without monitoring and access to
performance numbers. Hibernate provides a full range of figures about its
internal operations. Statistics in Hibernate are available per

View File

@ -6,7 +6,7 @@
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<chapter xml:id="persistent-classes" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<chapter xml:id="persistent-classes" xmlns="http://docbook.org/ns/docbook">
<title>Persistent Classes</title>
<para>

View File

@ -0,0 +1,74 @@
<?xml version='1.0' encoding="UTF-8"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<preface xml:id="preface" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Preface</title>
<para>
Developing Object-Oriented software that deals with data from Relational Databases can be cumbersome and
resource consuming. Development costs are significantly higher due to a paradigm mismatch between how data is
represented in objects versus relational databases. Hibernate is an Object/Relational Mapping (ORM) solution
for Java environments. ORM refers to the technique of mapping data between an object model representation to
a relational data model representation. See
<link xlink:href="http://en.wikipedia.org/wiki/Object-relational_mapping">Wikipedia</link>
for a good high-level discussion. Also, Martin Fowler's
<link xlink:href="http://martinfowler.com/bliki/OrmHate.html">OrmHate</link> article takes a look at many of
the mentioned mismatch problems.
</para>
<para>
Although having a strong background in SQL is not required to use Hibernate, having a basic understanding of the
concepts can help you understand Hibernate more quickly and fully. An understanding of data modeling principles
is especially important. Both <link xlink:href="http://www.agiledata.org/essays/dataModeling101.html"/> and
<link xlink:href="http://en.wikipedia.org/wiki/Data_modeling"/> are good starting points for understanding these
data modeling principles.
</para>
<para>
Understanding the basics of transactions and design patterns such as "Unit of Work"<citation>PoEAA</citation>
or "ApplicationTransaction" are important as well. These topics will be discussed in the documentation, but
a prior understanding will certainly help.
</para>
<para>
Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to
SQL data types), but also provides data query and retrieval facilities. It can significantly reduce
development time otherwise spent with manual data handling in SQL and JDBC. Hibernates design goal is to
relieve the developer from 95% of common data persistence-related programming tasks by eliminating the need for
manual, hand-crafted data processing using SQL and JDBC. However, unlike many other persistence solutions,
Hibernate does not hide the power of SQL from you and guarantees that your investment in relational technology
and knowledge is as valid as always.
</para>
<para>
Hibernate may not be the best solution for data-centric applications that only use stored-procedures to
implement the business logic in the database, it is most useful with object-oriented domain models and business
logic in the Java-based middle-tier. However, Hibernate can certainly help you to remove or encapsulate
vendor-specific SQL code and will help with the common task of result set translation from a tabular
representation to a graph of objects.
</para>
<para>
See <link xlink:href="http://hibernate.org/orm/contribute/"/> for information on getting involved.
</para>
<tip>
<para>
This documentation is intended as a reference manual. As such, it is very detailed and great when you
know what to look for.
</para>
<para>
If you are just getting started with using Hibernate you may want to start with the
<citetitle pubwork="article">Hibernate Getting Started Guide</citetitle> available from the
<link xlink:href="http://hibernate.org/documentation">documentation page</link>. It contains quick-start
style tutorials as well as lots of introductory information. There is also a series of topical guides
providing deep dives into various topics.
</para>
</tip>
</preface>

View File

@ -6,7 +6,7 @@
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<chapter xml:id="queryhql" revision="1" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<chapter xml:id="queryhql" revision="1" xmlns="http://docbook.org/ns/docbook">
<title>HQL: The Hibernate Query Language</title>
<para>

View File

@ -6,7 +6,7 @@
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<chapter xml:id="querysql" revision="2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<chapter xml:id="querysql" revision="2" xmlns="http://docbook.org/ns/docbook">
<title>Native SQL</title>
<para>You can also express queries in the native SQL dialect of your

View File

@ -6,7 +6,7 @@
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<chapter xml:id="objectstate" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<chapter xml:id="objectstate" xmlns="http://docbook.org/ns/docbook">
<title>Working with objects</title>
<para>Hibernate is a full object/relational mapping solution that not only

View File

@ -6,7 +6,7 @@
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<chapter xml:id="toolsetguide" revision="2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<chapter xml:id="toolsetguide" revision="2" xmlns="http://docbook.org/ns/docbook">
<title>Toolset Guide</title>
<para>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,250 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
[
<!ATTLIST svg
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
]>
<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="248.031"
height="248.031"
id="svg1">
<defs
id="defs3">
<linearGradient
x1="0"
y1="0"
x2="1"
y2="0"
id="linearGradient127"
gradientUnits="objectBoundingBox"
spreadMethod="pad">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop128" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop129" />
</linearGradient>
<linearGradient
x1="0"
y1="0"
x2="1"
y2="0"
id="linearGradient130"
xlink:href="#linearGradient127"
gradientUnits="objectBoundingBox"
spreadMethod="pad" />
<radialGradient
cx="0.5"
cy="0.5"
fx="0.5"
fy="0.5"
r="0.5"
id="radialGradient131"
xlink:href="#linearGradient127"
gradientUnits="objectBoundingBox"
spreadMethod="pad" />
</defs>
<g
transform="matrix(0.771934,0,0,0.771934,4.36019,-3.02123)"
style="font-size:12;"
id="g158">
<rect
width="285.502"
height="77.2688"
x="16.6979"
y="17.3527"
style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
id="rect136" />
<rect
width="285.502"
height="77.2688"
x="14.7335"
y="15.3883"
transform="translate(-1.30962,-1.30992)"
style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
id="rect126" />
</g>
<g
transform="matrix(0.771934,0,0,0.771934,4.36019,3.04452)"
style="font-size:12;"
id="g161">
<rect
width="285.502"
height="118.523"
x="16.6979"
y="99.2053"
style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
id="rect137" />
<rect
width="285.502"
height="118.523"
x="13.4238"
y="95.9309"
style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
id="rect132" />
</g>
<g
transform="matrix(0.771934,0,0,0.771934,4.36019,8.0993)"
style="font-size:12;"
id="g164">
<rect
width="285.502"
height="77.2688"
x="16.6979"
y="222.966"
style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
id="rect138" />
<rect
width="285.502"
height="77.2688"
x="14.7335"
y="221.002"
transform="translate(-1.30962,-1.30992)"
style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
id="rect133" />
</g>
<g
transform="matrix(0.771934,0,0,0.543505,2.59104,21.1103)"
style="font-size:12;"
id="g167">
<rect
width="199.065"
height="61.5532"
x="61.8805"
y="68.4288"
style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
id="rect134" />
<rect
width="199.065"
height="61.5532"
x="59.2613"
y="65.8095"
style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
id="rect135" />
</g>
<text
x="105.392174"
y="56.568123"
transform="scale(0.771934,0.771934)"
style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
id="text183">
<tspan
x="105.392273"
y="56.568146"
id="tspan186">
Application</tspan>
</text>
<text
x="81.820183"
y="103.149330"
transform="scale(0.771934,0.771934)"
style="font-size:20;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
id="text188">
<tspan
x="81.820213"
y="103.149727"
id="tspan206">
Persistent Objects</tspan>
</text>
<text
x="111.548180"
y="278.927887"
transform="scale(0.771934,0.771934)"
style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
id="text197">
<tspan
x="111.547874"
y="278.927551"
id="tspan200">
Database</tspan>
</text>
<text
x="94.436180"
y="153.805740"
transform="scale(0.771934,0.771934)"
style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
id="text216">
<tspan
x="94.436180"
y="153.805740"
id="tspan221">
HIBERNATE</tspan>
</text>
<g
transform="matrix(0.771934,0,0,0.771934,2.59083,1.02261)"
style="font-size:12;"
id="g254">
<g
transform="translate(4.58374,2.61928)"
id="g176">
<g
transform="matrix(0.571429,0,0,0.67347,-10.6174,117.093)"
id="g170">
<rect
width="199.065"
height="61.5532"
x="61.8805"
y="68.4288"
style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
id="rect171" />
<rect
width="199.065"
height="61.5532"
x="59.2613"
y="65.8095"
style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
id="rect172" />
</g>
<g
transform="matrix(0.571429,0,0,0.67347,138.682,117.093)"
id="g173">
<rect
width="199.065"
height="61.5532"
x="61.8805"
y="68.4288"
style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
id="rect174" />
<rect
width="199.065"
height="61.5532"
x="59.2613"
y="65.8095"
style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
id="rect175" />
</g>
</g>
<text
x="47.259438"
y="182.367538"
style="font-weight:bold;stroke-width:1pt;font-family:Courier;"
id="text191">
<tspan
x="47.259399"
y="182.367996"
id="tspan212">
hibernate.</tspan>
<tspan
x="47.259399"
y="194.367996"
id="tspan214">
properties</tspan>
</text>
<text
x="198.523010"
y="188.260941"
style="font-weight:normal;stroke-width:1pt;font-family:helvetica;"
id="text194">
<tspan
id="tspan195">
XML Mapping</tspan>
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -1,313 +0,0 @@
# translation of Book_Info.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007, 2010 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Book_Info\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-12T00:03:45\n"
"PO-Revision-Date: 2010-01-10 09:33+1100\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#, no-c-format
msgid "HIBERNATE - Relational Persistence for Idiomatic Java"
msgstr ""
#. Tag: subtitle
#, fuzzy, no-c-format
msgid "Hibernate Reference Documentation"
msgstr "Hibernate Core Referenz-Handbuch"
#. Tag: releaseinfo
#, no-c-format
msgid "&version;"
msgstr ""
#~ msgid "The JBoss Hibernate Core 3.3.2.GA Reference Guide"
#~ msgstr "Das JBoss Hibernate Core 3.3.2.GA Referenz-Handbuch"
#~ msgid ""
#~ "by Gavin King, Christian Bauer, Max Rydahl Andersen, Emmanuel Bernard, "
#~ "and Steve Ebersole and thanks to James Cobb (Graphic Design) and Cheyenne "
#~ "Weaver (Graphic Design)"
#~ msgstr ""
#~ "von Gavin King, Christian Bauer, Max Rydahl Andersen, Emmanuel Bernard "
#~ "und Steve Ebersole. Wir danken auch James Cobb (Grafisches Design) und "
#~ "Cheyenne Weaver (Grafisches Design)"

View File

@ -1,315 +0,0 @@
# translation of Feedback.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007, 2010 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Feedback\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-12-03T00:15:25\n"
"PO-Revision-Date: 2010-01-11 10:23+1100\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#, no-c-format
msgid "Feedback"
msgstr "Feedback"
#. Tag: para
#, no-c-format
msgid ""
"If you spot a typo in this guide, or if you have thought of a way to make "
"this manual better, we would love to hear from you! Submit a report in "
"<ulink url=\"http://jira.jboss.com/jira/browse/JBPAPP\">JIRA</ulink> against "
"the Product: JBoss Enterprise Application Platform, Version: "
"<replaceable>&lt;version&gt;</replaceable>, Component: <emphasis>Doc</"
"emphasis>. If you have a suggestion for improving the documentation, try to "
"be as specific as possible. If you have found an error, include the section "
"number and some of the surrounding text so we can find it easily."
msgstr ""
"Falls SIe einen Tippfehler in diesem Handbuch finden oder eine Idee dazu haben "
"wie wir es verbessern können, so würden wir uns freuen, von Ihnen zu hören! "
"Machen Sie eine Meldung in "
"<ulink url=\"http://jira.jboss.com/jira/browse/JBPAPP\">JIRA</ulink> zum "
"Produkt: JBoss Enterprise Application Platform, Version: "
"<replaceable>&lt;version&gt;</replaceable>, Komponente: <emphasis>Doc</"
"emphasis>. Falls Sie einen Vorschlag zur Verbesserung der Dokumentation haben, "
"versuchen Sie bitte so genau wie möglich zu sein. Falls Sie einen Fehler finden, "
"informieren Sie uns bitte zur Nummer des Abschnitts und geben Sie einen Teil "
"des umgebenden Texts an, damit wir diesen leichter finden."

View File

@ -1,14 +0,0 @@
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-07-20 21:02+0000\n"
"PO-Revision-Date: 2010-02-11T05:38:14\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

View File

@ -1,29 +0,0 @@
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"POT-Creation-Date: 2010-02-11T05:38:14\n"
"PO-Revision-Date: 2010-02-11T05:38:14\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title
#, no-c-format
msgid "HIBERNATE - Relational Persistence for Idiomatic Java"
msgstr ""
#. Tag: subtitle
#, no-c-format
msgid "Hibernate Reference Documentation"
msgstr ""
#. Tag: releaseinfo
#, no-c-format
msgid "&versionNumber;"
msgstr ""

View File

@ -1,311 +0,0 @@
# translation of Revision_History.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007, 2010 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Revision_History\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-10T07:25:34\n"
"PO-Revision-Date: 2010-01-11 10:44+1100\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#, no-c-format
msgid "Revision History"
msgstr "Änderungsverzeichnis"
#. Tag: firstname
#, no-c-format
msgid "Ben"
msgstr ""
#. Tag: firstname
#, no-c-format
msgid "Jared"
msgstr ""
#. Tag: firstname
#, no-c-format
msgid "Richard"
msgstr ""
#. Tag: member
#, no-c-format
msgid "Merged with EAP5 and translations added"
msgstr "Mit EAP5 verbunden und Übersetzungen hinzugefügt"

View File

@ -1,227 +0,0 @@
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-07-20 21:02+0000\n"
"PO-Revision-Date: 2010-02-11T05:38:14\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: author
#: author_group.xml:28
#, no-c-format
msgid "<firstname>Gavin</firstname> <surname>King</surname>"
msgstr ""
#. Tag: author
#: author_group.xml:32
#, no-c-format
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
msgstr ""
#. Tag: author
#: author_group.xml:36
#, no-c-format
msgid ""
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
"surname>"
msgstr ""
#. Tag: author
#: author_group.xml:41
#, no-c-format
msgid ""
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
msgstr ""
#. Tag: author
#: author_group.xml:45
#, no-c-format
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>"
msgstr ""
#. Tag: author
#: author_group.xml:49
#, no-c-format
msgid "<firstname>Hardy</firstname> <surname>Ferentschik</surname>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:54
#, no-c-format
msgid "<firstname>James</firstname> <surname>Cobb</surname>"
msgstr ""
#. Tag: shortaffil
#: author_group.xml:58 author_group.xml:65
#, no-c-format
msgid "Graphic Design"
msgstr ""
#. Tag: othercredit
#: author_group.xml:61
#, no-c-format
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:74
#, no-c-format
msgid ""
"<othername><![CDATA[Bernardo Antonio Buffa Colom&#x00e9]]></othername> "
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:84
#, no-c-format
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:88
#, no-c-format
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:92
#, no-c-format
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:96
#, no-c-format
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:100
#, no-c-format
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:104
#, no-c-format
msgid ""
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
"othercredit>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:108
#, no-c-format
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:118
#, no-c-format
msgid ""
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
"<email>alvaronetto@cetip.com.br</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:123
#, no-c-format
msgid ""
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
"<email>andersonbraulio@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:128
#, no-c-format
msgid ""
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
"<email>danielvc@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:133
#, no-c-format
msgid ""
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
"gamarra@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:138
#, no-c-format
msgid ""
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:142
#, no-c-format
msgid ""
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:147
#, no-c-format
msgid ""
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
"castelo@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:152
#, no-c-format
msgid ""
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
"com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:157
#, no-c-format
msgid ""
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
"<email>pablolmiranda@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:162
#, no-c-format
msgid ""
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
"com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:167
#, no-c-format
msgid ""
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
"<email>rgildoaraujo@yahoo.com.br</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:172
#, no-c-format
msgid ""
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
"<email>wandersonxs@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:183
#, 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 ""

View File

@ -1,439 +0,0 @@
# Language de-DE translations for PACKAGE package.
# Automatically generated, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-07-20 21:02+0000\n"
"PO-Revision-Date: 2010-07-20 21:02+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
#: additionalmodules.xml:28
#, no-c-format
msgid "Additional modules"
msgstr ""
#. Tag: para
#: additionalmodules.xml:30
#, no-c-format
msgid ""
"Hibernate Core also offers integration with some external modules/projects. "
"This includes Hibernate Validator the reference implementation of Bean "
"Validation (JSR 303) and Hibernate Search."
msgstr ""
#. Tag: title
#: additionalmodules.xml:35
#, no-c-format
msgid "Bean Validation"
msgstr ""
#. Tag: para
#: additionalmodules.xml:37
#, no-c-format
msgid ""
"Bean Validation standardizes how to define and declare domain model level "
"constraints. You can, for example, express that a property should never be "
"null, that the account balance should be strictly positive, etc. These "
"domain model constraints are declared in the bean itself by annotating its "
"properties. Bean Validation can then read them and check for constraint "
"violations. The validation mechanism can be executed in different layers in "
"your application without having to duplicate any of these rules "
"(presentation layer, data access layer). Following the DRY principle, Bean "
"Validation and its reference implementation Hibernate Validator has been "
"designed for that purpose."
msgstr ""
#. Tag: para
#: additionalmodules.xml:48
#, no-c-format
msgid ""
"The integration between Hibernate and Bean Validation works at two levels. "
"First, it is able to check in-memory instances of a class for constraint "
"violations. Second, it can apply the constraints to the Hibernate metamodel "
"and incorporate them into the generated database schema."
msgstr ""
#. Tag: para
#: additionalmodules.xml:54
#, no-c-format
msgid ""
"Each constraint annotation is associated to a validator implementation "
"responsible for checking the constraint on the entity instance. A validator "
"can also (optionally) apply the constraint to the Hibernate metamodel, "
"allowing Hibernate to generate DDL that expresses the constraint. With the "
"appropriate event listener, you can execute the checking operation on "
"inserts, updates and deletes done by Hibernate."
msgstr ""
#. Tag: para
#: additionalmodules.xml:62
#, no-c-format
msgid ""
"When checking instances at runtime, Hibernate Validator returns information "
"about constraint violations in a set of <classname>ConstraintViolation</"
"classname>s. Among other information, the <classname>ConstraintViolation</"
"classname> contains an error description message that can embed the "
"parameter values bundle with the annotation (eg. size limit), and message "
"strings that may be externalized to a <classname>ResourceBundle</classname>."
msgstr ""
#. Tag: title
#: additionalmodules.xml:71
#, no-c-format
msgid "Adding Bean Validation"
msgstr ""
#. Tag: para
#: additionalmodules.xml:73
#, no-c-format
msgid ""
"To enable Hibernate's Bean Validation integration, simply add a Bean "
"Validation provider (preferably Hibernate Validation 4) on your classpath."
msgstr ""
#. Tag: title
#: additionalmodules.xml:79
#, no-c-format
msgid "Configuration"
msgstr ""
#. Tag: para
#: additionalmodules.xml:81
#, no-c-format
msgid "By default, no configuration is necessary."
msgstr ""
#. Tag: para
#: additionalmodules.xml:83
#, no-c-format
msgid ""
"The <classname>Default</classname> group is validated on entity insert and "
"update and the database model is updated accordingly based on the "
"<classname>Default</classname> group as well."
msgstr ""
#. Tag: para
#: additionalmodules.xml:87
#, no-c-format
msgid ""
"You can customize the Bean Validation integration by setting the validation "
"mode. Use the <literal>javax.persistence.validation.mode</literal> property "
"and set it up for example in your <filename>persistence.xml</filename> file "
"or your <filename>hibernate.cfg.xml</filename> file. Several options are "
"possible:"
msgstr ""
#. Tag: para
#: additionalmodules.xml:96
#, no-c-format
msgid ""
"<literal>auto</literal> (default): enable integration between Bean "
"Validation and Hibernate (callback and ddl generation) only if Bean "
"Validation is present in the classpath."
msgstr ""
#. Tag: para
#: additionalmodules.xml:102
#, no-c-format
msgid ""
"<literal>none</literal>: disable all integration between Bean Validation and "
"Hibernate"
msgstr ""
#. Tag: para
#: additionalmodules.xml:107
#, no-c-format
msgid ""
"<literal>callback</literal>: only validate entities when they are either "
"inserted, updated or deleted. An exception is raised if no Bean Validation "
"provider is present in the classpath."
msgstr ""
#. Tag: para
#: additionalmodules.xml:113
#, no-c-format
msgid ""
"<literal>ddl</literal>: only apply constraints to the database schema when "
"generated by Hibernate. An exception is raised if no Bean Validation "
"provider is present in the classpath. This value is not defined by the Java "
"Persistence spec and is specific to Hibernate."
msgstr ""
#. Tag: para
#: additionalmodules.xml:122
#, no-c-format
msgid ""
"You can use both <literal>callback</literal> and <literal>ddl</literal> "
"together by setting the property to <literal>callback, dll</literal>"
msgstr ""
#. Tag: programlisting
#: additionalmodules.xml:126
#, no-c-format
msgid ""
"&lt;persistence ...&gt;\n"
" &lt;persistence-unit ...&gt;\n"
" ...\n"
" &lt;properties&gt;\n"
" &lt;property name=\"javax.persistence.validation.mode\"\n"
" value=\"callback, ddl\"/&gt;\n"
" &lt;/properties&gt;\n"
" &lt;/persistence-unit&gt;\n"
"&lt;/persistence&gt;"
msgstr ""
#. Tag: para
#: additionalmodules.xml:128
#, no-c-format
msgid ""
"This is equivalent to <literal>auto</literal> except that if no Bean "
"Validation provider is present, an exception is raised."
msgstr ""
#. Tag: para
#: additionalmodules.xml:132
#, no-c-format
msgid ""
"If you want to validate different groups during insertion, update and "
"deletion, use:"
msgstr ""
#. Tag: para
#: additionalmodules.xml:137
#, no-c-format
msgid ""
"<literal>javax.persistence.validation.group.pre-persist</literal>: groups "
"validated when an entity is about to be persisted (default to "
"<classname>Default</classname>)"
msgstr ""
#. Tag: para
#: additionalmodules.xml:143
#, no-c-format
msgid ""
"<literal>javax.persistence.validation.group.pre-update</literal>: groups "
"validated when an entity is about to be updated (default to "
"<classname>Default</classname>)"
msgstr ""
#. Tag: para
#: additionalmodules.xml:149
#, no-c-format
msgid ""
"<literal>javax.persistence.validation.group.pre-remove</literal>: groups "
"validated when an entity is about to be deleted (default to no group)"
msgstr ""
#. Tag: para
#: additionalmodules.xml:155
#, no-c-format
msgid ""
"<literal>org.hibernate.validator.group.ddl</literal>: groups considered when "
"applying constraints on the database schema (default to <classname>Default</"
"classname>)"
msgstr ""
#. Tag: para
#: additionalmodules.xml:161
#, no-c-format
msgid ""
"Each property accepts the fully qualified class names of the groups "
"validated separated by a comma (,)"
msgstr ""
#. Tag: title
#: additionalmodules.xml:165
#, no-c-format
msgid "Using custom groups for validation"
msgstr ""
#. Tag: programlisting
#: additionalmodules.xml:167
#, no-c-format
msgid ""
"&lt;persistence ...&gt;\n"
" &lt;persistence-unit ...&gt;\n"
" ...\n"
" &lt;properties&gt;\n"
" &lt;property name=\"javax.persistence.validation.group.pre-update\"\n"
" value=\"javax.validation.group.Default, com.acme.group.Strict"
"\"/&gt;\n"
" &lt;property name=\"javax.persistence.validation.group.pre-remove\"\n"
" value=\"com.acme.group.OnDelete\"/&gt;\n"
" &lt;property name=\"org.hibernate.validator.group.ddl\"\n"
" value=\"com.acme.group.DDL\"/&gt;\n"
" &lt;/properties&gt;\n"
" &lt;/persistence-unit&gt;\n"
"&lt;/persistence&gt;"
msgstr ""
#. Tag: para
#: additionalmodules.xml:171
#, no-c-format
msgid ""
"You can set these properties in <filename>hibernate.cfg.xml</filename>, "
"<filename>hibernate.properties</filename> or programmatically."
msgstr ""
#. Tag: title
#: additionalmodules.xml:178
#, no-c-format
msgid "Catching violations"
msgstr ""
#. Tag: para
#: additionalmodules.xml:180
#, no-c-format
msgid ""
"If an entity is found to be invalid, the list of constraint violations is "
"propagated by the <classname>ConstraintViolationException</classname> which "
"exposes the set of <classname>ConstraintViolation</classname>s."
msgstr ""
#. Tag: para
#: additionalmodules.xml:185
#, no-c-format
msgid ""
"This exception is wrapped in a <classname>RollbackException</classname> when "
"the violation happens at commit time. Otherwise the "
"<classname>ConstraintViolationException</classname> is returned (for example "
"when calling <methodname>flush()</methodname>. Note that generally, "
"catchable violations are validated at a higher level (for example in Seam / "
"JSF 2 via the JSF - Bean Validation integration or in your business layer by "
"explicitly calling Bean Validation)."
msgstr ""
#. Tag: para
#: additionalmodules.xml:194
#, no-c-format
msgid ""
"An application code will rarely be looking for a "
"<classname>ConstraintViolationException</classname> raised by Hibernate. "
"This exception should be treated as fatal and the persistence context should "
"be discarded (<classname>EntityManager</classname> or <classname>Session</"
"classname>)."
msgstr ""
#. Tag: title
#: additionalmodules.xml:202
#, no-c-format
msgid "Database schema"
msgstr ""
#. Tag: para
#: additionalmodules.xml:204
#, no-c-format
msgid ""
"Hibernate uses Bean Validation constraints to generate an accurate database "
"schema:"
msgstr ""
#. Tag: para
#: additionalmodules.xml:209
#, no-c-format
msgid ""
"<classname>@NotNull</classname> leads to a not null column (unless it "
"conflicts with components or table inheritance)"
msgstr ""
#. Tag: para
#: additionalmodules.xml:214
#, no-c-format
msgid ""
"<classname>@Size.max</classname> leads to a <literal>varchar(max)</literal> "
"definition for Strings"
msgstr ""
#. Tag: para
#: additionalmodules.xml:219
#, no-c-format
msgid ""
"<classname>@Min</classname>, <classname>@Max</classname> lead to column "
"checks (like <code>value &lt;= max</code>)"
msgstr ""
#. Tag: para
#: additionalmodules.xml:224
#, no-c-format
msgid ""
"<classname>@Digits</classname> leads to the definition of precision and "
"scale (ever wondered which is which? It's easy now with <classname>@Digits</"
"classname> :) )"
msgstr ""
#. Tag: para
#: additionalmodules.xml:230
#, no-c-format
msgid ""
"These constraints can be declared directly on the entity properties or "
"indirectly by using constraint composition."
msgstr ""
#. Tag: para
#: additionalmodules.xml:233
#, no-c-format
msgid ""
"For more information check the Hibernate Validator <ulink url=\"http://docs."
"jboss.org/hibernate/stable/validator/reference/en-US/html/\">reference "
"documentation</ulink>."
msgstr ""
#. Tag: title
#: additionalmodules.xml:240
#, no-c-format
msgid "Hibernate Search"
msgstr ""
#. Tag: title
#: additionalmodules.xml:243
#, no-c-format
msgid "Description"
msgstr ""
#. Tag: para
#: additionalmodules.xml:245
#, no-c-format
msgid ""
"Full text search engines like <productname>Apache Lucene</productname> are a "
"very powerful technology to bring free text/efficient queries to "
"applications. If suffers several mismatches when dealing with a object "
"domain model (keeping the index up to date, mismatch between the index "
"structure and the domain model, querying mismatch...) Hibernate Search "
"indexes your domain model thanks to a few annotations, takes care of the "
"database / index synchronization and brings you back regular managed objects "
"from free text queries. Hibernate Search is using <ulink url=\"http://lucene."
"apache.org\">Apache Lucene</ulink> under the cover."
msgstr ""
#. Tag: title
#: additionalmodules.xml:258
#, no-c-format
msgid "Integration with Hibernate Annotations"
msgstr ""
#. Tag: para
#: additionalmodules.xml:260
#, no-c-format
msgid ""
"Hibernate Search integrates with Hibernate Core transparently provided that "
"the Hibernate Search jar is present on the classpath. If you do not wish to "
"automatically register Hibernate Search event listeners, you can set "
"<literal>hibernate.search.autoregister_listeners</literal> to false. Such a "
"need is very uncommon and not recommended."
msgstr ""
#. Tag: para
#: additionalmodules.xml:267
#, no-c-format
msgid ""
"Check the Hibernate Search <ulink url=\"http://docs.jboss.org/hibernate/"
"stable/search/reference/en-US/html/\">reference documentation</ulink> for "
"more information."
msgstr ""

View File

@ -1,959 +0,0 @@
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-07-21 05:38+0000\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#: architecture.xml:34
#, no-c-format
msgid "Architecture"
msgstr "Architektur"
#. Tag: title
#: architecture.xml:37
#, no-c-format
msgid "Overview"
msgstr "Übersicht"
#. Tag: para
#: architecture.xml:39
#, fuzzy, no-c-format
msgid ""
"The diagram below provides a high-level view of the Hibernate architecture:"
msgstr "Eine (sehr) hohe Ansicht der Hibernate-Architektur:"
#. Tag: para
#: architecture.xml:52
#, no-c-format
msgid ""
"Unfortunately we cannot provide a detailed view of all possible runtime "
"architectures. Hibernate is sufficiently flexible to be used in a number of "
"ways in many, many architectures. We will, however, illustrate 2 "
"specifically since they are extremes."
msgstr ""
#. Tag: title
#: architecture.xml:59
#, fuzzy, no-c-format
msgid "Minimal architecture"
msgstr "Architektur"
#. Tag: para
#: architecture.xml:61
#, fuzzy, no-c-format
msgid ""
"The \"minimal\" architecture has the application manage its own JDBC "
"connections and provide those connections to Hibernate; additionally the "
"application manages transactions for itself. This approach uses a minimal "
"subset of Hibernate APIs."
msgstr ""
"Wir würden gerne eine detaillierte Ansicht der Runtime-Architektur zeigen, "
"jedoch ist Hibernate leider flexibel und unterstützt mehrere "
"Vorgehensweisen. Daher erläutern wir hier die beiden Extreme. Bei der "
"\"abgespeckten\" Architektur liefert die Anwendung ihre eigenen JDBC-"
"Verbindungen und verwaltet ihre eigenen Transaktionen. Diese Vorgehensweise "
"verwendet einen minimalen Teilsatz der APIs von Hibernate:"
#. Tag: title
#: architecture.xml:77
#, no-c-format
msgid "Comprehensive architecture"
msgstr ""
#. Tag: para
#: architecture.xml:79
#, fuzzy, no-c-format
msgid ""
"The \"comprehensive\" architecture abstracts the application away from the "
"underlying JDBC/JTA APIs and allows Hibernate to manage the details."
msgstr ""
"Die \"vollständige\" Architektur zieht die Anwendung von den zu Grunde "
"liegenden JDBC/JTA APIs ab, so dass Hibernate sich um Details kümmern kann."
#. Tag: title
#: architecture.xml:94
#, no-c-format
msgid "Basic APIs"
msgstr ""
#. Tag: para
#: architecture.xml:95
#, no-c-format
msgid ""
"Here are quick discussions about some of the API objects depicted in the "
"preceding diagrams (you will see them again in more detail in later "
"chapters)."
msgstr ""
#. Tag: term
#: architecture.xml:100
#, fuzzy, no-c-format
msgid ""
"SessionFactory (<interfacename>org.hibernate.SessionFactory</interfacename>)"
msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
#. Tag: para
#: architecture.xml:102
#, fuzzy, no-c-format
msgid ""
"A thread-safe, immutable cache of compiled mappings for a single database. A "
"factory for <interfacename>org.hibernate.Session</interfacename> instances. "
"A client of <interfacename>org.hibernate.connection.ConnectionProvider</"
"interfacename>. Optionally maintains a <literal>second level cache</literal> "
"of data that is reusable between transactions at a process or cluster level."
msgstr ""
"Ein thread-sicheres (unveränderliches) Cache kompilierter Mappings für eine "
"einzelne Datenbank. Eine Factory für <literal>Session</literal> und ein "
"Client von <literal>ConnectionProvider</literal>. Kann über ein optionales "
"Datencache (zweite Ebene) verfügen, das zwischen Transaktionen "
"wiederverwendet werden kann, sei es auf Prozess- oder auch auf Cluster-Ebene."
#. Tag: term
#: architecture.xml:112
#, fuzzy, no-c-format
msgid "Session (<interfacename>org.hibernate.Session</interfacename>)"
msgstr "Session (<literal>org.hibernate.Session</literal>)"
#. Tag: para
#: architecture.xml:114
#, fuzzy, no-c-format
msgid ""
"A single-threaded, short-lived object representing a conversation between "
"the application and the persistent store. Wraps a JDBC <interfacename>java."
"sql.Connection</interfacename>. Factory for <interfacename>org.hibernate."
"Transaction</interfacename>. Maintains a <literal>first level cache</"
"literal> of persistent the application's persistent objects and collections; "
"this cache is used when navigating the object graph or looking up objects by "
"identifier."
msgstr ""
"Ein aus einem Thread bestehendes, kurzlebiges Objekt, dass einen Dialog "
"zwischen der Anwendung und dem persistenten Speicher repräsentiert. Wrappt "
"eine JDBC-Verbindung. Factory für <literal>Transaction</literal>. Enthält "
"einen obligatorischen Cachespeicher persistenter Objekte (auf erster Ebene), "
"die bei der Navigation des Objektgraphs oder bei der Suche nach Objekten "
"durch den Bezeichner verwendet werden."
#. Tag: term
#: architecture.xml:126
#, no-c-format
msgid "Persistent objects and collections"
msgstr "Persistente Objekte und Collections"
#. Tag: para
#: architecture.xml:128
#, fuzzy, no-c-format
msgid ""
"Short-lived, single threaded objects containing persistent state and "
"business function. These can be ordinary JavaBeans/POJOs. They are "
"associated with exactly one <interfacename>org.hibernate.Session</"
"interfacename>. Once the <interfacename>org.hibernate.Session</"
"interfacename> is closed, they will be detached and free to use in any "
"application layer (for example, directly as data transfer objects to and "
"from presentation). <xref linkend=\"objectstate\"/> discusses transient, "
"persistent and detached object states."
msgstr ""
"Kurzlebige, aus einem Thread bestehende Objekte, die persistenten Status und "
"Unternehmensfunktionen beinhalten. Dabei kann es sich um gewöhnliche "
"JavaBeans/POJOs handeln. Ihre Besonderheit besteht darin, dass sie zum "
"aktuellen Zeitpunkt mit (genau einer) <literal>Session</literal> verbunden "
"sind. Sobald die <literal>Session</literal> geschlossen wird, lösen sie sich "
"und können innerhalb jeder Anwendungsschicht (etwa als direkte "
"Datentransferobjekte einer Präsentation) verwendet werden."
#. Tag: term
#: architecture.xml:140
#, no-c-format
msgid "Transient and detached objects and collections"
msgstr "Temporäre und abgesetzte Objekte und Collections"
#. Tag: para
#: architecture.xml:142
#, fuzzy, no-c-format
msgid ""
"Instances of persistent classes that are not currently associated with a "
"<interfacename>org.hibernate.Session</interfacename>. They may have been "
"instantiated by the application and not yet persisted, or they may have been "
"instantiated by a closed <interfacename>org.hibernate.Session</"
"interfacename>. <xref linkend=\"objectstate\"/> discusses transient, "
"persistent and detached object states."
msgstr ""
"Instanzen persistenter Klassen, die zum aktuellen Zeitpunkt mit keiner "
"<literal>Session</literal> verbunden sind. Sie können von der Anwendung "
"instanziiert worden und (noch) nicht persistiert oder von einer "
"geschlossenen <literal>Session</literal> instanziiert worden sein."
#. Tag: term
#: architecture.xml:152
#, fuzzy, no-c-format
msgid "Transaction (<interfacename>org.hibernate.Transaction</interfacename>)"
msgstr "Transaktion (<literal>org.hibernate.Transaction</literal>)"
#. Tag: para
#: architecture.xml:154
#, fuzzy, no-c-format
msgid ""
"(Optional) A single-threaded, short-lived object used by the application to "
"specify atomic units of work. It abstracts the application from the "
"underlying JDBC, JTA or CORBA transaction. A <interfacename>org.hibernate."
"Session</interfacename> might span several <interfacename>org.hibernate."
"Transaction</interfacename>s in some cases. However, transaction "
"demarcation, either using the underlying API or <interfacename>org.hibernate."
"Transaction</interfacename>, is never optional."
msgstr ""
"(Optional) Ein aus einem Thread bestehendes, kurzlebiges Objekt, das von der "
"Anwendung zur Bestimmung elementarer Arbeitseinheiten verwendet wird. "
"Abstrahiert die Anwendung von der zu Grunde liegenden JDBC-, JTA- oder CORBA-"
"Transaktion. Eine <literal>Session</literal> kann manchmal mehrere "
"<literal>Transaction</literal>s umfassen. Transaktionsabgrenzung, ob unter "
"Verwendung der zu Grunde liegenden API oder <literal>Transaction</literal>, "
"ist jedoch nie optional!"
#. Tag: term
#: architecture.xml:165
#, fuzzy, no-c-format
msgid ""
"ConnectionProvider (<interfacename>org.hibernate.connection."
"ConnectionProvider</interfacename>)"
msgstr ""
"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
"literal>)"
#. Tag: para
#: architecture.xml:167
#, fuzzy, no-c-format
msgid ""
"(Optional) A factory for, and pool of, JDBC connections. It abstracts the "
"application from underlying <interfacename>javax.sql.DataSource</"
"interfacename> or <interfacename>java.sql.DriverManager</interfacename>. It "
"is not exposed to application, but it can be extended and/or implemented by "
"the developer."
msgstr ""
"(Optional) Eine Factory für (und ein Pool von) JDBC-Verbindungen. "
"Abstrahiert die Anwendung von der zu Grunde liegenden <literal>Datasource</"
"literal> oder <literal>DriverManager</literal>. Nicht der Anwendung "
"ausgesetzt, kann jedoch vom Entwickler erweitert/implementiert werden."
#. Tag: term
#: architecture.xml:176
#, fuzzy, no-c-format
msgid ""
"TransactionFactory (<interfacename>org.hibernate.TransactionFactory</"
"interfacename>)"
msgstr ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
#. Tag: para
#: architecture.xml:178
#, fuzzy, no-c-format
msgid ""
"(Optional) A factory for <interfacename>org.hibernate.Transaction</"
"interfacename> instances. It is not exposed to the application, but it can "
"be extended and/or implemented by the developer."
msgstr ""
"(Optional) Eine Factory für <literal>Transaction</literal>-Instanzen. Nicht "
"der Anwendung ausgesetzt, kann jedoch durch den Entwickler erweitert/"
"implementiert werden."
#. Tag: emphasis
#: architecture.xml:186
#, fuzzy, no-c-format
msgid "Extension Interfaces"
msgstr "Erweiterungsschnittstellen"
#. Tag: para
#: architecture.xml:188
#, fuzzy, no-c-format
msgid ""
"Hibernate offers a range of optional extension interfaces you can implement "
"to customize the behavior of your persistence layer. See the API "
"documentation for details."
msgstr ""
"Hibernate bietet zahlreiche optionale Erweiterungsschnittstellen zur "
"Implemetierung an, mit denen Sie das Verhalten Ihrer Persistenzschicht Ihren "
"individuellen Wünschen anpassen können. Weitere Informationen finden Sie in "
"der API-Dokumentation."
#. Tag: title
#: architecture.xml:200
#, no-c-format
msgid "JMX Integration"
msgstr "JMX-Integration"
#. Tag: para
#: architecture.xml:202
#, fuzzy, no-c-format
msgid ""
"JMX is the J2EE standard for the management of Java components. Hibernate "
"can be managed via a JMX standard service. AN MBean implementation is "
"provided in the distribution: <literal>org.hibernate.jmx.HibernateService</"
"literal>."
msgstr ""
"JMX ist der J2EE-Standard für das Management von Java-Komponenten. Hibernate "
"kann mittels eines JMX-Standardservice verwaltet werden. In der Distribution "
"wird ein MBean in <literal>org.hibernate.jmx.HibernateService</literal> "
"bereitgestellt."
#. Tag: para
#: architecture.xml:208
#, fuzzy, no-c-format
msgid ""
"Another feature available as a JMX service is runtime Hibernate statistics. "
"See <xref linkend=\"configuration-optional-statistics\"/> for more "
"information."
msgstr ""
"Ein weiteres, als JMX-Dienst verfügbares Feature sind Runtime Hibernate "
"Statistiken, siehe <xref linkend=\"configuration-optional-statistics\"/>."
#. Tag: title
#: architecture.xml:215
#, fuzzy, no-c-format
msgid "Contextual sessions"
msgstr "Kontextbezogene Sessions"
#. Tag: para
#: architecture.xml:216
#, fuzzy, no-c-format
msgid ""
"Most applications using Hibernate need some form of \"contextual\" session, "
"where a given session is in effect throughout the scope of a given context. "
"However, across applications the definition of what constitutes a context is "
"typically different; different contexts define different scopes to the "
"notion of current. Applications using Hibernate prior to version 3.0 tended "
"to utilize either home-grown <literal>ThreadLocal</literal>-based contextual "
"sessions, helper classes such as <literal>HibernateUtil</literal>, or "
"utilized third-party frameworks, such as Spring or Pico, which provided "
"proxy/interception-based contextual sessions."
msgstr ""
"Die meisten Hibernate verwendenen Anwendungen benötigen irgendeine Form von "
"\"kontextbezogenen\" Sessions (sog. \"contextual sessions\"), bei denen eine "
"bestimmte Session innerhalb des gesamten Gültigkeitsbereichs eines "
"bestimmten Kontextes gültig ist. Allerdings ist die Definition darüber, was "
"einen Kontext ausmacht in der Regel unterschiedlich, und unterschiedliche "
"Kontexte definieren unterschiedliche Gültigkeitsbereiche von aktuell. "
"Anwendungen, die eine frühere Version als Hibernate 3.0 verwenden, neigen "
"dazu Ihre eigenen <literal>ThreadLocal</literal>-basierten kontextbezogenen "
"Sessions zu benutzen, Helferklassen wie <literal>HibernateUtil</literal> "
"oder Rahmensysteme Dritter (wie Spring oder Pico), die Proxy/Interception-"
"basierte kontextbezogene Sessions bereitstellen."
#. Tag: para
#: architecture.xml:225
#, fuzzy, no-c-format
msgid ""
"Starting with version 3.0.1, Hibernate added the <literal>SessionFactory."
"getCurrentSession()</literal> method. Initially, this assumed usage of "
"<literal>JTA</literal> transactions, where the <literal>JTA</literal> "
"transaction defined both the scope and context of a current session. Given "
"the maturity of the numerous stand-alone <literal>JTA TransactionManager</"
"literal> implementations, most, if not all, applications should be using "
"<literal>JTA</literal> transaction management, whether or not they are "
"deployed into a <literal>J2EE</literal> container. Based on that, the "
"<literal>JTA</literal>-based contextual sessions are all you need to use."
msgstr ""
"Ab Version 3.0.1 verfügt Hibernate über eine <literal>SessionFactory."
"getCurrentSession()</literal>-Methode. Ursprünglich wurde dabei vom Gebrauch "
"der <literal>JTA</literal>-Transaktionen ausgegangen, bei denen die "
"<literal>JTA</literal>-Transaktion sowohl den Gültigkeitsbereich als auch "
"den Kontext einer aktuellen Session bestimmt. Das Hibernate-Team ist der "
"Ansicht, dass in Anbetracht der zahlreichen selbständigen <literal>JTA "
"TransactionManager</literal>-Implementierungen, die meisten (wenn nicht "
"alle) Anwendungen das <literal>JTA</literal>-Transaktionsmanagement "
"verwenden sollten - unabhängig davon, ob sie in einen <literal>J2EE</"
"literal>-Container deployt werden oder nicht. Davon ausgehend sind die "
"<literal>JTA</literal>-basierten, kontextbezogenen Sessions alles was Sie "
"benötigen dürften."
#. Tag: para
#: architecture.xml:235
#, fuzzy, no-c-format
msgid ""
"However, as of version 3.1, the processing behind <literal>SessionFactory."
"getCurrentSession()</literal> is now pluggable. To that end, a new extension "
"interface, <literal>org.hibernate.context.CurrentSessionContext</literal>, "
"and a new configuration parameter, <literal>hibernate."
"current_session_context_class</literal>, have been added to allow "
"pluggability of the scope and context of defining current sessions."
msgstr ""
"Seit Version 3.1 ist die Bearbeitung hinter <literal>SessionFactory."
"getCurrentSession()</literal> nun einbindbar. Eine neue "
"Erweiterungsschnittstelle (<literal>org.hibernate.context."
"CurrentSessionContext</literal>) sowie ein neuer Konfigurationsparameter "
"(<literal>hibernate.current_session_context_class</literal>) kamen hinzu, um "
"die Einbindbarkeit von dem die aktuelle Session definierenden "
"Gültigkeitsbereich und Kontext zu ermöglichen."
#. Tag: para
#: architecture.xml:242
#, fuzzy, no-c-format
msgid ""
"See the Javadocs for the <literal>org.hibernate.context."
"CurrentSessionContext</literal> interface for a detailed discussion of its "
"contract. It defines a single method, <literal>currentSession()</literal>, "
"by which the implementation is responsible for tracking the current "
"contextual session. Out-of-the-box, Hibernate comes with three "
"implementations of this interface:"
msgstr ""
"Weitere Informationen zu diesem Vertrag finden Sie in den Javadocs für das "
"<literal>org.hibernate.context.CurrentSessionContext</literal>-Interface. Es "
"wird eine einzelne Methode definiert <literal>currentSession()</literal>, "
"mit der die Implementierung für die Verfolgung der aktuellen "
"kontextbezogenen Session verantwortlich ist. Hibernate wird mit drei "
"Implementierungen dieses Interface geliefert."
#. Tag: para
#: architecture.xml:252
#, fuzzy, no-c-format
msgid ""
"<literal>org.hibernate.context.JTASessionContext</literal>: current sessions "
"are tracked and scoped by a <literal>JTA</literal> transaction. The "
"processing here is exactly the same as in the older JTA-only approach. See "
"the Javadocs for details."
msgstr ""
"<literal>org.hibernate.context.JTASessionContext</literal> - aktuelle "
"Sessions werden verfolgt und durch eine <literal>JTA</literal>-Transaktion "
"begrenzt. Die Bearbeitung läuft hier genauso wie bei der älteren, "
"ausschließlich mit JTA arbeitenden Vorgehensweise. Weitere Informationen "
"finden Sie in Javadocs."
#. Tag: para
#: architecture.xml:260
#, fuzzy, no-c-format
msgid ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal>:current "
"sessions are tracked by thread of execution. See the Javadocs for details."
msgstr ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - "
"aktuelle Sessions werden mittels Ausführungs-Thread verfolgt. Auch hierzu "
"finden Sie weitere Informationen in Javadocs."
#. Tag: para
#: architecture.xml:266
#, fuzzy, no-c-format
msgid ""
"<literal>org.hibernate.context.ManagedSessionContext</literal>: current "
"sessions are tracked by thread of execution. However, you are responsible to "
"bind and unbind a <literal>Session</literal> instance with static methods on "
"this class: it does not open, flush, or close a <literal>Session</literal>."
msgstr ""
"<literal>org.hibernate.context.ManagedSessionContext</literal> - aktuelle "
"Sessions werden mittels Ausführungs-Thread verfolgt. Allerdings müssen Sie "
"hier selbst eine <literal>Session</literal>-Instanz mit statischen Methoden "
"an diese Klasse binden, eine <literal>Session</literal> wird nie geöffnet, "
"geräumt oder geschlossen."
#. Tag: para
#: architecture.xml:275
#, fuzzy, no-c-format
msgid ""
"The first two implementations provide a \"one session - one database "
"transaction\" programming model. This is also known and used as "
"<emphasis>session-per-request</emphasis>. The beginning and end of a "
"Hibernate session is defined by the duration of a database transaction. If "
"you use programmatic transaction demarcation in plain JSE without JTA, you "
"are advised to use the Hibernate <literal>Transaction</literal> API to hide "
"the underlying transaction system from your code. If you use JTA, you can "
"utilize the JTA interfaces to demarcate transactions. If you execute in an "
"EJB container that supports CMT, transaction boundaries are defined "
"declaratively and you do not need any transaction or session demarcation "
"operations in your code. Refer to <xref linkend=\"transactions\"/> for more "
"information and code examples."
msgstr ""
"Die ersten beiden Implementierungen bieten ein \"eine Session - eine "
"Datenbanktransaktion\"-Programmiermodell, das auch als <emphasis>Session-per-"
"Request</emphasis> (\"Session pro Anfrage\") bekannt ist und verwendet wird. "
"Anfang und Ende einer Hibernate-Session werden durch die Dauer der "
"Datenbanktransaktion bestimmt. Falls Sie eine progammatische "
"Transaktionsabgrenzung in einfachem JSE ohne JTA verwenden, so empfehlen wir "
"die Verwendung der Hibernate <literal>Transaction</literal>-API, um das zu "
"Grunde liegende Transaktionssystem vor Ihrem Code zu verbergen. Falls Sie "
"JTA verwenden, so benutzen Sie die JTA-Schnittstellen um Transaktionen "
"abzugrenzen. Falls Sie einen EJB-Container ausführen, der CMT unterstützt, "
"sind die Transaktionsrahmen deklarativ definiert, und Sie benötigen in Ihrem "
"Code keine Transaktions- oder Sessionabgrenzungen. Weitere Informationen und "
"Code-Beispiele finden Sie unter <xref linkend=\"transactions\"/>."
#. Tag: para
#: architecture.xml:287
#, fuzzy, no-c-format
msgid ""
"The <literal>hibernate.current_session_context_class</literal> configuration "
"parameter defines which <literal>org.hibernate.context."
"CurrentSessionContext</literal> implementation should be used. For backwards "
"compatibility, if this configuration parameter is not set but a <literal>org."
"hibernate.transaction.TransactionManagerLookup</literal> is configured, "
"Hibernate will use the <literal>org.hibernate.context.JTASessionContext</"
"literal>. Typically, the value of this parameter would just name the "
"implementation class to use. For the three out-of-the-box implementations, "
"however, there are three corresponding short names: \"jta\", \"thread\", and "
"\"managed\"."
msgstr ""
"Der <literal>hibernate.current_session_context_class</literal> "
"Konfigurationsparameter definiert, welche <literal>org.hibernate.context."
"CurrentSessionContext</literal>-Implementierung verwendet wird. Bitte "
"beachten Sie, dass für Abwärtskompatibilität - falls dieser "
"Konfigurationsparameter nicht eingestellt, sondern <literal>org.hibernate."
"transaction.TransactionManagerLookup</literal> konfiguriert ist - Hibernate "
"<literal>org.hibernate.context.JTASessionContext</literal> verwendet. "
"Normalerweise benennt der Wert dieses Parameters lediglich die zu "
"verwendende Implementierungsklasse für die drei gelieferten "
"Implementierungen, jedoch existieren drei entsprechende Kurznamen \"jta\", "
"\"thread\" sowie \"managed\"."
#~ msgid "Instance states"
#~ msgstr "Instanzstatus"
#, fuzzy
#~ msgid ""
#~ "An instance of a persistent class can be in one of three different "
#~ "states. These states are defined in relation to a <emphasis>persistence "
#~ "context</emphasis>. The Hibernate <literal>Session</literal> object is "
#~ "the persistence context. The three different states are as follows:"
#~ msgstr ""
#~ "Der Status der Instanz einer persistenten Klasse kann drei Formen haben, "
#~ "die unter Berücksichtigung eines <emphasis>Persistenzkontexts</emphasis> "
#~ "(sog. \"Persistence Context\") definiert sind. Das Hibernate "
#~ "<literal>Session</literal>-Objekt ist der Persistenzkontext:"
#~ msgid "transient"
#~ msgstr "transient"
#, fuzzy
#~ msgid ""
#~ "The instance is not associated with any persistence context. It has no "
#~ "persistent identity or primary key value."
#~ msgstr ""
#~ "Die Instanz ist nicht (und war auch nie) mit einem Persistenzkontext "
#~ "assoziiert. Sie besitzt keine persistente Identität (Wert des primären "
#~ "Kernbegriffs)."
#~ msgid "persistent"
#~ msgstr "persistent"
#, fuzzy
#~ msgid ""
#~ "The instance is currently associated with a persistence context. It has a "
#~ "persistent identity (primary key value) and can have a corresponding row "
#~ "in the database. For a particular persistence context, Hibernate "
#~ "<emphasis>guarantees</emphasis> that persistent identity is equivalent to "
#~ "Java identity in relation to the in-memory location of the object."
#~ msgstr ""
#~ "Die Instanz wird zum aktuellen Zeitpunkt mit einem Persistenzkontext "
#~ "assoziiert. Sie besitzt eine persistente Identität (Wert des primären "
#~ "Kernbegriffs) und möglicherweise eine korrespondierende Reihe in der "
#~ "Datenbank. Für einen bestimmten Persistenzkontext <emphasis>garantiert</"
#~ "emphasis> Hibernate, dass die persistente Identität äquivalent zur Java "
#~ "Identität (Speicherstelle des Objekts) ist."
#~ msgid "detached"
#~ msgstr "detached (\"abgesetzt\")"
#, fuzzy
#~ msgid ""
#~ "The instance was once associated with a persistence context, but that "
#~ "context was closed, or the instance was serialized to another process. It "
#~ "has a persistent identity and can have a corresponding row in the "
#~ "database. For detached instances, Hibernate does not guarantee the "
#~ "relationship between persistent identity and Java identity."
#~ msgstr ""
#~ "Die Instanz war vormals mit einem Persistenzkontext assoziiert, aber der "
#~ "Kontext wurde geschlossen oder die Instanz in einem anderen Vorgang "
#~ "serialisiert. Sie besitzt eine persistente Identität und möglicherweise "
#~ "eine korrespondierende Reihe in der Datenbank. Für Instanzen im "
#~ "abgesetzten Status (\"detached\") garantiert Hibernate keine Verbindung "
#~ "zwischen persistenter Identität und Java-Identität."
#, fuzzy
#~ msgid ""
#~ "We do not have the scope in this document to provide a more detailed view "
#~ "of all the runtime architectures available; Hibernate is flexible and "
#~ "supports several different approaches. We will, however, show the two "
#~ "extremes: \"minimal\" architecture and \"comprehensive\" architecture."
#~ msgstr ""
#~ "Wir würden gerne eine detaillierte Ansicht der Runtime-Architektur "
#~ "zeigen, jedoch ist Hibernate leider flexibel und unterstützt mehrere "
#~ "Vorgehensweisen. Daher erläutern wir hier die beiden Extreme. Bei der "
#~ "\"abgespeckten\" Architektur liefert die Anwendung ihre eigenen JDBC-"
#~ "Verbindungen und verwaltet ihre eigenen Transaktionen. Diese "
#~ "Vorgehensweise verwendet einen minimalen Teilsatz der APIs von Hibernate:"
#, fuzzy
#~ msgid ""
#~ "This next diagram illustrates how Hibernate utilizes database and "
#~ "configuration data to provide persistence services, and persistent "
#~ "objects, to the application."
#~ msgstr ""
#~ "Dieses Diagram zeigt, wie Hibernate die Datenbank und die "
#~ "Konfigurationsdaten verwendet, um Persistenzdienste (und persistente "
#~ "Objekte) für die Anwendung zu liefern."
#, fuzzy
#~ msgid "Here are some definitions of the objects depicted in the diagrams:"
#~ msgstr ""
#~ "Nachfolgend sehen Sie einige Definitionen von Objekten innerhalb der "
#~ "Diagramme:"
#, fuzzy
#~ msgid ""
#~ "Given a \"minimal\" architecture, the application bypasses the "
#~ "<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/"
#~ "or <literal>ConnectionProvider</literal> APIs to communicate with JTA or "
#~ "JDBC directly."
#~ msgstr ""
#~ "Bei einer \"abgespeckten\" Architektur umgeht die Anwendung "
#~ "<literal>Transaction</literal>/<literal>TransactionFactory</literal> und/"
#~ "oder <literal>ConnectionProvider</literal> APIs kommunizieren direkt mit "
#~ "JTA oder JDBC."
#, fuzzy
#~ msgid ""
#~ "For an example of how to deploy Hibernate as a JMX service on the JBoss "
#~ "Application Server, please see the JBoss User Guide. JBoss AS also "
#~ "provides these benefits if you deploy using JMX:"
#~ msgstr ""
#~ "Ein Beispiel wie Hibernate als ein JMX-Dienst auf dem JBoss "
#~ "Applikationsserver ausgeführt wird, finden Sie im JBoss Benutzerhandbuch. "
#~ "Auf dem JBoss AS genießen Sie die gleichen Vorteile, wenn Sie JMX "
#~ "verwenden:"
#, fuzzy
#~ msgid ""
#~ "<emphasis>Session Management</emphasis>: the Hibernate <literal>Session</"
#~ "literal>'s life cycle can be automatically bound to the scope of a JTA "
#~ "transaction. This means that you no longer have to manually open and "
#~ "close the <literal>Session</literal>; this becomes the job of a JBoss EJB "
#~ "interceptor. You also do not have to worry about transaction demarcation "
#~ "in your code (if you would like to write a portable persistence layer use "
#~ "the optional Hibernate <literal>Transaction</literal> API for this). You "
#~ "call the <literal>HibernateContext</literal> to access a "
#~ "<literal>Session</literal>."
#~ msgstr ""
#~ "<emphasis>Session Management:</emphasis> Der Lebenszyklus der Hibernate "
#~ "<literal>Session</literal> kann automatisch an den Gültigkeitsbereich "
#~ "einer JTA-Transaktion gebunden werden. Das bedeutet, dass Sie die "
#~ "<literal>Session</literal> nicht mehr manuell öffnen und schließen "
#~ "müssen, da diese Aufgabe von einem JBoss EJB-Interzeptor übernommen wird. "
#~ "Sie müssen sich auch nicht um die Transaktionsabgrenzung in Ihrem Code "
#~ "kümmern (außer natürlich Sie möchten eine übertragbare Persistenzschicht "
#~ "schreiben, in welchem Fall Sie die optionale Hibernate "
#~ "<literal>Transaction</literal>-API verwenden). Sie rufen den "
#~ "<literal>HibernateContext</literal> auf, um auf eine <literal>Session</"
#~ "literal> zuzugreifen."
#, fuzzy
#~ msgid ""
#~ "<emphasis>HAR deployment</emphasis>: the Hibernate JMX service is "
#~ "deployed using a JBoss service deployment descriptor in an EAR and/or SAR "
#~ "file, as it supports all the usual configuration options of a Hibernate "
#~ "<literal>SessionFactory</literal>. However, you still need to name all "
#~ "your mapping files in the deployment descriptor. If you use the optional "
#~ "HAR deployment, JBoss will automatically detect all mapping files in your "
#~ "HAR file."
#~ msgstr ""
#~ "<emphasis>HAR-Deployment:</emphasis> In der Regel führen Sie den "
#~ "Hibernate JMX-Dienst unter Verwendung eines JBoss Service Deployment-"
#~ "Deskriptors (in einer EAR- und/oder SAR-Datei) aus. Dabei werden die "
#~ "üblichen Konfigurationsoptionen einer Hibernate <literal>SessionFactory</"
#~ "literal> unterstützt. Sie müssen jedoch noch alle Ihre Mapping-Dateien im "
#~ "Deployment-Deskriptor benennen. Falls Sie sich für die Benutzung des "
#~ "optionalen HAR-Deployments entscheiden, wird JBoss automatisch sämtliche "
#~ "Mapping-Dateien in Ihrer HAR-Datei auffinden."
#~ msgid ""
#~ "Consult the JBoss AS user guide for more information about these options."
#~ msgstr ""
#~ "Weitere Informationen zu diesen Optionen finden Sie im JBoss AS "
#~ "Benutzerhandbuch."
#~ msgid "JCA Support"
#~ msgstr "JCA-Support"
#, fuzzy
#~ msgid ""
#~ "Hibernate can also be configured as a JCA connector. Please see the "
#~ "website for more information. Please note, however, that at this stage "
#~ "Hibernate JCA support is under development."
#~ msgstr ""
#~ "Hibernate kann auch als ein JCA-Konnektor konfiguriert werden. Weitere "
#~ "Informationen dazu finden Sie auf der Website. Bitte beachten Sie, dass "
#~ "der Hibernate JCA-Support noch als experimentell gilt."

View File

@ -1,984 +0,0 @@
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#, no-c-format
msgid "Batch processing"
msgstr "Batch-Verarbeitung"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"A naive approach to inserting 100,000 rows in the database using Hibernate "
"might look like this:"
msgstr ""
"Eine unkomplizierte Einfügung von 100.000 Reihen in die Datenbank mittels "
"Hibernate könnte wie folgt aussehen:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"This would fall over with an <literal>OutOfMemoryException</literal> "
"somewhere around the 50,000th row. That is because Hibernate caches all the "
"newly inserted <literal>Customer</literal> instances in the session-level "
"cache. In this chapter we will show you how to avoid this problem."
msgstr ""
"Dies würde mit der Ausnahme <literal>OutOfMemoryException</literal> irgendwo "
"um die 50.000ste Reihe herum kippen, da Hibernate alle neu eingefügten "
"<literal>Customer</literal>-Instanzen im Cache der Session-Ebene speichert."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"If you are undertaking batch processing you will need to enable the use of "
"JDBC batching. This is absolutely essential if you want to achieve optimal "
"performance. Set the JDBC batch size to a reasonable number (10-50, for "
"example):"
msgstr ""
"In diesem Kapitel wollen wir Ihnen zeigen, wie dieses Problem vermieden "
"werden kann. Zunächst jedoch muss bei der Verwendung von Batch-Verarbeitung "
"(auch: Stapelverarbeitung) die Einstellung \"JDBC-Batching\" aktiviert sein, "
"falls eine zufriedenstellende Leistung erzielt werden soll. Die Größe des "
"JDBC-Batch (m.a.W. die Stapelgröße) sollte dabei sinnvoll gewählt sein (z.B. "
"10-50):"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate disables insert batching at the JDBC level transparently if you "
"use an <literal>identity</literal> identifier generator."
msgstr ""
"Bitte beachten Sie, dass Hibernate das Einfügungs-Batching auf JDBC-Ebene "
"transparent deaktiviert, falls Sie einen <literal>identiy</literal> "
"Bezeichner-Generator verwenden."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"You can also do this kind of work in a process where interaction with the "
"second-level cache is completely disabled:"
msgstr ""
"Sie können diesen Vorgang auch durchführen, wenn das Cache der zweiten Ebene "
"vollständig deaktiviert ist:"
#. Tag: para
#, no-c-format
msgid ""
"However, this is not absolutely necessary, since we can explicitly set the "
"<literal>CacheMode</literal> to disable interaction with the second-level "
"cache."
msgstr ""
"Dies ist jedoch nicht unbedingt erforderlich, da der <literal>CacheMode</"
"literal> so eingestellt werden kann, dass die Interaktion mit dem Cache der "
"zweiten Ebene deaktiviert ist."
#. Tag: title
#, no-c-format
msgid "Batch inserts"
msgstr "Batch-Einfügungen (\"Batch-Inserts\")"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"When making new objects persistent <literal>flush()</literal> and then "
"<literal>clear()</literal> the session regularly in order to control the "
"size of the first-level cache."
msgstr ""
"Werden neue Objekte persistent gemacht, so muss in der Session regelmäßig "
"<literal>flush()</literal> und anschließend <literal>clear()</literal> "
"erfolgen, um die Größe des Caches der ersten Ebene zu kontrollieren."
#. Tag: title
#, no-c-format
msgid "Batch updates"
msgstr "Batch-Aktualisierungen"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"For retrieving and updating data, the same ideas apply. In addition, you "
"need to use <literal>scroll()</literal> to take advantage of server-side "
"cursors for queries that return many rows of data."
msgstr ""
"Beim Abruf und der Aktualisierung von Daten gilt dasselbe. Desweiteren "
"müssen Sie hier <literal>scroll()</literal> verwenden, um für Anfragen, die "
"mit zahlreichen Datenreihen reagieren, die Vorteile des Cursors auf "
"Serverseite auszunutzen."
#. Tag: title
#, no-c-format
msgid "The StatelessSession interface"
msgstr "Das Interface der StatelessSession"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Alternatively, Hibernate provides a command-oriented API that can be used "
"for streaming data to and from the database in the form of detached objects. "
"A <literal>StatelessSession</literal> has no persistence context associated "
"with it and does not provide many of the higher-level life cycle semantics. "
"In particular, a stateless session does not implement a first-level cache "
"nor interact with any second-level or query cache. It does not implement "
"transactional write-behind or automatic dirty checking. Operations performed "
"using a stateless session never cascade to associated instances. Collections "
"are ignored by a stateless session. Operations performed via a stateless "
"session bypass Hibernate's event model and interceptors. Due to the lack of "
"a first-level cache, Stateless sessions are vulnerable to data aliasing "
"effects. A stateless session is a lower-level abstraction that is much "
"closer to the underlying JDBC."
msgstr ""
"Alternativ bietet Hibernate ein befehlsorientiertes API, das in Form von "
"abgesetzten Objekten für das Streaming von Daten von und zur Datenbank "
"verwendet werden kann. Eine <literal>StatelessSession</literal> verfügt "
"nicht über einen mit ihr assozierten Persistenzkontext und bietet nicht viel "
"von der Lebenszyklus-Semantik der höheren Ebene. Insbesondere implementiert "
"eine \"stateless Session\" weder ein Cache auf erster Ebene noch interagiert "
"sie mit irgendeinem Anfragen-Cache oder Cache der zweiten Ebene. Es werden "
"weder transaktionales Hinterher-Speichern noch automatisches \"Dirty-Checking"
"\" (auf vorherigen Zugriff) implementiert. Vorgänge, die unter Verwendung "
"einer stateless Session erfolgen, werden nie an zugehörige Instanzen "
"weitergeleitet. Collections werden von einer stateless Session ebenfalls "
"übergangen. Vorgänge, die unter Verwendung einer stateless Session erfolgen, "
"umgehen außerdem Hibernates Ereignismodell und Interzeptoren. Es kann in "
"stateless Sessions außerdem zu Datenverfälschungen (sog. \"Data Aliasing\") "
"kommen, da ein Cache auf erster Ebene fehlt. Eine stateless Session ist eine "
"Abstraktion auf niedrigerer Ebene, wesentlich näher an der zu Grunde "
"liegenden JDBC."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"In this code example, the <literal>Customer</literal> instances returned by "
"the query are immediately detached. They are never associated with any "
"persistence context."
msgstr ""
"Bitte beachten Sie, dass in diesem Code-Beispiel die durch die Anfrage "
"erstellten <literal>Customer</literal>-Instanzen sofort abgesetzt werden. "
"Sie werden zu keinem Zeitpunkt mit einem Persistenzkontext assoziiert."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The <literal>insert(), update()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>StatelessSession</literal> interface are "
"considered to be direct database row-level operations. They result in the "
"immediate execution of a SQL <literal>INSERT, UPDATE</literal> or "
"<literal>DELETE</literal> respectively. They have different semantics to the "
"<literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>Session</literal> interface."
msgstr ""
"Die vom <literal>StatelessSession</literal>-Interface definierten "
"<literal>insert(), update()</literal> und <literal>delete()</literal> "
"Vorgänge werden als direkte Datenbankvorgänge auf Reihenebene angesehen, die "
"eine sofortige Ausführung einer SQL <literal>INSERT, UPDATE</literal> bzw. "
"<literal>DELETE</literal> mit sich bringen. Sie besitzen daher eine andere "
"Semantik als <literal>save(), saveOrUpdate()</literal> und <literal>delete()"
"</literal>-Vorgänge, die durch das <literal>Session</literal>-Interface "
"definiert werden."
#. Tag: title
#, no-c-format
msgid "DML-style operations"
msgstr "Vorgänge im DML-Stil"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"As already discussed, automatic and transparent object/relational mapping is "
"concerned with the management of the object state. The object state is "
"available in memory. This means that manipulating data directly in the "
"database (using the SQL <literal>Data Manipulation Language</literal> (DML) "
"the statements: <literal>INSERT</literal>, <literal>UPDATE</literal>, "
"<literal>DELETE</literal>) will not affect in-memory state. However, "
"Hibernate provides methods for bulk SQL-style DML statement execution that "
"is performed through the Hibernate Query Language (<link linkend=\"queryhql"
"\">HQL</link>)."
msgstr ""
"Wie bereits erläutert, hängt das automatische und transparente "
"objektrelationale Mapping mit dem Management des Objektstatus zusammen. Das "
"bedeutet, dass der Objektstatus im Speicher verfügbar ist, weswegen (unter "
"Verwendung der SQL <literal>Data Manipulation Language</literal> (DML) "
"Anweisungen: <literal>INSERT</literal>, <literal>UPDATE</literal>, "
"<literal>DELETE</literal>) Daten direkt in der Datenbank den gespeicherten "
"Status nicht manipulieren.Hibernate bietet jedoch Methoden für die "
"Massenausführung von DML-Anweisungen im SQL-Stil, was durch die Hibernate "
"Query Language (<xref linkend=\"queryhql\"/>) erfolgt."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</"
"literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
"where_conditions)?</literal>."
msgstr ""
"Die Pseudo-Syntax für <literal>UPDATE</literal> und <literal>DELETE</"
"literal>-Anweisungen lautet: <literal>( UPDATE | DELETE ) FROM? EntityName "
"(WHERE where_conditions)?</literal>. Hierzu einige wichtige Punkte:"
#. Tag: para
#, no-c-format
msgid "Some points to note:"
msgstr ""
#. Tag: para
#, no-c-format
msgid "In the from-clause, the FROM keyword is optional"
msgstr "In der \"from\"-Klausel, ist der \"FROM\"-Schlüsselbegriff optional"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"There can only be a single entity named in the from-clause. It can, however, "
"be aliased. If the entity name is aliased, then any property references must "
"be qualified using that alias. If the entity name is not aliased, then it is "
"illegal for any property references to be qualified."
msgstr ""
"In der \"from\"-Klausel kann nur eine einzelne Entity genannt werden; sie "
"kann optional auch einen Alias-Namen tragen. Falls der Name der Entity ein "
"Alias ist, müssen sämtliche Property-Verweise unter Verwendung dieses Alias "
"qualifiziert sein. Ist dies nicht der Fall, so ist es unzulässig Property-"
"Verweise zu qualifizieren."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"No <link linkend=\"queryhql-joins-forms\">joins</link>, either implicit or "
"explicit, can be specified in a bulk HQL query. Sub-queries can be used in "
"the where-clause, where the subqueries themselves may contain joins."
msgstr ""
"Kein <xref linkend=\"queryhql-joins-forms\"/> (weder implizit noch explizit) "
"kann in einer Massen-HQL-Anfrage spezifiziert werden. Unteranfragen (sog. "
"\"Subqueries\") können in der \"where\"-Klausel verwendet werden; die "
"Unteranfragen selbst können Verbünde (sog. \"Joins\") enthalten."
#. Tag: para
#, no-c-format
msgid "The where-clause is also optional."
msgstr "Die \"where\"-Klausel ist ebenfalls optional."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"As an example, to execute an HQL <literal>UPDATE</literal>, use the "
"<literal>Query.executeUpdate()</literal> method. The method is named for "
"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</"
"literal>:"
msgstr ""
"Um zum Beispiel HQL <literal>UPDATE</literal> auszuführen, verwenden Sie die "
"<literal>Query.executeUpdate()</literal>-Methode (die Methode wird für "
"diejenigen genannt, die mit JDBCs <literal>PreparedStatement.executeUpdate()"
"</literal>) vertraut sind:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"In keeping with the EJB3 specification, HQL <literal>UPDATE</literal> "
"statements, by default, do not effect the <link linkend=\"mapping-"
"declaration-version\">version</link> or the <link linkend=\"mapping-"
"declaration-timestamp\">timestamp</link> property values for the affected "
"entities. However, you can force Hibernate to reset the <literal>version</"
"literal> or <literal>timestamp</literal> property values through the use of "
"a <literal>versioned update</literal>. This is achieved by adding the "
"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> "
"keyword."
msgstr ""
"HQL <literal>UPDATE</literal>-Anweisungen haben standardmäßig keinen "
"Einfluss auf die <xref linkend=\"mapping-declaration-version\"/>-Version "
"oder die <xref linkend=\"mapping-declaration-timestamp\"/>-Zeitstempel-"
"Property-Werte der betreffenden Entities; dies erfolgt in Übereinstimmung "
"mit der EJB3-Spezifikation. Sie können Hibernate jedoch zwingen, die "
"<literal>version</literal> oder <literal>timestamp</literal> Property-Werte "
"ordnungsgemäß zurückzusetzen, indem Sie ein <literal>versioned update</"
"literal> verwenden. Dies geschieht durch Hinzufügen des <literal>VERSIONED</"
"literal>-Schlüsselbegriffs hinter dem <literal>UPDATE</literal>-"
"Schlüsselbegriff."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Custom version types, <literal>org.hibernate.usertype.UserVersionType</"
"literal>, are not allowed in conjunction with a <literal>update versioned</"
"literal> statement."
msgstr ""
"Bitte beachten Sie, dass angepasste Versionstypen (<literal>org.hibernate."
"usertype.UserVersionType</literal>) nicht in Verbindung mit einer "
"<literal>update versioned</literal>-Anweisung erlaubt sind."
#. Tag: para
#, no-c-format
msgid ""
"To execute an HQL <literal>DELETE</literal>, use the same <literal>Query."
"executeUpdate()</literal> method:"
msgstr ""
"Um HQL <literal>DELETE</literal>auszuführen, verwenden Sie dieselbe "
"<literal>Query.executeUpdate()</literal>-Methode:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The <literal>int</literal> value returned by the <literal>Query.executeUpdate"
"()</literal> method indicates the number of entities effected by the "
"operation. This may or may not correlate to the number of rows effected in "
"the database. An HQL bulk operation might result in multiple actual SQL "
"statements being executed (for joined-subclass, for example). The returned "
"number indicates the number of actual entities affected by the statement. "
"Going back to the example of joined-subclass, a delete against one of the "
"subclasses may actually result in deletes against not just the table to "
"which that subclass is mapped, but also the \"root\" table and potentially "
"joined-subclass tables further down the inheritance hierarchy."
msgstr ""
"Der durch die <literal>Query.executeUpdate()</literal>-Methode erhaltene "
"<literal>int</literal>-Wert gibt die Anzahl der durch den Vorgang "
"betroffenen Entities an. Beachten Sie, dass dies mit der Anzahl der "
"betroffenen Datenbankreihen korrelieren kann oder auch nicht. Ein HQL-"
"Massenvorgang kann in der Ausführung mehrerer tatsächlicher SQL-Anweisungen "
"resultieren, etwa für verbundene Subklassen. Die erhaltene Zahl gibt die "
"Anzahl tatsächlicher Entities an, die von der Anweisung betroffen sind. Um "
"auf das Beispiel der verbundenen Subklassen zurückzukommen - eine der "
"Subklassen betreffende Löschung kann zu Löschungen nicht nur der Tabelle, zu "
"der diese Subklasse gemappt ist, sondern auch zur \"Root\"-Tabelle und "
"möglicherweise verbundenen Subklassentabellen führen, die in der "
"Vererbungshierarchie weiter unten angesiedelt sind."
#. Tag: para
#, no-c-format
msgid ""
"The pseudo-syntax for <literal>INSERT</literal> statements is: "
"<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
"Some points to note:"
msgstr ""
"Die Pseudo-Syntax für <literal>INSERT</literal>-Anweisungen lautet: "
"<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
"Hierzu einige wichtige Punkte:"
#. Tag: para
#, no-c-format
msgid ""
"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
"INTO ... VALUES ... form."
msgstr ""
"Nur INSERT INTO ... SELECT ... wird unterstützt, nicht jedoch INSERT "
"INTO ... VALUES ...."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The properties_list is analogous to the <literal>column specification</"
"literal> in the SQL <literal>INSERT</literal> statement. For entities "
"involved in mapped inheritance, only properties directly defined on that "
"given class-level can be used in the properties_list. Superclass properties "
"are not allowed and subclass properties do not make sense. In other words, "
"<literal>INSERT</literal> statements are inherently non-polymorphic."
msgstr ""
"Die properties_list ist analog zur <literal>column speficiation</literal> in "
"der SQL <literal>INSERT</literal>-Anweisung. Für in gemappte Vererbung "
"involvierte Entities können nur Properties verwendet werden, die direkt auf "
"dieser bestimmten Klassenebene in der properties_list definiert sind. "
"Superklassen-Properties sind nicht gestattet und Subklassen-Properties "
"machen keinen Sinn. Mit anderen Worten <literal>INSERT</literal>-Anweisungen "
"sind inhärent nicht-polymorph."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"select_statement can be any valid HQL select query, with the caveat that the "
"return types must match the types expected by the insert. Currently, this is "
"checked during query compilation rather than allowing the check to relegate "
"to the database. This might, however, cause problems between Hibernate "
"<literal>Type</literal>s which are <emphasis>equivalent</emphasis> as "
"opposed to <emphasis>equal</emphasis>. This might cause issues with "
"mismatches between a property defined as a <literal>org.hibernate.type."
"DateType</literal> and a property defined as a <literal>org.hibernate.type."
"TimestampType</literal>, even though the database might not make a "
"distinction or might be able to handle the conversion."
msgstr ""
"Ein select_statement kann jede gültige HQL-Auswahlanfrage sein, mit dem "
"Vorbehalt, dass Rückmeldungstypen mit den durch die Einfügung erwarteten "
"Typen übereinstimmen müssen. Derzeit wird dies während der "
"Anfragenkompilierung statt beim Rückverweis auf die Datenbank geprüft. Bitte "
"beachten Sie, dass dies zu Problemen zwischen Hibernate <literal>Type</"
"literal>en, die <emphasis>äquivalent</emphasis> und nicht <emphasis>gleich</"
"emphasis> sind, führen kann. Es kann dadurch zu Fehlzuordnungen zwischen "
"einer als <literal>org.hibernate.type.DateType</literal> definierten "
"Property und einer als <literal>org.hibernate.type.TimestampType</literal> "
"definierten Property kommen, selbst wenn die Datenbank keine Unterscheidung "
"macht oder die Konversion durchführen könnte."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"For the id property, the insert statement gives you two options. You can "
"either explicitly specify the id property in the properties_list, in which "
"case its value is taken from the corresponding select expression, or omit it "
"from the properties_list, in which case a generated value is used. This "
"latter option is only available when using id generators that operate in the "
"database; attempting to use this option with any \"in memory\" type "
"generators will cause an exception during parsing. For the purposes of this "
"discussion, in-database generators are considered to be <literal>org."
"hibernate.id.SequenceGenerator</literal> (and its subclasses) and any "
"implementers of <literal>org.hibernate.id.PostInsertIdentifierGenerator</"
"literal>. The most notable exception here is <literal>org.hibernate.id."
"TableHiLoGenerator</literal>, which cannot be used because it does not "
"expose a selectable way to get its values."
msgstr ""
"Bei der id-Property bietet die Einfügungsanweisung zwei Möglichkeiten. Sie "
"können die Property entweder explizit in der properties_list festlegen (in "
"diesem Fall wird deren Wert vom zugehörigen Auswahlausdruck genommen) oder "
"sie aus von der properties_list löschen (in diesem Fall wird ein generierter "
"Wert verwendet). Diese letztere Option ist nur verfügbar, wenn innerhalb der "
"Datenbank operierende id-Generatoren verwendet werden. Der Versuch diese "
"Option mit jeglichen \"in memory\"-Typen zu verwenden führt während des "
"Parsens zu einer Ausnahmemeldung. Bitte beachten Sie, dass in diesem "
"Zusammenhang Generatoren innerhalb der Datenbank als <literal>org.hibernate."
"id.SequenceGenerator</literal> (und dessen Subklassen) sowie jegliche "
"Implementierungen von <literal>org.hibernate.id."
"PostInsertIdentifierGenerator</literal> angesehen werden. Die wohl "
"wichtigste Ausnahme ist hier <literal>org.hibernate.id.TableHiLoGenerator</"
"literal>, der nicht gewählt werden kann, da er keine wählbare Weise bietet, "
"um an seine Werte zu gelangen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"For properties mapped as either <literal>version</literal> or "
"<literal>timestamp</literal>, the insert statement gives you two options. "
"You can either specify the property in the properties_list, in which case "
"its value is taken from the corresponding select expressions, or omit it "
"from the properties_list, in which case the <literal>seed value</literal> "
"defined by the <literal>org.hibernate.type.VersionType</literal> is used."
msgstr ""
"Für entweder als <literal>version</literal> oder <literal>timestamp</"
"literal> gemappte Properties bietet die Einfügungsanweisung zwei Optionen. "
"Sie können die Property entweder explizit in der properties_list festlegen "
"(in diesem Fall wird deren Wert vom zugehörigen Auswahlausdruck genommen) "
"oder sie aus von der properties_list löschen (in diesem Fall wird der durch "
"<literal>org.hibernate.type.VersionType</literal> definierte <literal>seed "
"value</literal> verwendet)."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The following is an example of an HQL <literal>INSERT</literal> statement "
"execution:"
msgstr ""
"Ein Beispiel für die Ausführung einer HQL <literal>INSERT</literal>-"
"Anweisung:"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "for ( int i=0; i<100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ "}\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "for ( int i=0; i&lt;100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ "}\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
#~ msgstr "hibernate.jdbc.batch_size 20"
#, fuzzy
#~ msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
#~ msgstr "hibernate.cache.use_second_level_cache false"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "for ( int i=0; i<100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ " if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
#~ " //flush a batch of inserts and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "for ( int i=0; i&lt;100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ " if ( i &#37; 20 == 0 ) { //20, same as the JDBC batch size\n"
#~ " //flush a batch of inserts and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .setCacheMode(CacheMode.IGNORE)\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "int count=0;\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " if ( ++count % 20 == 0 ) {\n"
#~ " //flush a batch of updates and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .setCacheMode(CacheMode.IGNORE)\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "int count=0;\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " if ( ++count &#37; 20 == 0 ) {\n"
#~ " //flush a batch of updates and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[StatelessSession session = sessionFactory.openStatelessSession"
#~ "();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " session.update(customer);\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "StatelessSession session = sessionFactory.openStatelessSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " session.update(customer);\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlUpdate = \"update Customer c set c.name = :newName where c.name "
#~ "= :oldName\";\n"
#~ "// or String hqlUpdate = \"update Customer set name = :newName where name "
#~ "= :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlUpdate = \"update Customer c set c.name = :newName where c.name "
#~ "= :oldName\";\n"
#~ "// or String hqlUpdate = \"update Customer set name = :newName where name "
#~ "= :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "String hqlVersionedUpdate = \"update versioned Customer set name = :"
#~ "newName where name = :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "String hqlVersionedUpdate = \"update versioned Customer set name = :"
#~ "newName where name = :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
#~ "// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
#~ "int deletedEntities = s.createQuery( hqlDelete )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
#~ "// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
#~ "int deletedEntities = s.createQuery( hqlDelete )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlInsert = \"insert into DelinquentAccount (id, name) select c."
#~ "id, c.name from Customer c where ...\";\n"
#~ "int createdEntities = s.createQuery( hqlInsert )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlInsert = \"insert into DelinquentAccount (id, name) select c."
#~ "id, c.name from Customer \n"
#~ " c where ...\";\n"
#~ "int createdEntities = s.createQuery( hqlInsert )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();"

View File

@ -1,708 +0,0 @@
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#, no-c-format
msgid "Best Practices"
msgstr "Optimale Verfahren"
#. Tag: term
#, fuzzy, no-c-format
msgid ""
"Write fine-grained classes and map them using <literal>&lt;component&gt;</"
"literal>:"
msgstr ""
"Schreiben Sie feinstufige Klassen, und Mappen Sie diese mittels <literal>&lt;"
"component&gt;</literal>."
#. Tag: para
#, no-c-format
msgid ""
"Use an <literal>Address</literal> class to encapsulate <literal>street</"
"literal>, <literal>suburb</literal>, <literal>state</literal>, "
"<literal>postcode</literal>. This encourages code reuse and simplifies "
"refactoring."
msgstr ""
"Verwenden Sie eine <literal>Address</literal>-Klasse, um <literal>street</"
"literal>, <literal>suburb</literal>, <literal>state</literal>, "
"<literal>postcode</literal> einzukapseln. Das unterstützt die "
"Wiederverwendung des Code und vereinfacht die Erhöhung der "
"Bedienerfreundlichkeit."
#. Tag: term
#, fuzzy, no-c-format
msgid "Declare identifier properties on persistent classes:"
msgstr "Deklarieren Sie Bezeichner-Properties an persistenten Klassen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate makes identifier properties optional. There are a range of reasons "
"why you should use them. We recommend that identifiers be 'synthetic', that "
"is, generated with no business meaning."
msgstr ""
"Hibernate macht Bezeichner-Properties optional. Es gibt eine Reihe von "
"Gründen, warum Sie diese verwenden sollten. Wir empfehlen \"synthetische\" "
"Bezeichner (generiert, mit keiner Unternehmensbedeutung)."
#. Tag: term
#, fuzzy, no-c-format
msgid "Identify natural keys:"
msgstr "Identifizierung natürlicher Schlüssel."
#. Tag: para
#, no-c-format
msgid ""
"Identify natural keys for all entities, and map them using <literal>&lt;"
"natural-id&gt;</literal>. Implement <literal>equals()</literal> and "
"<literal>hashCode()</literal> to compare the properties that make up the "
"natural key."
msgstr ""
"Bestimmen Sie natürliche Schlüssel für alle Entities, und mappen Sie diese "
"mittels <literal>&lt;natural-id&gt;</literal>. Implementieren Sie "
"<literal>equals()</literal> und <literal>hashCode()</literal>, um die "
"Properties, aus denen der natürliche Schlüssel besteht, zu vergleichen."
#. Tag: term
#, fuzzy, no-c-format
msgid "Place each class mapping in its own file:"
msgstr "Platzieren Sie jedes Klassen-Mapping in dessen eigener Datei."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Do not use a single monolithic mapping document. Map <literal>com.eg.Foo</"
"literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes "
"sense, particularly in a team environment."
msgstr ""
"Verwenden Sie kein einzelnes, monolithisches Mapping-Dokument. Mappen Sie "
"<literal>com.eg.Foo</literal> in der Datei <literal>com/eg/Foo.hbm.xml</"
"literal>. Das ist insbesondere in einer Team-Umgebung sinnvoll."
#. Tag: term
#, fuzzy, no-c-format
msgid "Load mappings as resources:"
msgstr "Laden Sie die Mappings als Ressourcen."
#. Tag: para
#, no-c-format
msgid "Deploy the mappings along with the classes they map."
msgstr "Deployen Sie die Mappings gemeinsam mit den Klassen, die sie mappen."
#. Tag: term
#, fuzzy, no-c-format
msgid "Consider externalizing query strings:"
msgstr "Ziehen Sie die Externalisierung von Anfragenstrings in Erwägung."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"This is recommended if your queries call non-ANSI-standard SQL functions. "
"Externalizing the query strings to mapping files will make the application "
"more portable."
msgstr ""
"Das ist eine gute Vorgehensweise, wenn Ihre Anfragen nicht-ANSI-Standard SQL "
"Funktionen aufrufen. Die Externalisierung der Anfragenstrings zu Mapping-"
"Dateien macht die Anwendung übertragbarer."
#. Tag: term
#, no-c-format
msgid "Use bind variables."
msgstr "Verwenden Sie \"bind\"-Variablen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"As in JDBC, always replace non-constant values by \"?\". Do not use string "
"manipulation to bind a non-constant value in a query. You should also "
"consider using named parameters in queries."
msgstr ""
"Wie in JDBC ersetzen Sie nicht konstante Werte immer durch \"?\". Verwenden "
"Sie nie String-Manipulation, um einen nicht konstanten Wert in einer Anfrage "
"zu binden! Viel besser ist es, benannte Parameter in Anfragen zu benutzen."
#. Tag: term
#, fuzzy, no-c-format
msgid "Do not manage your own JDBC connections:"
msgstr "Managen Sie nicht Ihre eigenen JDBC-Verbindungen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate allows the application to manage JDBC connections, but his "
"approach should be considered a last-resort. If you cannot use the built-in "
"connection providers, consider providing your own implementation of "
"<literal>org.hibernate.connection.ConnectionProvider</literal>."
msgstr ""
"Hibernate lässt die Anwendung die JDBC-Verbindungen verwalten. Diese "
"Vorgehensweise sollte als letzter Ausweg angesehen werden. Falls Sie die "
"eingebauten Verbindungs-Provider nicht benutzen können, sollten Sie Ihre "
"eigene Implementierung von <literal>org.hibernate.connection."
"ConnectionProvider</literal> in Erwägung ziehen."
#. Tag: term
#, fuzzy, no-c-format
msgid "Consider using a custom type:"
msgstr "Verwenden Sie einen angepassten Typ."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Suppose you have a Java type from a library that needs to be persisted but "
"does not provide the accessors needed to map it as a component. You should "
"consider implementing <literal>org.hibernate.UserType</literal>. This "
"approach frees the application code from implementing transformations to/"
"from a Hibernate type."
msgstr ""
"Nehmen wir an Sie haben einen Java-Typ, etwa aus irgendeiner Bibliothek, der "
"persistiert werden muss aber keine Zugänge bietet, die notwendig sind, um "
"ihn als Komponente zu mappen. Sie sollten die Implementierung von "
"<literal>org.hibernate.UserType</literal> in Betracht ziehen. Diese "
"Vorgehensweise befreit den Anwendungscode von der Implementierung von "
"Transformationen zu / von einem Hibernate-Typ."
#. Tag: term
#, fuzzy, no-c-format
msgid "Use hand-coded JDBC in bottlenecks:"
msgstr "Verwenden Sie handkodiertes JDBC in Engpässen (\"Bottlenecks\")."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"In performance-critical areas of the system, some kinds of operations might "
"benefit from direct JDBC. Do not assume, however, that JDBC is necessarily "
"faster. Please wait until you <emphasis>know</emphasis> something is a "
"bottleneck. If you need to use direct JDBC, you can open a Hibernate "
"<literal>Session</literal>, wrap your JDBC operation as a <literal>org."
"hibernate.jdbc.Work</literal> object and using that JDBC connection. This "
"way you can still use the same transaction strategy and underlying "
"connection provider."
msgstr ""
"In Teilen des Systems, bei denen die Performance besonders wichtig ist, "
"profitieren einige Vorgänge von der direkten JDBC. Aber bitte, warten Sie "
"bis Sie <emphasis>wissen</emphasis>, dass es sich um einen Engpass handelt. "
"Und gehen Sie nicht davon aus, dass direkte JDBC unbedingt schneller ist. "
"Falls Sie direkte JDBC verwenden müssen, kann es sinnvoll sein, eine "
"Hibernate <literal>Session</literal> zu öffnen und diese JDBC-Verbindung zu "
"benutzen. Auf diese Weise können Sie nach wie vor diesselbe "
"Transaktionsstrategie und den zu Grunde liegenden Verbindungsprovider "
"verwenden."
#. Tag: term
#, fuzzy, no-c-format
msgid "Understand <literal>Session</literal> flushing:"
msgstr "Die <literal>Session</literal>-Räumung verstehen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Sometimes the Session synchronizes its persistent state with the database. "
"Performance will be affected if this process occurs too often. You can "
"sometimes minimize unnecessary flushing by disabling automatic flushing, or "
"even by changing the order of queries and other operations within a "
"particular transaction."
msgstr ""
"Von Zeit zu Zeit synchronisiert die Session ihren persistenten Status mit "
"der Datenbank. Findet dies zu oft statt, so wird die Performance "
"beeinträchtigt. Manchmal können durch Deaktivierung der automatischen "
"Räumung (sog. \"Flushing\") oder sogar durch Änderung der "
"Anfragenreihenfolge und anderer Vorgänge innerhalb einer bestimmten "
"Transaktion unnötige Räumungen minimiert werden."
#. Tag: term
#, fuzzy, no-c-format
msgid "In a three tiered architecture, consider using detached objects:"
msgstr ""
"Bei einer Drei-Schichten-Architektur (sog. \"three-tiered-architecture\") "
"empfiehlt sich die Verwendung abgesetzter Objekte."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"When using a servlet/session bean architecture, you can pass persistent "
"objects loaded in the session bean to and from the servlet/JSP layer. Use a "
"new session to service each request. Use <literal>Session.merge()</literal> "
"or <literal>Session.saveOrUpdate()</literal> to synchronize objects with the "
"database."
msgstr ""
"Bei Verwendung einer Servlet-/Session-Bean-Architektur können Sie im Session-"
"Bean geladene persistente Objekte in die und aus der Servlet-/JSP-Schicht "
"weitergeben. Verwenden Sie eine neue Session, um jede Anfrage zu warten. "
"Verwenden Sie <literal>Session.merge()</literal> oder <literal>Session."
"saveOrUpdate()</literal> zur Synchronisation von Objekten mit der Datenbank."
#. Tag: term
#, fuzzy, no-c-format
msgid "In a two tiered architecture, consider using long persistence contexts:"
msgstr ""
"In einer Zwei-Schichten-Architektur (sog. \"two tiered architecture\") "
"empfiehlt sich die Verwendung von langen Persistenz-Kontexten."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Database Transactions have to be as short as possible for best scalability. "
"However, it is often necessary to implement long running "
"<emphasis>application transactions</emphasis>, a single unit-of-work from "
"the point of view of a user. An application transaction might span several "
"client request/response cycles. It is common to use detached objects to "
"implement application transactions. An appropriate alternative in a two "
"tiered architecture, is to maintain a single open persistence contact "
"session for the whole life cycle of the application transaction. Then simply "
"disconnect from the JDBC connection at the end of each request and reconnect "
"at the beginning of the subsequent request. Never share a single session "
"across more than one application transaction or you will be working with "
"stale data."
msgstr ""
"Für die beste Skalierbarkeit sollten Datenbanktransaktionen so kurz wie "
"möglich sein. Allerdings ist es oft notwendig, lang laufende "
"<emphasis>Anwendungstransaktionen</emphasis> zu implementieren, aus "
"Benutzersicht eine einzelne Arbeitseinheit. Eine Anwendungstransaktion kann "
"mehrere Client Anfragen-/Antwortenzyklen umfassen. Es ist üblich, abgesetzte "
"Objekte zur Implemetierung von Anwendungstransaktionen zu verwenden. Eine "
"insbesondere für die Zwei-Schichten-Architektur passende Alternative ist die "
"Instandhaltung eines einzelnen offenen Persistenzkontakts (Session) während "
"des gesamten Lebenszyklus der Anwendungstransaktion. Am Ende jeder Anfrage "
"wird die JDBC-Verbindung dann unterbrochen und zu Beginn der darauf "
"folgenden Anfrage erneut aufgestellt. Eine einzelne Session sollte nie über "
"mehr als eine Anwendungstransaktion hinweg geteilt werden, da Sie sonst mit "
"veralteten Daten arbeiten."
#. Tag: term
#, fuzzy, no-c-format
msgid "Do not treat exceptions as recoverable:"
msgstr "Behandeln Sie Ausnahmen nicht als wiederherstellbar."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"This is more of a necessary practice than a \"best\" practice. When an "
"exception occurs, roll back the <literal>Transaction</literal> and close the "
"<literal>Session</literal>. If you do not do this, Hibernate cannot "
"guarantee that in-memory state accurately represents the persistent state. "
"For example, do not use <literal>Session.load()</literal> to determine if an "
"instance with the given identifier exists on the database; use "
"<literal>Session.get()</literal> or a query instead."
msgstr ""
"Dies ist eher eine notwendige Vorgehensweise als das \"beste\" Verfahren. "
"Wird eine Ausnahme gemeldet, führen Sie einen Rollback der "
"<literal>Transaction</literal> durch und schließen Sie die <literal>Session</"
"literal>. Falls Sie dies nicht tun, kann Hibernate nicht garantieren, dass "
"der gespeicherte Status tatsächlich den persistenten Status repräsentiert. "
"Als Sonderfall hierbei verwenden Sie nicht <literal>Session.load()</literal> "
"um zu bestimmen, ob eine Instanz des gegebenen Bezeichners in der Datenbank "
"existiert, verwenden Sie statt dessen <literal>Session.get()</literal> oder "
"eine Anfrage."
#. Tag: term
#, fuzzy, no-c-format
msgid "Prefer lazy fetching for associations:"
msgstr "\"Lazy Fetching\" für Assoziationen ist vorzuziehen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Use eager fetching sparingly. Use proxies and lazy collections for most "
"associations to classes that are not likely to be completely held in the "
"second-level cache. For associations to cached classes, where there is an a "
"extremely high probability of a cache hit, explicitly disable eager fetching "
"using <literal>lazy=\"false\"</literal>. When join fetching is appropriate "
"to a particular use case, use a query with a <literal>left join fetch</"
"literal>."
msgstr ""
"Verwenden Sie \"eager Fetching\" sparsam. Verwenden Sie Proxies und \"lazy "
"Collections\" für die meisten Assoziationen zu Klassen, die aller "
"Wahrscheinlichkeit nach eher nicht vollständig im Cache der zweiten Ebene "
"aufbewahrt werden. Für Assoziationen zu gecachten Klassen, bei denen eine "
"sehr hohe Wahrscheinlichkeit eines Cache-Treffers besteht, deaktivieren Sie "
"\"eager Fetching\" explizit mittels <literal>lazy=\"false\"</literal>. Wenn "
"ein \"Join-Fetching\" (Verbundabruf) in einem bestimmten Fall passend ist, "
"verwenden Sie eine Anfrage mit einem <literal>left join fetch</literal>."
#. Tag: term
#, fuzzy, no-c-format
msgid ""
"Use the <emphasis>open session in view</emphasis> pattern, or a disciplined "
"<emphasis>assembly phase</emphasis> to avoid problems with unfetched data:"
msgstr ""
"Verwenden Sie das <emphasis>offene Session in Ansicht</emphasis>-Muster oder "
"eine <emphasis>Assembly Phase</emphasis>, um Probleme mit nicht abgerufenen "
"Daten zu vermeiden."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate frees the developer from writing tedious <emphasis>Data Transfer "
"Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual "
"purposes: first, they work around the problem that entity beans are not "
"serializable; second, they implicitly define an assembly phase where all "
"data to be used by the view is fetched and marshalled into the DTOs before "
"returning control to the presentation tier. Hibernate eliminates the first "
"purpose. Unless you are prepared to hold the persistence context (the "
"session) open across the view rendering process, you will still need an "
"assembly phase. Think of your business methods as having a strict contract "
"with the presentation tier about what data is available in the detached "
"objects. This is not a limitation of Hibernate. It is a fundamental "
"requirement of safe transactional data access."
msgstr ""
"Hibernate nimmt dem Entwickler das Schreiben langwieriger "
"<emphasis>Datentransferobjekte </emphasis> (DTO) ab. In einer herkömmlichen "
"EJB-Architektur dienen DTOs zwei Zwecken: Zunächst einmal umgehen sie das "
"Problem, dass Entity-Beans nicht serialisierbar sind, und zweitens "
"definieren sie implizit eine Programmumwandlungsphase wenn alle von der "
"Ansicht zu verwendenden Daten abgerufen und in die DTOs geleitet werden, ehe "
"die Steuerung zur Präsentationsschicht zurückkehrt. Hibernate eleminiert den "
"ersten Zweck. Sie benötigen jedoch nach wie vor eine "
"Programmumwandlungsphase (stellen Sie sich vor, dass Ihre "
"Unternehmensmethoden einen strengen Vertrag mit der Präsentationsschicht "
"bezüglich der in den abgesetzten Daten verfügbaren Daten besitzen), außer "
"Sie sind bereit den Persistenzkontext (die Session) während des gesamten "
"Renderingvorgangs der Ansicht geöffnet zu lassen. Es handelt sich hierbei "
"nicht um eine Einschränkung von Hibernate! Es handelt sich um eine "
"grundlegende Voraussetzung für den sicheren Zugriff auf transaktionale Daten."
#. Tag: term
#, fuzzy, no-c-format
msgid "Consider abstracting your business logic from Hibernate:"
msgstr ""
"Ziehen Sie die Abstraktion Ihrer Business-Logik von Hibernate in Erwägung."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hide Hibernate data-access code behind an interface. Combine the "
"<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> "
"patterns. You can even have some classes persisted by handcoded JDBC "
"associated to Hibernate via a <literal>UserType</literal>. This advice is, "
"however, intended for \"sufficiently large\" applications. It is not "
"appropriate for an application with five tables."
msgstr ""
"Verbergen Sie den (Hibernate) Datenzugriffscode hinter einem Interface. "
"Verbinden Sie <emphasis>DAO</emphasis> und <emphasis>Thread Local Session</"
"emphasis>-Modell. Sie können sogar über einige mit handkodiertem JDBC "
"verfügen, die mittels eines <literal>UserType</literal> mit Hibernate "
"assoziiert sind. (Dieser Ratschlag gilt für \"ausreichend große\" "
"Anwendungen; er ist unpassend für eine Anwendung mit fünf Tabellen!)"
#. Tag: term
#, fuzzy, no-c-format
msgid "Do not use exotic association mappings:"
msgstr "Verwenden Sie keine exotischen Assoziationsmappings."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Practical test cases for real many-to-many associations are rare. Most of "
"the time you need additional information stored in the \"link table\". In "
"this case, it is much better to use two one-to-many associations to an "
"intermediate link class. In fact, most associations are one-to-many and many-"
"to-one. For this reason, you should proceed cautiously when using any other "
"association style."
msgstr ""
"Gute Anwendungsfälle für echte \"Many-to-Many\"-Assoziationen sind selten. "
"In den meisten Fällen benötigen Sie zusätzliche Informationen, die in der "
"Verbindungstabelle (\"Link Table) gespeichert sind. In diesem Fall ist es "
"besser zwei \"One-to-Many\"-Assoziationen zu einer dazwischen liegenden Link-"
"Klasse zu verwenden. Genau genommen sind wir der Ansicht, dass die meisten "
"Assoziationen \"One-to-Many\" und \"Many-to-One\" sind, und Sie sollten "
"andere Assoziationsstile mit Vorsicht einsetzen und sich stets fragen, ob "
"diese tatsächlich unvermeidbar sind."
#. Tag: term
#, fuzzy, no-c-format
msgid "Prefer bidirectional associations:"
msgstr "Geben Sie bidirektionalen Assoziationen den Vorzug."
#. Tag: para
#, no-c-format
msgid ""
"Unidirectional associations are more difficult to query. In a large "
"application, almost all associations must be navigable in both directions in "
"queries."
msgstr ""
"Unidirektionale Assoziationen sind schwieriger abzufragen. In einer großen "
"Anwendung müssen fast alle Assoziationen bei Anfragen nach beiden Richtungen "
"navigierbar sein."

View File

@ -1,49 +0,0 @@
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: 2010-02-11T05:38:15\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title
#, no-c-format
msgid "References"
msgstr ""
#. Tag: title
#, no-c-format
msgid "Patterns of Enterprise Application Architecture"
msgstr ""
#. Tag: firstname
#, no-c-format
msgid "Martin"
msgstr ""
#. Tag: title
#, no-c-format
msgid "Java Persistence with Hibernate"
msgstr ""
#. Tag: subtitle
#, no-c-format
msgid "Second Edition of Hibernate in Action"
msgstr ""
#. Tag: firstname
#, no-c-format
msgid "Christian"
msgstr ""
#. Tag: firstname
#, no-c-format
msgid "Gavin"
msgstr ""

View File

@ -1,843 +0,0 @@
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-10T07:25:34\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#, no-c-format
msgid "Interceptors and events"
msgstr "Interzeptoren und Ereignisse"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"It is useful for the application to react to certain events that occur "
"inside Hibernate. This allows for the implementation of generic "
"functionality and the extension of Hibernate functionality."
msgstr ""
"Es ist oftmals von Nutzen, wenn die Anwendung auf bestimmte, innerhalb "
"Hibernates ablaufende Ereignisse (\"Events\") reagiert. Es ermöglicht die "
"Implementierung bestimmter Arten auswählbarer Funktionalitäten sowie eine "
"Erweiterung der Funktionalität von Hibernate."
#. Tag: title
#, no-c-format
msgid "Interceptors"
msgstr "Interzeptoren"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The <literal>Interceptor</literal> interface provides callbacks from the "
"session to the application, allowing the application to inspect and/or "
"manipulate properties of a persistent object before it is saved, updated, "
"deleted or loaded. One possible use for this is to track auditing "
"information. For example, the following <literal>Interceptor</literal> "
"automatically sets the <literal>createTimestamp</literal> when an "
"<literal>Auditable</literal> is created and updates the "
"<literal>lastUpdateTimestamp</literal> property when an <literal>Auditable</"
"literal> is updated."
msgstr ""
"Das <literal>Interceptor</literal>-Interface bietet die Möglichkeit von "
"Callbacks der Session an die Anwendung, wodurch letztere die Properties "
"eines persistenten Objekts vorweg prüfen und/oder verändern kann, ehe dieses "
"gespeichert, aktualisiert, gelöscht oder geladen wird. Eine mögliche "
"Anwendung hierfür ist etwa das Auditing von Informationen. Zum Beispiel "
"setzt der folgende <literal>Interceptor</literal> automatisch "
"<literal>createTimestamp</literal>, wenn ein <literal>Auditable</literal> "
"erstellt wird und aktualisiert die <literal>lastUpdateTimestamp</literal>-"
"Property, wenn ein <literal>Auditable</literal> aktualisiert wird."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"You can either implement <literal>Interceptor</literal> directly or extend "
"<literal>EmptyInterceptor</literal>."
msgstr ""
"Sie können <literal>Interceptor</literal> entweder direkt implementieren "
"oder (besser) <literal>EmptyInterceptor</literal> erweitern."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"There are two kinds of inteceptors: <literal>Session</literal>-scoped and "
"<literal>SessionFactory</literal>-scoped."
msgstr ""
"Es existieren zwei Arten von Interzeptoren: Für die <literal>Session</"
"literal> zuständige und für die <literal>SessionFactory</literal> zuständige."
#. Tag: para
#, no-c-format
msgid ""
"A <literal>Session</literal>-scoped interceptor is specified when a session "
"is opened using one of the overloaded SessionFactory.openSession() methods "
"accepting an <literal>Interceptor</literal>."
msgstr ""
"Ein für die <literal>Session</literal> zuständiger Interzeptor wird beim "
"Öffnen einer Session unter Verwendung einer der überlasteten SessionFactory."
"openSession()-Methoden spezifiziert, die einen <literal>Interceptor</"
"literal> akzeptieren."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"A <literal>SessionFactory</literal>-scoped interceptor is registered with "
"the <literal>Configuration</literal> object prior to building the "
"<literal>SessionFactory</literal>. Unless a session is opened explicitly "
"specifying the interceptor to use, the supplied interceptor will be applied "
"to all sessions opened from that <literal>SessionFactory</literal>. "
"<literal>SessionFactory</literal>-scoped interceptors must be thread safe. "
"Ensure that you do not store session-specific states, since multiple "
"sessions will use this interceptor potentially concurrently."
msgstr ""
"Ein für die <literal>SessionFactory</literal> zuständiger Interzeptor wird "
"mit dem <literal>Configuration</literal>-Objekt vor dem Bau der "
"<literal>SessionFactory</literal> erfasst. In diesem Fall wird der "
"gelieferte Interzeptor bei allen von dieser <literal>SessionFactory</"
"literal> geöffneten Sessions angewendet, außer bei einer Session wird "
"explizit der zu verwendende Interzeptor genannt. Für die "
"<literal>SessionFactory</literal> zuständige Interzeptoren müssen "
"threadsicher sein und dürfen keinen Session-spezifischen Status speichern, "
"da mehrere Sessions diesen Interzeptor (möglicherweise) gleichzeitig "
"verwenden."
#. Tag: title
#, no-c-format
msgid "Event system"
msgstr "Ereignissystem"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"If you have to react to particular events in your persistence layer, you can "
"also use the Hibernate3 <emphasis>event</emphasis> architecture. The event "
"system can be used in addition, or as a replacement, for interceptors."
msgstr ""
"Falls Sie auf bestimmte Ereignisse in Ihrer Persistenzschicht reagieren "
"müssen, können Sie die Hibernate3 <emphasis>Ereignis</emphasis>-Architektur "
"verwenden. Das Ereignissystem kann zusätzlich oder aber als Ersatz für "
"Interzeptoren verwendet werden."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"All the methods of the <literal>Session</literal> interface correlate to an "
"event. You have a <literal>LoadEvent</literal>, a <literal>FlushEvent</"
"literal>, etc. Consult the XML configuration-file DTD or the <literal>org."
"hibernate.event</literal> package for the full list of defined event types. "
"When a request is made of one of these methods, the Hibernate "
"<literal>Session</literal> generates an appropriate event and passes it to "
"the configured event listeners for that type. Out-of-the-box, these "
"listeners implement the same processing in which those methods always "
"resulted. However, you are free to implement a customization of one of the "
"listener interfaces (i.e., the <literal>LoadEvent</literal> is processed by "
"the registered implementation of the <literal>LoadEventListener</literal> "
"interface), in which case their implementation would be responsible for "
"processing any <literal>load()</literal> requests made of the "
"<literal>Session</literal>."
msgstr ""
"Im Wesentlichen korrelieren alle Methoden des <literal>Session</literal>-"
"Interface mit einem Ereignis. Es gibt ein <literal>LoadEvent</literal>, ein "
"<literal>FlushEvent</literal>, usw. (in der XML-Konfigurationsdatei DTD oder "
"dem <literal>org.hibernate.event</literal>-Paket finden Sie die vollständige "
"Liste aller definierten Ereignistypen). Wenn eine Anfrage einer dieser "
"Methoden erfolgt, so generiert die Hibernate <literal>Session</literal> ein "
"zugehöriges Ereignis und gibt es an die für diesen Typ konfigurierten "
"\"Event-Listener\" weiter. Diese Listener implementieren dieselbe "
"Bearbeitung, die diese Methoden stets hervorbringen. Es steht Ihnen jedoch "
"frei, ein angepasstes Listener-Interface zu implementieren (d.h. "
"<literal>LoadEvent</literal> wird durch die erfasste Implementierung des "
"<literal>LoadEventListener</literal>-Interface bearbeitet), in welchem Fall "
"die Implementierung für die Bearbeitung sämtlicher durch die "
"<literal>Session</literal> erfolgender <literal>load()</literal>-Anfragen "
"verantwortlich wäre."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The listeners should be considered singletons. This means they are shared "
"between requests, and should not save any state as instance variables."
msgstr ""
"Die Listener sollten effektiv als Singletons angesehen werden, was bedeutet, "
"dass sie zwischen Anfragen geteilt werden und daher keinen Status als "
"Instanzvariable speichern sollten."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"A custom listener implements the appropriate interface for the event it "
"wants to process and/or extend one of the convenience base classes (or even "
"the default event listeners used by Hibernate out-of-the-box as these are "
"declared non-final for this purpose). Custom listeners can either be "
"registered programmatically through the <literal>Configuration</literal> "
"object, or specified in the Hibernate configuration XML. Declarative "
"configuration through the properties file is not supported. Here is an "
"example of a custom load event listener:"
msgstr ""
"Ein angepasster Listener sollte das passende Interface für das Ereignis, das "
"bearbeitet werden und/oder einer der Bedienungsgrundklassen erweitern soll, "
"implementieren (oder sogar die ausgezeichneten standardmäßigen Ereignis-"
"Listener, die von Hibernate verwendet und für diesen Zweck als nicht-final "
"deklariert sind). Angepasste Listener können entweder programmatisch durch "
"das <literal>Configuration</literal>-Objekt oder in der Hibernate "
"Konfigurations-XML (deklarative Konfiguration durch die Properties-Datei "
"wird nicht unterstützt) erfasst werden. Nachfolgend sehen Sie ein Beispiel "
"für einen angepassten \"Load-Event-Listener\":"
#. Tag: para
#, no-c-format
msgid ""
"You also need a configuration entry telling Hibernate to use the listener in "
"addition to the default listener:"
msgstr ""
"Sie benötigen außerdem einen Konfigurationseintrag, der Hibernate mitteilt, "
"dass der Listener zusätzlich zum Standard-Listener verwendet werden soll:"
#. Tag: para
#, fuzzy, no-c-format
msgid "Instead, you can register it programmatically:"
msgstr "Statt dessen können Sie dies programmatisch erfassen:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Listeners registered declaratively cannot share instances. If the same class "
"name is used in multiple <literal>&lt;listener/&gt;</literal> elements, each "
"reference will result in a separate instance of that class. If you need to "
"share listener instances between listener types you must use the "
"programmatic registration approach."
msgstr ""
"Deklarativ erfasste Listener können keine Instanzen teilen. Falls derselbe "
"Klassenname in mehreren <literal>&lt;listener/&gt;</literal>-Elementen "
"verwendet wird, so wird jeder Verweis in einer separaten Instanz dieser "
"Klasse resultieren. Falls Sie die Möglichkeit des Teilens von Listener-"
"Instanzen zwischen Listener-Typen benötigen, müssen Sie die programmatische "
"Erfassung nutzen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Why implement an interface and define the specific type during "
"configuration? A listener implementation could implement multiple event "
"listener interfaces. Having the type additionally defined during "
"registration makes it easier to turn custom listeners on or off during "
"configuration."
msgstr ""
"Warum jedoch ein Interface implementieren und während der Konfiguration den "
"spezifischen Typ definieren? Nun, eine Listener-Implementierung könnte "
"mehrere Event-Listener Interfaces implementieren. Definiert man den Typ "
"zusätzlich während der Erfassung, ist es einfacher angepasste Listener "
"während der Konfiguration an- und auszuschalten."
#. Tag: title
#, no-c-format
msgid "Hibernate declarative security"
msgstr "Deklarative Sicherheit in Hibernate "
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Usually, declarative security in Hibernate applications is managed in a "
"session facade layer. Hibernate3 allows certain actions to be permissioned "
"via JACC, and authorized via JAAS. This is an optional functionality that is "
"built on top of the event architecture."
msgstr ""
"Für gewöhnlich wird die deklarative Sicherheit in Hibernate Anwendungen "
"durch eine Fassadenschicht geregelt. Jetzt ermöglicht Hibernate3 die "
"Genehmigung bestimmter Vorgänge via JACC sowie die Authorisierung via JAAS. "
"Es handelt sich dabei um eine optionale Funktionalität, die auf der Ereignis-"
"Architektur (sog. \"Event-Architecture\") aufgebaut ist."
#. Tag: para
#, no-c-format
msgid ""
"First, you must configure the appropriate event listeners, to enable the use "
"of JAAS authorization."
msgstr ""
"Zunächst einmal müssen die betreffenden Event-Listener konfiguriert werden, "
"damit die Verwendung der JAAS Authorisierung aktiviert ist."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is "
"shorthand for <literal>&lt;event type=\"...\"&gt;&lt;listener class=\"...\"/"
"&gt;&lt;/event&gt;</literal> when there is exactly one listener for a "
"particular event type."
msgstr ""
"Beachten Sie, dass <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</"
"literal> lediglich ein Kürzel für <literal>&lt;event type=\"...\"&gt;&lt;"
"listener class=\"...\"/&gt;&lt;/event&gt;</literal> ist, wenn genau ein "
"Listener für einen bestimmten Ereignistyp existiert."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Next, while still in <literal>hibernate.cfg.xml</literal>, bind the "
"permissions to roles:"
msgstr ""
"Anschließend, und immer noch in <literal>hibernate.cfg.xml</literal>, binden "
"Sie die Genehmigungen (sog. \"permissions\") an die Rollen:"
#. Tag: para
#, no-c-format
msgid "The role names are the roles understood by your JACC provider."
msgstr "Die Rollennamen sind die von Ihrem JACC-Anbieter verstandenen Rollen."
#, fuzzy
#~ msgid ""
#~ "<![CDATA[package org.hibernate.test;\n"
#~ "\n"
#~ "import java.io.Serializable;\n"
#~ "import java.util.Date;\n"
#~ "import java.util.Iterator;\n"
#~ "\n"
#~ "import org.hibernate.EmptyInterceptor;\n"
#~ "import org.hibernate.Transaction;\n"
#~ "import org.hibernate.type.Type;\n"
#~ "\n"
#~ "public class AuditInterceptor extends EmptyInterceptor {\n"
#~ "\n"
#~ " private int updates;\n"
#~ " private int creates;\n"
#~ " private int loads;\n"
#~ "\n"
#~ " public void onDelete(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " // do nothing\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onFlushDirty(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] currentState,\n"
#~ " Object[] previousState,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " updates++;\n"
#~ " for ( int i=0; i < propertyNames.length; i++ ) {\n"
#~ " if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) "
#~ "{\n"
#~ " currentState[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onLoad(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " loads++;\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onSave(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " creates++;\n"
#~ " for ( int i=0; i<propertyNames.length; i++ ) {\n"
#~ " if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
#~ " state[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public void afterTransactionCompletion(Transaction tx) {\n"
#~ " if ( tx.wasCommitted() ) {\n"
#~ " System.out.println(\"Creations: \" + creates + \", Updates: "
#~ "\" + updates, \"Loads: \" + loads);\n"
#~ " }\n"
#~ " updates=0;\n"
#~ " creates=0;\n"
#~ " loads=0;\n"
#~ " }\n"
#~ "\n"
#~ "}]]>"
#~ msgstr ""
#~ "package org.hibernate.test;\n"
#~ "\n"
#~ "import java.io.Serializable;\n"
#~ "import java.util.Date;\n"
#~ "import java.util.Iterator;\n"
#~ "\n"
#~ "import org.hibernate.EmptyInterceptor;\n"
#~ "import org.hibernate.Transaction;\n"
#~ "import org.hibernate.type.Type;\n"
#~ "\n"
#~ "public class AuditInterceptor extends EmptyInterceptor {\n"
#~ "\n"
#~ " private int updates;\n"
#~ " private int creates;\n"
#~ " private int loads;\n"
#~ "\n"
#~ " public void onDelete(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " // do nothing\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onFlushDirty(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] currentState,\n"
#~ " Object[] previousState,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " updates++;\n"
#~ " for ( int i=0; i &lt; propertyNames.length; i++ ) {\n"
#~ " if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) "
#~ "{\n"
#~ " currentState[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onLoad(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " loads++;\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onSave(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " creates++;\n"
#~ " for ( int i=0; i&lt;propertyNames.length; i++ ) {\n"
#~ " if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
#~ " state[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public void afterTransactionCompletion(Transaction tx) {\n"
#~ " if ( tx.wasCommitted() ) {\n"
#~ " System.out.println(\"Creations: \" + creates + \", Updates: "
#~ "\" + updates,\n"
#~ " \"Loads: \" + loads);\n"
#~ " }\n"
#~ " updates=0;\n"
#~ " creates=0;\n"
#~ " loads=0;\n"
#~ " }\n"
#~ "\n"
#~ "}"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
#~ msgstr "Session session = sf.openSession( new AuditInterceptor() );"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
#~ msgstr "new Configuration().setInterceptor( new AuditInterceptor() );"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
#~ " // this is the single method defined by the LoadEventListener "
#~ "interface\n"
#~ " public void onLoad(LoadEvent event, LoadEventListener.LoadType "
#~ "loadType)\n"
#~ " throws HibernateException {\n"
#~ " if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
#~ "getEntityId() ) ) {\n"
#~ " throw MySecurityException(\"Unauthorized access\");\n"
#~ " }\n"
#~ " }\n"
#~ "}]]>"
#~ msgstr ""
#~ "public class MyLoadListener implements LoadEventListener {\n"
#~ " // this is the single method defined by the LoadEventListener "
#~ "interface\n"
#~ " public void onLoad(LoadEvent event, LoadEventListener.LoadType "
#~ "loadType)\n"
#~ " throws HibernateException {\n"
#~ " if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
#~ "getEntityId() ) ) {\n"
#~ " throw MySecurityException(\"Unauthorized access\");\n"
#~ " }\n"
#~ " }\n"
#~ "}"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<hibernate-configuration>\n"
#~ " <session-factory>\n"
#~ " ...\n"
#~ " <event type=\"load\">\n"
#~ " <listener class=\"com.eg.MyLoadListener\"/>\n"
#~ " <listener class=\"org.hibernate.event.def."
#~ "DefaultLoadEventListener\"/>\n"
#~ " </event>\n"
#~ " </session-factory>\n"
#~ "</hibernate-configuration>]]>"
#~ msgstr ""
#~ "&lt;hibernate-configuration&gt;\n"
#~ " &lt;session-factory&gt;\n"
#~ " ...\n"
#~ " &lt;event type=\"load\"&gt;\n"
#~ " &lt;listener class=\"com.eg.MyLoadListener\"/&gt;\n"
#~ " &lt;listener class=\"org.hibernate.event.def."
#~ "DefaultLoadEventListener\"/&gt;\n"
#~ " &lt;/event&gt;\n"
#~ " &lt;/session-factory&gt;\n"
#~ "&lt;/hibernate-configuration&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Configuration cfg = new Configuration();\n"
#~ "LoadEventListener[] stack = { new MyLoadListener(), new "
#~ "DefaultLoadEventListener() };\n"
#~ "cfg.EventListeners().setLoadEventListeners(stack);]]>"
#~ msgstr ""
#~ "Configuration cfg = new Configuration();\n"
#~ "LoadEventListener[] stack = { new MyLoadListener(), new "
#~ "DefaultLoadEventListener() };\n"
#~ "cfg.EventListeners().setLoadEventListeners(stack);"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
#~ "JACCPreDeleteEventListener\"/>\n"
#~ "<listener type=\"pre-update\" class=\"org.hibernate.secure."
#~ "JACCPreUpdateEventListener\"/>\n"
#~ "<listener type=\"pre-insert\" class=\"org.hibernate.secure."
#~ "JACCPreInsertEventListener\"/>\n"
#~ "<listener type=\"pre-load\" class=\"org.hibernate.secure."
#~ "JACCPreLoadEventListener\"/>]]>"
#~ msgstr ""
#~ "&lt;listener type=\"pre-delete\" class=\"org.hibernate.secure."
#~ "JACCPreDeleteEventListener\"/&gt;\n"
#~ "&lt;listener type=\"pre-update\" class=\"org.hibernate.secure."
#~ "JACCPreUpdateEventListener\"/&gt;\n"
#~ "&lt;listener type=\"pre-insert\" class=\"org.hibernate.secure."
#~ "JACCPreInsertEventListener\"/&gt;\n"
#~ "&lt;listener type=\"pre-load\" class=\"org.hibernate.secure."
#~ "JACCPreLoadEventListener\"/&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,"
#~ "update,read\"/>\n"
#~ "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
#~ msgstr ""
#~ "&lt;grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,read"
#~ "\"/&gt;\n"
#~ "&lt;grant role=\"su\" entity-name=\"User\" actions=\"*\"/&gt;"

View File

@ -1,895 +0,0 @@
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-10T07:25:35\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#, no-c-format
msgid "Example: Parent/Child"
msgstr "Beispiel: \"Parent/Child\""
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"One of the first things that new users want to do with Hibernate is to model "
"a parent/child type relationship. There are two different approaches to "
"this. The most convenient approach, especially for new users, is to model "
"both <literal>Parent</literal> and <literal>Child</literal> as entity "
"classes with a <literal>&lt;one-to-many&gt;</literal> association from "
"<literal>Parent</literal> to <literal>Child</literal>. The alternative "
"approach is to declare the <literal>Child</literal> as a <literal>&lt;"
"composite-element&gt;</literal>. The default semantics of a one-to-many "
"association in Hibernate are much less close to the usual semantics of a "
"parent/child relationship than those of a composite element mapping. We will "
"explain how to use a <emphasis>bidirectional one-to-many association with "
"cascades</emphasis> to model a parent/child relationship efficiently and "
"elegantly."
msgstr ""
"Eine der ersten Sachen, die neue Benutzer mit Hibernate versuchen, ist es "
"eine Beziehung nach \"Parent\"/\"Child\"-Typ zu bilden. Es gibt dabei zwei "
"verschiedene Herangehensweisen. Aus verschiedenen Gründen empfiehlt es sich "
"gerade für neue Benutzer sowohl <literal>Parent</literal> als auch "
"<literal>Child</literal> als Entity-Klassen mit einer <literal>&lt;one-to-"
"many&gt;</literal>-Assoziation von <literal>Parent</literal> zu "
"<literal>Child</literal> zu modellieren. (Alternativ kann das "
"<literal>Child</literal> als ein <literal>&lt;composite-element&gt;</"
"literal> deklariert werden). Nun zeigt sich, dass die Standard-Semantik "
"einer \"One-to-Many\"-Assoziation (in Hibernate) der üblichen Semantik einer "
"\"Parent\" / \"Child\"-Beziehung weniger ähnlich als die eines "
"zusammengesetzten Element-Mappings ist. Wir werden erläutern, wie eine "
"<emphasis>bidirektionale \"One-to-Many\"-Assoziation mit Weitergabe</"
"emphasis> zu einer \"Parent\" / \"Child\"-Beziehung effizient und elegant "
"modelliert wird. Es ist überhaupt nicht schwierig!"
#. Tag: title
#, no-c-format
msgid "A note about collections"
msgstr "Eine Anmerkung zu Collections"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate collections are considered to be a logical part of their owning "
"entity and not of the contained entities. Be aware that this is a critical "
"distinction that has the following consequences:"
msgstr ""
"Hibernate Collections werden als logischer Teil der sie besitzenden Entity "
"angesehen - niemals der enthaltenen Entities. Dies ist eine kritische "
"Unterscheidung! Es hat die folgenden Konsequenzen:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"When you remove/add an object from/to a collection, the version number of "
"the collection owner is incremented."
msgstr ""
"Wird ein Objekt aus einer Collection entfernt oder zu einer Collection "
"hinzugefügt, so erhöht sich die Versionsnummer des Collection-Besitzers."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"If an object that was removed from a collection is an instance of a value "
"type (e.g. a composite element), that object will cease to be persistent and "
"its state will be completely removed from the database. Likewise, adding a "
"value type instance to the collection will cause its state to be immediately "
"persistent."
msgstr ""
"Falls es sich bei einem aus einer Collection entfernten Objekt um eine "
"Instanz mit Wertetyp handelt (z.B. ein zusammengesetzes Element), so ist "
"dieses Objekt nicht länger persistent und der Status wird vollständig aus "
"der Datenbank entfernt. Ebenso wird eine Wertetyp-Instanz automatisch "
"persistiert."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Conversely, if an entity is removed from a collection (a one-to-many or many-"
"to-many association), it will not be deleted by default. This behavior is "
"completely consistent; a change to the internal state of another entity "
"should not cause the associated entity to vanish. Likewise, adding an entity "
"to a collection does not cause that entity to become persistent, by default."
msgstr ""
"Wird eine Entity hingegen aus einer Collection entfernt (eine \"One-to-Many"
"\" oder \"Many-to-Many\"-Assoziation), so wird es in der Standardeinstellung "
"nicht gelöscht. Dieses Verhalten ist völlig konsistent - eine Änderung am "
"internen Status einer anderen Entity sollte nicht dazu führen, dass die "
"zugehörige Entity verschwindet! Ebenso führt das Hinzufügen einer Entity "
"nicht standardmäßig zu deren Persistierung."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Adding an entity to a collection, by default, merely creates a link between "
"the two entities. Removing the entity will remove the link. This is "
"appropriate for all sorts of cases. However, it is not appropriate in the "
"case of a parent/child relationship. In this case, the life of the child is "
"bound to the life cycle of the parent."
msgstr ""
"Statt dessen wird in der Standardeinstellung durch das Hinzufügen einer "
"Entity zu einer Collection eine Verbindung zwischen den zwei Entities "
"hergestellt, bei deren Entfernung hingegen die Verbindung gelöst. Das passt "
"für alle Arten von Fällen sehr gut. Lediglich im Falle einer \"Parent\"/"
"\"Child\"- Beziehung ist es überhaupt nicht passend, da der Lebenszyklus des "
"\"Child\" an den des \"Parent\" gebunden ist."
#. Tag: title
#, no-c-format
msgid "Bidirectional one-to-many"
msgstr "Bidirektionales \"One-to-Many\""
#. Tag: para
#, no-c-format
msgid ""
"Suppose we start with a simple <literal>&lt;one-to-many&gt;</literal> "
"association from <literal>Parent</literal> to <literal>Child</literal>."
msgstr ""
"Gehen wir einmal davon aus, wir wollten mit einer einfachen <literal>&lt;one-"
"to-many&gt;</literal>-Assoziation von <literal>Parent</literal> zu "
"<literal>Child</literal> beginnen."
#. Tag: para
#, fuzzy, no-c-format
msgid "If we were to execute the following code:"
msgstr "Würden wir den folgenden Code ausführen"
#. Tag: para
#, no-c-format
msgid "Hibernate would issue two SQL statements:"
msgstr "so würde Hibernate zwei SQL-Anweisungen herausgeben:"
#. Tag: para
#, no-c-format
msgid ""
"an <literal>INSERT</literal> to create the record for <literal>c</literal>"
msgstr ""
"ein <literal>INSERT</literal>, um den Datensatz für <literal>c</literal> zu "
"erstellen"
#. Tag: para
#, no-c-format
msgid ""
"an <literal>UPDATE</literal> to create the link from <literal>p</literal> to "
"<literal>c</literal>"
msgstr ""
"ein <literal>UPDATE</literal>, um die Verbindung von <literal>p</literal> "
"zu<literal>c</literal> zu erstellen"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"This is not only inefficient, but also violates any <literal>NOT NULL</"
"literal> constraint on the <literal>parent_id</literal> column. You can fix "
"the nullability constraint violation by specifying <literal>not-null=\"true"
"\"</literal> in the collection mapping:"
msgstr ""
"Das ist nicht nur ineffizient, sondern verletzt auch jedwede <literal>NOT "
"NULL</literal>-Bedingung an der <literal>parent_id</literal>-Spalte. Die "
"Verletzung der \"Nullability\"-Bedingung lässt sich durch das Setzen von "
"<literal>not-null=\"true\"</literal> im Collection-Mapping lösen:"
#. Tag: para
#, no-c-format
msgid "However, this is not the recommended solution."
msgstr "Dieses ist jedoch nicht die empfohlene Lösung:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The underlying cause of this behavior is that the link (the foreign key "
"<literal>parent_id</literal>) from <literal>p</literal> to <literal>c</"
"literal> is not considered part of the state of the <literal>Child</literal> "
"object and is therefore not created in the <literal>INSERT</literal>. The "
"solution is to make the link part of the <literal>Child</literal> mapping."
msgstr ""
"Die zu Grunde liegende Ursache für dieses Verhalten besteht darin, dass das "
"Link (der Fremdschlüssel <literal>parent_id</literal>) von <literal>p</"
"literal> zu <literal>c</literal> nicht als Teil des Status des "
"<literal>Child</literal>-Objekts angesehen wird und daher nicht im "
"<literal>INSERT</literal> erstellt werden kann. Die Lösung besteht also "
"darin, das Link zu einem Teil des <literal>Child</literal>-Mappings zu "
"machen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"You also need to add the <literal>parent</literal> property to the "
"<literal>Child</literal> class."
msgstr ""
"(Wir werden außerdem die <literal>parent</literal>-Property zur "
"<literal>Child</literal>-Klasse hinzufügen müssen)."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Now that the <literal>Child</literal> entity is managing the state of the "
"link, we tell the collection not to update the link. We use the "
"<literal>inverse</literal> attribute to do this:"
msgstr ""
"Da nun die <literal>Child</literal>-Entity den Status der Verbindung managt, "
"muss die Collection die Verbindung nicht mehr aktualisieren. Um der "
"Collection dies mitzuteilen verwenden wir das <literal>inverse</literal>-"
"Attribut."
#. Tag: para
#, fuzzy, no-c-format
msgid "The following code would be used to add a new <literal>Child</literal>:"
msgstr ""
"Der folgende Code würde verwendet, um ein neues <literal>Child</literal> "
"hinzuzufügen"
#. Tag: para
#, fuzzy, no-c-format
msgid "Only one SQL <literal>INSERT</literal> would now be issued."
msgstr "Und jetzt würde nur ein SQL <literal>INSERT</literal> herausgegeben!"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"You could also create an <literal>addChild()</literal> method of "
"<literal>Parent</literal>."
msgstr ""
"Um das Ganze etwas kompakter zu gestalten würden wir eine <literal>addChild()"
"</literal>-Method von <literal>Parent</literal> erstellen."
#. Tag: para
#, fuzzy, no-c-format
msgid "The code to add a <literal>Child</literal> looks like this:"
msgstr ""
"Nun sieht der Code für das Hinzufügen eines <literal>Child</literal> wie "
"folgt aus"
#. Tag: title
#, fuzzy, no-c-format
msgid "Cascading life cycle"
msgstr "Lebenszyklus der Weitergabe (\"Cascading\")"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"You can address the frustrations of the explicit call to <literal>save()</"
"literal> by using cascades."
msgstr ""
"Der explizite Aufruf <literal>save()</literal> ist nach wie vor nicht ideal. "
"Wir gehen dieses Problem mittels Kaskade (sog. \"Cascades\") an."
#. Tag: para
#, fuzzy, no-c-format
msgid "This simplifies the code above to:"
msgstr "Dies vereinfacht den vorherigen Code zu"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Similarly, we do not need to iterate over the children when saving or "
"deleting a <literal>Parent</literal>. The following removes <literal>p</"
"literal> and all its children from the database."
msgstr ""
"Auch müssen wir es bei den untergeordneten Objekten (\"children\") nicht "
"wiederholen, wenn wir einen <literal>Parent</literal> speichern oder "
"löschen. Nachfolgendes entfernt <literal>p</literal> und sämtliche von "
"dessen untergeordneten Objekten aus der Datenbank."
#. Tag: para
#, fuzzy, no-c-format
msgid "However, the following code:"
msgstr "Dieser Code jedoch"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"will not remove <literal>c</literal> from the database. In this case, it "
"will only remove the link to <literal>p</literal> and cause a <literal>NOT "
"NULL</literal> constraint violation. You need to explicitly <literal>delete()"
"</literal> the <literal>Child</literal>."
msgstr ""
"entfernt <literal>c</literal> nicht aus der Datenbank; lediglich die "
"Verbindung zu <literal>p</literal> wird gelöst (und eine Verletzung der "
"<literal>NOT NULL</literal>-Bedingung erfolgt in diesem Fall). Sie müssen "
"für das <literal>Child</literal> explizit <literal>delete()</literal> "
"festlegen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"In our case, a <literal>Child</literal> cannot exist without its parent. So "
"if we remove a <literal>Child</literal> from the collection, we do want it "
"to be deleted. To do this, we must use <literal>cascade=\"all-delete-orphan"
"\"</literal>."
msgstr ""
"In unserem Fall kann jedoch ein <literal>Child</literal> ohne den "
"übergeordneten \"Parent\" eigentlich nicht existieren. Wenn wir also ein "
"<literal>Child</literal> aus der Collection entfernen, so wollen wir dieses "
"tatsächlich löschen. Dafür müssen wir <literal>cascade=\"all-delete-orphan"
"\"</literal> verwenden."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Even though the collection mapping specifies <literal>inverse=\"true\"</"
"literal>, cascades are still processed by iterating the collection elements. "
"If you need an object be saved, deleted or updated by cascade, you must add "
"it to the collection. It is not enough to simply call <literal>setParent()</"
"literal>."
msgstr ""
"Hinweis: Selbst wenn das Collection-Mapping <literal>inverse=\"true\"</"
"literal> spezifiziert, werden Weitergaben nach wie vor durch Wiederholung "
"der Collection-Elemente bearbeitet. Falls Sie also ein Objekt durch "
"Weitergabe speichern, löschen oder aktualisieren möchten, müssen Sie es der "
"Collection hinzufügen. Ein einfacher Aufruf von <literal>setParent()</"
"literal> reicht in diesem Fall nicht aus."
#. Tag: title
#, fuzzy, no-c-format
msgid "Cascades and <literal>unsaved-value</literal>"
msgstr "Kaskaden und ungespeicherter Wert"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Suppose we loaded up a <literal>Parent</literal> in one <literal>Session</"
"literal>, made some changes in a UI action and wanted to persist these "
"changes in a new session by calling <literal>update()</literal>. The "
"<literal>Parent</literal> will contain a collection of children and, since "
"the cascading update is enabled, Hibernate needs to know which children are "
"newly instantiated and which represent existing rows in the database. We "
"will also assume that both <literal>Parent</literal> and <literal>Child</"
"literal> have generated identifier properties of type <literal>Long</"
"literal>. Hibernate will use the identifier and version/timestamp property "
"value to determine which of the children are new. (See <xref linkend="
"\"objectstate-saveorupdate\" />.) <emphasis>In Hibernate3, it is no longer "
"necessary to specify an <literal>unsaved-value</literal> explicitly.</"
"emphasis>"
msgstr ""
"Gehen wir einmal davon aus, wir hätten einen <literal>Parent</literal> in "
"einer <literal>Session</literal> hochgeladen, einige Änderungen in einer UI-"
"Aktion vorgenommen und wollten diese Änderungen in einer neuen Session durch "
"Aufruf von <literal>update()</literal> persistieren. Der <literal>Parent</"
"literal> wird eine Collection von untergeordneten Objekten (den \"children"
"\") enthalten, und da die Kaskade aktiviert ist, muss Hibernate wissen, "
"welche \"Children\" neu instanziiert sind und welche bestehende Reihen in "
"der Datenbank repräsentieren. Nehmen wir an, dass sowohl <literal>Parent</"
"literal> als auch <literal>Child</literal> generierte Bezeichner-Properties "
"des Typs <literal>Long</literal> besitzen. Hibernate wird den Bezeichner und "
"den Property-Wert von Version/Zeitstempel verwenden, um zu bestimmen, welche "
"der \"Children\" neu sind. (Siehe <xref linkend=\"objectstate-saveorupdate\"/"
">). <emphasis>In Hibernate3 ist es nicht mehr notwendig, explizit einen "
"<literal>unsaved-value</literal> festzulegen.</emphasis>"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The following code will update <literal>parent</literal> and <literal>child</"
"literal> and insert <literal>newChild</literal>:"
msgstr ""
"Der folgende Code aktualisiert <literal>parent</literal> und <literal>child</"
"literal> und fügt <literal>newChild</literal> hinzu."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"This may be suitable for the case of a generated identifier, but what about "
"assigned identifiers and composite identifiers? This is more difficult, "
"since Hibernate cannot use the identifier property to distinguish between a "
"newly instantiated object, with an identifier assigned by the user, and an "
"object loaded in a previous session. In this case, Hibernate will either use "
"the timestamp or version property, or will actually query the second-level "
"cache or, worst case, the database, to see if the row exists."
msgstr ""
"Nun, all das funktioniert hervorragend im Falle eines generierten "
"Bezeichners, aber was ist mit zugeordneten Bezeichnern und zusammengesetzten "
"Bezeichnern? Das ist schwieriger, da Hibernate hier nicht die Bezeichner-"
"Property zur Unterscheidung zwischen einem neu instantiierten Objekt (mit "
"einem durch den Benutzer zugeordneten Bezeichner) und einem in einer "
"früheren Session geladenen Objekt verwenden kann. In diesem Fall verwendet "
"Hibernate entweder den Zeitstempel oder die Versions-Property oder fragt "
"beim Speicher der zweiten Ebene an. Schlimmstenfalls prüft es in der "
"Datenbank, ob die Reihe existiert."
#. Tag: title
#, no-c-format
msgid "Conclusion"
msgstr "Zusammenfassung"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The sections we have just covered can be a bit confusing. However, in "
"practice, it all works out nicely. Most Hibernate applications use the "
"parent/child pattern in many places."
msgstr ""
"Das sind eine Menge an Informationen, die zu Beginn vielleicht etwas "
"verwirrend erscheinen. In der Praxis jedoch funktioniert das alles sehr gut. "
"Die meisten Hibernate-Anwendungen verwenden die \"Parent/Child\"-Vorlage bei "
"vielen Gelegenheiten."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"We mentioned an alternative in the first paragraph. None of the above issues "
"exist in the case of <literal>&lt;composite-element&gt;</literal> mappings, "
"which have exactly the semantics of a parent/child relationship. "
"Unfortunately, there are two big limitations with composite element classes: "
"composite elements cannot own collections and they should not be the child "
"of any entity other than the unique parent."
msgstr ""
"Im ersten Abschnitt haben wir eine Alternative erwähnt. Keines der gennaten "
"Probleme existiert im Fall von <literal>&lt;composite-element&gt;</literal>-"
"Mappings, die dieselbe Semantik wie eine \"Parent/Child\"-Beziehung "
"besitzen. Leider bestehen zwei große Einschränkungen bei zusammengesetzten "
"Elementklassen: Zusammengesetzte Elemente können keine Collections besitzen "
"und sie sollten nicht das untergeordnete Objekt (\"Child\") irgendeiner "
"Entity außer dem eindeutigen, übergeordneten Objekt (\"Parent\") sein."
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<set name=\"children\">\n"
#~ " <key column=\"parent_id\"/>\n"
#~ " <one-to-many class=\"Child\"/>\n"
#~ "</set>]]>"
#~ msgstr ""
#~ "&lt;set name=\"children\"&gt;\n"
#~ " &lt;key column=\"parent_id\"/&gt;\n"
#~ " &lt;one-to-many class=\"Child\"/&gt;\n"
#~ "&lt;/set&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Parent p = .....;\n"
#~ "Child c = new Child();\n"
#~ "p.getChildren().add(c);\n"
#~ "session.save(c);\n"
#~ "session.flush();]]>"
#~ msgstr ""
#~ "Parent p = .....;\n"
#~ "Child c = new Child();\n"
#~ "p.getChildren().add(c);\n"
#~ "session.save(c);\n"
#~ "session.flush();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<set name=\"children\">\n"
#~ " <key column=\"parent_id\" not-null=\"true\"/>\n"
#~ " <one-to-many class=\"Child\"/>\n"
#~ "</set>]]>"
#~ msgstr ""
#~ "&lt;set name=\"children\"&gt;\n"
#~ " &lt;key column=\"parent_id\" not-null=\"true\"/&gt;\n"
#~ " &lt;one-to-many class=\"Child\"/&gt;\n"
#~ "&lt;/set&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true"
#~ "\"/>]]>"
#~ msgstr ""
#~ "&lt;many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/"
#~ "&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<set name=\"children\" inverse=\"true\">\n"
#~ " <key column=\"parent_id\"/>\n"
#~ " <one-to-many class=\"Child\"/>\n"
#~ "</set>]]>"
#~ msgstr ""
#~ "&lt;set name=\"children\" inverse=\"true\"&gt;\n"
#~ " &lt;key column=\"parent_id\"/&gt;\n"
#~ " &lt;one-to-many class=\"Child\"/&gt;\n"
#~ "&lt;/set&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = new Child();\n"
#~ "c.setParent(p);\n"
#~ "p.getChildren().add(c);\n"
#~ "session.save(c);\n"
#~ "session.flush();]]>"
#~ msgstr ""
#~ "Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = new Child();\n"
#~ "c.setParent(p);\n"
#~ "p.getChildren().add(c);\n"
#~ "session.save(c);\n"
#~ "session.flush();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[public void addChild(Child c) {\n"
#~ " c.setParent(this);\n"
#~ " children.add(c);\n"
#~ "}]]>"
#~ msgstr ""
#~ "public void addChild(Child c) {\n"
#~ " c.setParent(this);\n"
#~ " children.add(c);\n"
#~ "}"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = new Child();\n"
#~ "p.addChild(c);\n"
#~ "session.save(c);\n"
#~ "session.flush();]]>"
#~ msgstr ""
#~ "Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = new Child();\n"
#~ "p.addChild(c);\n"
#~ "session.save(c);\n"
#~ "session.flush();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all\">\n"
#~ " <key column=\"parent_id\"/>\n"
#~ " <one-to-many class=\"Child\"/>\n"
#~ "</set>]]>"
#~ msgstr ""
#~ "&lt;set name=\"children\" inverse=\"true\" cascade=\"all\"&gt;\n"
#~ " &lt;key column=\"parent_id\"/&gt;\n"
#~ " &lt;one-to-many class=\"Child\"/&gt;\n"
#~ "&lt;/set&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = new Child();\n"
#~ "p.addChild(c);\n"
#~ "session.flush();]]>"
#~ msgstr ""
#~ "Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = new Child();\n"
#~ "p.addChild(c);\n"
#~ "session.flush();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "session.delete(p);\n"
#~ "session.flush();]]>"
#~ msgstr ""
#~ "Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "session.delete(p);\n"
#~ "session.flush();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = (Child) p.getChildren().iterator().next();\n"
#~ "p.getChildren().remove(c);\n"
#~ "c.setParent(null);\n"
#~ "session.flush();]]>"
#~ msgstr ""
#~ "Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = (Child) p.getChildren().iterator().next();\n"
#~ "p.getChildren().remove(c);\n"
#~ "c.setParent(null);\n"
#~ "session.flush();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = (Child) p.getChildren().iterator().next();\n"
#~ "p.getChildren().remove(c);\n"
#~ "session.delete(c);\n"
#~ "session.flush();]]>"
#~ msgstr ""
#~ "Parent p = (Parent) session.load(Parent.class, pid);\n"
#~ "Child c = (Child) p.getChildren().iterator().next();\n"
#~ "p.getChildren().remove(c);\n"
#~ "session.delete(c);\n"
#~ "session.flush();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all-delete-"
#~ "orphan\">\n"
#~ " <key column=\"parent_id\"/>\n"
#~ " <one-to-many class=\"Child\"/>\n"
#~ "</set>]]>"
#~ msgstr ""
#~ "&lt;set name=\"children\" inverse=\"true\" cascade=\"all-delete-orphan"
#~ "\"&gt;\n"
#~ " &lt;key column=\"parent_id\"/&gt;\n"
#~ " &lt;one-to-many class=\"Child\"/&gt;\n"
#~ "&lt;/set&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[//parent and child were both loaded in a previous session\n"
#~ "parent.addChild(child);\n"
#~ "Child newChild = new Child();\n"
#~ "parent.addChild(newChild);\n"
#~ "session.update(parent);\n"
#~ "session.flush();]]>"
#~ msgstr ""
#~ "//parent and child were both loaded in a previous session\n"
#~ "parent.addChild(child);\n"
#~ "Child newChild = new Child();\n"
#~ "parent.addChild(newChild);\n"
#~ "session.update(parent);\n"
#~ "session.flush();"

View File

@ -1,746 +0,0 @@
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-07-20 21:02+0000\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#: filters.xml:31
#, no-c-format
msgid "Filtering data"
msgstr "Das Filtern von Daten"
#. Tag: para
#: filters.xml:33
#, fuzzy, no-c-format
msgid ""
"Hibernate3 provides an innovative new approach to handling data with "
"\"visibility\" rules. A <emphasis>Hibernate filter</emphasis> is a global, "
"named, parameterized filter that can be enabled or disabled for a particular "
"Hibernate session."
msgstr ""
"Hibernate3 bietet eine innovative, neue Möglichkeit des Umgangs mit Daten "
"mittels \"Sichtbarkeits\"regeln. Bei einem <emphasis>Hibernate Filter</"
"emphasis> handelt es sich um einen allgemeingültig benannten, "
"parametrisierten Filter, der für eine bestimmte Hibernate Session aktiviert "
"oder deaktiviert werden kann."
#. Tag: title
#: filters.xml:39
#, no-c-format
msgid "Hibernate filters"
msgstr "Hibernate Filter"
#. Tag: para
#: filters.xml:41
#, fuzzy, no-c-format
msgid ""
"Hibernate3 has the ability to pre-define filter criteria and attach those "
"filters at both a class level and a collection level. A filter criteria "
"allows you to define a restriction clause similar to the existing \"where\" "
"attribute available on the class and various collection elements. These "
"filter conditions, however, can be parameterized. The application can then "
"decide at runtime whether certain filters should be enabled and what their "
"parameter values should be. Filters can be used like database views, but "
"they are parameterized inside the application."
msgstr ""
"Hibernate3 bietet die zusätzliche Möglichkeit, Filterkriterien im Vorfeld zu "
"definieren und diese Filter sowohl einer Klasse als auch einer Collection-"
"Ebene zuzufügen. Ein Filterkriterium ist die Möglichkeit eine "
"Einschränkungsklausel zu definieren, die dem bestehenden \"where\"-Attribut "
"an der Klasse sowie an verschiedenen Collection-Elementen sehr ähnlich ist. "
"Der Unterschied besteht darin, dass diese Filterbedingungen parametrisiert "
"werden können. Die Anwendung kann zur Runtime die Entscheidung darüber "
"treffen, ob die vorgegebenen Filter aktiviert werden und wie deren Parameter "
"lauten sollen. Filter können wie Datenbankansichten verwendet , jedoch "
"innerhalb der Anwendung parametrisiert werden."
#. Tag: para
#: filters.xml:50
#, no-c-format
msgid ""
"Using annotatons filters are defined via <literal>@org.hibernate.annotations."
"FilterDef</literal> or <literal>@org.hibernate.annotations.FilterDefs</"
"literal>. A filter definition has a <methodname>name()</methodname> and an "
"array of parameters(). A parameter will allow you to adjust the behavior of "
"the filter at runtime. Each parameter is defined by a <literal>@ParamDef</"
"literal> which has a name and a type. You can also define a "
"<methodname>defaultCondition()</methodname> parameter for a given "
"<literal>@FilterDef</literal> to set the default condition to use when none "
"are defined in each individual <literal>@Filter</literal>. "
"<literal>@FilterDef</literal>(s) can be defined at the class or package "
"level."
msgstr ""
#. Tag: para
#: filters.xml:63
#, no-c-format
msgid ""
"We now need to define the SQL filter clause applied to either the entity "
"load or the collection load. <literal>@Filter</literal> is used and placed "
"either on the entity or the collection element. The connection between "
"<classname>@FilterName</classname> and <classname>@Filter</classname> is a "
"matching name."
msgstr ""
#. Tag: title
#: filters.xml:70
#, no-c-format
msgid "@FilterDef and @Filter annotations"
msgstr ""
#. Tag: programlisting
#: filters.xml:72
#, no-c-format
msgid ""
"@Entity\n"
"@FilterDef(name=\"minLength\", parameters=@ParamDef( name=\"minLength\", "
"type=\"integer\" ) )\n"
"@Filters( {\n"
" @Filter(name=\"betweenLength\", condition=\":minLength &lt;= length and :"
"maxLength &gt;= length\"),\n"
" @Filter(name=\"minLength\", condition=\":minLength &lt;= length\")\n"
"} )\n"
"public class Forest { ... }"
msgstr ""
#. Tag: para
#: filters.xml:75
#, no-c-format
msgid ""
"When the collection use an association table as a relational representation, "
"you might want to apply the filter condition to the association table itself "
"or to the target entity table. To apply the constraint on the target entity, "
"use the regular <literal>@Filter</literal> annotation. However, if you want "
"to target the association table, use the <literal>@FilterJoinTable</literal> "
"annotation."
msgstr ""
#. Tag: title
#: filters.xml:84
#, no-c-format
msgid ""
"Using <classname>@FilterJoinTable</classname> for filterting on the "
"association table"
msgstr ""
#. Tag: programlisting
#: filters.xml:87
#, no-c-format
msgid ""
"@OneToMany\n"
" @JoinTable\n"
" //filter on the target entity table\n"
" @Filter(name=\"betweenLength\", condition=\":minLength &lt;= length and :"
"maxLength &gt;= length\")\n"
" //filter on the association table\n"
" @FilterJoinTable(name=\"security\", condition=\":userlevel &gt;= "
"requredLevel\")\n"
" public Set&lt;Forest&gt; getForests() { ... }"
msgstr ""
#. Tag: para
#: filters.xml:90
#, fuzzy, no-c-format
msgid ""
"Using Hibernate mapping files for defining filters the situtation is very "
"similar. The filters must first be defined and then attached to the "
"appropriate mapping elements. To define a filter, use the <literal>&lt;"
"filter-def/&gt;</literal> element within a <literal>&lt;hibernate-mapping/"
"&gt;</literal> element:"
msgstr ""
"Um Filter zu benutzen müssen diese zunächst definiert und anschließend den "
"betreffenden Mapping-Elementen zugefügt werden. Um einen Filter zu "
"definieren, verwenden Sie das <literal>&lt;filter-def/&gt;</literal>-Element "
"innerhalb eines <literal>&lt;hibernate-mapping/&gt;</literal>-Elements:"
#. Tag: title
#: filters.xml:97
#, no-c-format
msgid "Defining a filter definition via <literal>&lt;filter-def&gt;</literal>"
msgstr ""
#. Tag: programlisting
#: filters.xml:100
#, fuzzy, no-c-format
msgid ""
"&lt;filter-def name=\"myFilter\"&gt;\n"
" &lt;filter-param name=\"myFilterParam\" type=\"string\"/&gt;\n"
"&lt;/filter-def&gt;"
msgstr ""
"&lt;filter-def name=\"myFilter\"&gt;\n"
" &lt;filter-param name=\"myFilterParam\" type=\"string\"/&gt;\n"
"&lt;/filter-def&gt;"
#. Tag: para
#: filters.xml:103
#, fuzzy, no-c-format
msgid ""
"This filter can then be attached to a class or collection (or, to both or "
"multiples of each at the same time):"
msgstr "oder gar beiden (oder mehreren von beiden) gleichzeitig."
#. Tag: title
#: filters.xml:107
#, no-c-format
msgid ""
"Attaching a filter to a class or collection using <literal>&lt;filter&gt;</"
"literal>"
msgstr ""
#. Tag: programlisting
#: filters.xml:110
#, no-c-format
msgid ""
"&lt;class name=\"myClass\" ...&gt;\n"
" ...\n"
" &lt;filter name=\"myFilter\" condition=\":myFilterParam = "
"MY_FILTERED_COLUMN\"/&gt;\n"
"\n"
" &lt;set ...&gt;\n"
" &lt;filter name=\"myFilter\" condition=\":myFilterParam = "
"MY_FILTERED_COLUMN\"/&gt;\n"
" &lt;/set&gt; \n"
"&lt;/class&gt;"
msgstr ""
#. Tag: para
#: filters.xml:113
#, fuzzy, no-c-format
msgid ""
"The methods on <literal>Session</literal> are: <literal>enableFilter(String "
"filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
"literal>, and <literal>disableFilter(String filterName)</literal>. By "
"default, filters are <emphasis>not</emphasis> enabled for a given session. "
"Filters must be enabled through use of the <literal>Session.enableFilter()</"
"literal> method, which returns an instance of the <literal>Filter</literal> "
"interface. If you used the simple filter defined above, it would look like "
"this:"
msgstr ""
"Die Methoden an <literal>Session</literal> sind: <literal>enableFilter"
"(String filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
"literal> und <literal>disableFilter(String filterName)</literal>. "
"Standardmäßig werden Filter <emphasis>nicht</emphasis> für eine vorgegebene "
"Session verwendet, sondern müssen mittels der <literal>Session.enabledFilter"
"()</literal>-Methode, die eine Instanz des <literal>Filter</literal>-"
"Interface wiedergibt, explizit aktiviert werden. Die Verwendung des oben "
"definierten, einfachen Filters würde wie folgt aussehen:"
#. Tag: programlisting
#: filters.xml:123
#, fuzzy, no-c-format
msgid ""
"session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", \"some-"
"value\");"
msgstr ""
"session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", \"some-"
"value\");"
#. Tag: para
#: filters.xml:125
#, fuzzy, no-c-format
msgid ""
"Methods on the org.hibernate.Filter interface do allow the method-chaining "
"common to much of Hibernate."
msgstr ""
"Bitte beachten Sie, dass Methoden am org.hibernate.Filter-Interface "
"Methodenverkettung - wie in den meisten Teilen von Hibernate üblich - "
"erlauben."
#. Tag: para
#: filters.xml:128
#, fuzzy, no-c-format
msgid ""
"The following is a full example, using temporal data with an effective "
"record date pattern:"
msgstr ""
"Nachfolgend sehen Sie ein vollständiges Beispiel unter Verwendung temporaler "
"Daten mit effektivem Datumsformat für den Datensatz:"
#. Tag: programlisting
#: filters.xml:131
#, fuzzy, no-c-format
msgid ""
"&lt;filter-def name=\"effectiveDate\"&gt;\n"
" &lt;filter-param name=\"asOfDate\" type=\"date\"/&gt;\n"
"&lt;/filter-def&gt;\n"
"\n"
"&lt;class name=\"Employee\" ...&gt;\n"
"...\n"
" &lt;many-to-one name=\"department\" column=\"dept_id\" class=\"Department"
"\"/&gt;\n"
" &lt;property name=\"effectiveStartDate\" type=\"date\" column="
"\"eff_start_dt\"/&gt;\n"
" &lt;property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt"
"\"/&gt;\n"
"...\n"
" &lt;!--\n"
" Note that this assumes non-terminal records have an eff_end_dt set "
"to\n"
" a max db date for simplicity-sake\n"
" --&gt;\n"
" &lt;filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
"&gt;\n"
"&lt;/class&gt;\n"
"\n"
"&lt;class name=\"Department\" ...&gt;\n"
"...\n"
" &lt;set name=\"employees\" lazy=\"true\"&gt;\n"
" &lt;key column=\"dept_id\"/&gt;\n"
" &lt;one-to-many class=\"Employee\"/&gt;\n"
" &lt;filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
"&gt;\n"
" &lt;/set&gt;\n"
"&lt;/class&gt;"
msgstr ""
"&lt;filter-def name=\"effectiveDate\"&gt;\n"
" &lt;filter-param name=\"asOfDate\" type=\"date\"/&gt;\n"
"&lt;/filter-def&gt;\n"
"\n"
"&lt;class name=\"Employee\" ...&gt;\n"
"...\n"
" &lt;many-to-one name=\"department\" column=\"dept_id\" class=\"Department"
"\"/&gt;\n"
" &lt;property name=\"effectiveStartDate\" type=\"date\" column="
"\"eff_start_dt\"/&gt;\n"
" &lt;property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt"
"\"/&gt;\n"
"...\n"
" &lt;!--\n"
" Note that this assumes non-terminal records have an eff_end_dt set "
"to\n"
" a max db date for simplicity-sake\n"
" --&gt;\n"
" &lt;filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
"&gt;\n"
"&lt;/class&gt;\n"
"\n"
"&lt;class name=\"Department\" ...&gt;\n"
"...\n"
" &lt;set name=\"employees\" lazy=\"true\"&gt;\n"
" &lt;key column=\"dept_id\"/&gt;\n"
" &lt;one-to-many class=\"Employee\"/&gt;\n"
" &lt;filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
"&gt;\n"
" &lt;/set&gt;\n"
"&lt;/class&gt;"
#. Tag: para
#: filters.xml:133
#, fuzzy, no-c-format
msgid ""
"In order to ensure that you are provided with currently effective records, "
"enable the filter on the session prior to retrieving employee data:"
msgstr ""
"Anschließend aktivieren Sie einfach den Filter an der Session vor dem Abruf "
"der Angestelltendaten um sicherzustellen, dass Sie stets die aktuell "
"wirksamen Datensätze erhalten:"
#. Tag: programlisting
#: filters.xml:137
#, fuzzy, no-c-format
msgid ""
"Session session = ...;\n"
"session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
"());\n"
"List results = session.createQuery(\"from Employee as e where e.salary &gt; :"
"targetSalary\")\n"
" .setLong(\"targetSalary\", new Long(1000000))\n"
" .list();"
msgstr ""
"Session session = ...;\n"
"session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
"());\n"
"List results = session.createQuery(\"from Employee as e where e.salary &gt; :"
"targetSalary\")\n"
" .setLong(\"targetSalary\", new Long(1000000))\n"
" .list();"
#. Tag: para
#: filters.xml:139
#, fuzzy, no-c-format
msgid ""
"Even though a salary constraint was mentioned explicitly on the results in "
"the above HQL, because of the enabled filter, the query will return only "
"currently active employees who have a salary greater than one million "
"dollars."
msgstr ""
"In der vorherigen HQL antwortet die Anfrage wegen des aktivierten Filters "
"nur mit aktuell aktiven Angestellten, deren Gehalt höher als eine Million "
"Dollar ist, obwohl lediglich eine Gehaltsbedingung formuliert wurde."
#. Tag: para
#: filters.xml:144
#, fuzzy, no-c-format
msgid ""
"If you want to use filters with outer joining, either through HQL or load "
"fetching, be careful of the direction of the condition expression. It is "
"safest to set this up for left outer joining. Place the parameter first "
"followed by the column name(s) after the operator."
msgstr ""
"Hinweis: Falls Sie vorhaben, Filter mit \"outer-Joining\" zu verwenden "
"(entweder durch HQL oder Load-Abruf) achten Sie auf die Richtung des "
"Bedingungsausdrucks. Am sichersten ist es, das Ganze für \"left-outer-Joining"
"\" einzurichten. Generell sollte der Parameter zuerst gesetzt werden und "
"anschließend der (die) Spaltenname(n) nach dem Operator."
#. Tag: para
#: filters.xml:149
#, fuzzy, no-c-format
msgid ""
"After being defined, a filter might be attached to multiple entities and/or "
"collections each with its own condition. This can be problematic when the "
"conditions are the same each time. Using <literal>&lt;filter-def/&gt;</"
"literal> allows you to definine a default condition, either as an attribute "
"or CDATA:"
msgstr ""
"Nachdem ein Filter definiert wurde, kann er mehreren Entities und/oder "
"Collections mit jeweils eigener Bedingung hinzugefügt werden. Das kann eine "
"langweilige Aufgabe sein, wenn die Bedingungen stets dieselben sind. Daher "
"erlaubt <literal>&lt;filter-def/&gt;</literal> die Definition einer "
"Standardbedingung als Attribut oder als CDATA:"
#. Tag: programlisting
#: filters.xml:155
#, fuzzy, no-c-format
msgid ""
"&lt;filter-def name=\"myFilter\" condition=\"abc &gt; xyz\"&gt;...&lt;/"
"filter-def&gt;\n"
"&lt;filter-def name=\"myOtherFilter\"&gt;abc=xyz&lt;/filter-def&gt;"
msgstr ""
"&lt;filter-def name=\"myFilter\" condition=\"abc &gt; xyz\"&gt;...&lt;/"
"filter-def&gt;\n"
"&lt;filter-def name=\"myOtherFilter\"&gt;abc=xyz&lt;/filter-def&gt;"
#. Tag: para
#: filters.xml:157
#, fuzzy, no-c-format
msgid ""
"This default condition will be used whenever the filter is attached to "
"something without specifying a condition. This means you can give a specific "
"condition as part of the attachment of the filter that overrides the default "
"condition in that particular case."
msgstr ""
"Diese Standardbedingung wird dann verwendet, wenn der Filter zu etwas "
"hinzugefügt wird, ohne dass eine Bedingung spezifiziert wird. Bitte beachten "
"Sie, dass dies bedeutet, dass Sie eine spezielle Bedingung als Teil des "
"Filteranhangs festlegen können, die die Standardbedingung in diesem "
"bestimmten Fall außer Kraft setzt."
#, fuzzy
#~ msgid "This filter can then be attached to a class:"
#~ msgstr "Anschließend kann dieser Filter einer Klasse zugefügt werden:"
#, fuzzy
#~ msgid "Or, to a collection:"
#~ msgstr "oder einer Collection:"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<class name=\"myClass\" ...>\n"
#~ " ...\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</class>]]>"
#~ msgstr ""
#~ "&lt;class name=\"myClass\" ...&gt;\n"
#~ " ...\n"
#~ " &lt;filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/&gt;\n"
#~ "&lt;/class&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<set ...>\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</set>]]>"
#~ msgstr ""
#~ "&lt;set ...&gt;\n"
#~ " &lt;filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/&gt;\n"
#~ "&lt;/set&gt;"

View File

@ -1,514 +0,0 @@
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#: portability.xml:31
#, fuzzy, no-c-format
msgid "Database Portability Considerations"
msgstr "Abgrenzung von Datenbanktransaktionen"
#. Tag: title
#: portability.xml:34
#, no-c-format
msgid "Portability Basics"
msgstr ""
#. Tag: para
#: portability.xml:36
#, no-c-format
msgid ""
"One of the selling points of Hibernate (and really Object/Relational Mapping "
"as a whole) is the notion of database portability. This could mean an "
"internal IT user migrating from one database vendor to another, or it could "
"mean a framework or deployable application consuming Hibernate to "
"simultaneously target multiple database products by their users. Regardless "
"of the exact scenario, the basic idea is that you want Hibernate to help you "
"run against any number of databases without changes to your code, and "
"ideally without any changes to the mapping metadata."
msgstr ""
#. Tag: title
#: portability.xml:47
#, no-c-format
msgid "Dialect"
msgstr "Dialekt"
#. Tag: para
#: portability.xml:49
#, no-c-format
msgid ""
"The first line of portability for Hibernate is the dialect, which is a "
"specialization of the <classname>org.hibernate.dialect.Dialect</classname> "
"contract. A dialect encapsulates all the differences in how Hibernate must "
"communicate with a particular database to accomplish some task like getting "
"a sequence value or structuring a SELECT query. Hibernate bundles a wide "
"range of dialects for many of the most popular databases. If you find that "
"your particular database is not among them, it is not terribly difficult to "
"write your own."
msgstr ""
#. Tag: title
#: portability.xml:60
#, no-c-format
msgid "Dialect resolution"
msgstr ""
#. Tag: para
#: portability.xml:62
#, no-c-format
msgid ""
"Originally, Hibernate would always require that users specify which dialect "
"to use. In the case of users looking to simultaneously target multiple "
"databases with their build that was problematic. Generally this required "
"their users to configure the Hibernate dialect or defining their own method "
"of setting that value."
msgstr ""
#. Tag: para
#: portability.xml:69
#, no-c-format
msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically "
"detecting the dialect to use based on the <interfacename>java.sql."
"DatabaseMetaData</interfacename> obtained from a <interfacename>java.sql."
"Connection</interfacename> to that database. This was much better, expect "
"that this resolution was limited to databases Hibernate know about ahead of "
"time and was in no way configurable or overrideable."
msgstr ""
#. Tag: para
#: portability.xml:77
#, no-c-format
msgid ""
"Starting with version 3.3, Hibernate has a fare more powerful way to "
"automatically determine which dialect to should be used by relying on a "
"series of delegates which implement the <interfacename>org.hibernate.dialect."
"resolver.DialectResolver</interfacename> which defines only a single method:"
"<programlisting role=\"JAVA\"><![CDATA[public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException]]></"
"programlisting>. The basic contract here is that if the resolver "
"'understands' the given database metadata then it returns the corresponding "
"Dialect; if not it returns null and the process continues to the next "
"resolver. The signature also identifies <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname> as possibly being thrown. "
"A JDBCConnectionException here is interpreted to imply a \"non transient"
"\" (aka non-recoverable) connection problem and is used to indicate an "
"immediate stop to resolution attempts. All other exceptions result in a "
"warning and continuing on to the next resolver."
msgstr ""
#. Tag: para
#: portability.xml:90
#, no-c-format
msgid ""
"The cool part about these resolvers is that users can also register their "
"own custom resolvers which will be processed ahead of the built-in Hibernate "
"ones. This might be useful in a number of different situations: it allows "
"easy integration for auto-detection of dialects beyond those shipped with "
"HIbernate itself; it allows you to specify to use a custom dialect when a "
"particular database is recognized; etc. To register one or more resolvers, "
"simply specify them (seperated by commas, tabs or spaces) using the "
"'hibernate.dialect_resolvers' configuration setting (see the "
"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
"cfg.Environment</classname>)."
msgstr ""
#. Tag: title
#: portability.xml:103
#, fuzzy, no-c-format
msgid "Identifier generation"
msgstr "Die \"Getter\"-Methode des Bezeichners"
#. Tag: para
#: portability.xml:105
#, no-c-format
msgid ""
"When considering portability between databases, another important decision "
"is selecting the identifier generation stratagy you want to use. Originally "
"Hibernate provided the <emphasis>native</emphasis> generator for this "
"purpose, which was intended to select between a <emphasis>sequence</"
"emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> "
"strategy depending on the capability of the underlying database. However, an "
"insidious implication of this approach comes about when targtetting some "
"databases which support <emphasis>identity</emphasis> generation and some "
"which do not. <emphasis>identity</emphasis> generation relies on the SQL "
"definition of an IDENTITY (or auto-increment) column to manage the "
"identifier value; it is what is known as a post-insert generation strategy "
"becauase the insert must actually happen before we can know the identifier "
"value. Because Hibernate relies on this identifier value to uniquely "
"reference entities within a persistence context it must then issue the "
"insert immediately when the users requests the entitiy be associated with "
"the session (like via save() e.g.) regardless of current transactional "
"semantics. <note> <para> Hibernate was changed slightly once the implication "
"of this was better understood so that the insert is delayed in cases where "
"that is feasible. </para> </note> The underlying issue is that the actual "
"semanctics of the application itself changes in these cases."
msgstr ""
#. Tag: para
#: portability.xml:130
#, no-c-format
msgid ""
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
"targetting portability in a much different way. <note> <para> There are "
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> The idea behind these generators "
"is to port the actual semantics of the identifer value generation to the "
"different databases. For example, the <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
"databases which do not support sequences by using a table."
msgstr ""
#. Tag: title
#: portability.xml:159
#, fuzzy, no-c-format
msgid "Database functions"
msgstr "Aggregierte Funktionen"
#. Tag: para
#: portability.xml:162
#, no-c-format
msgid ""
"This is an area in Hibernate in need of improvement. In terms of portability "
"concerns, this function handling currently works pretty well from HQL; "
"however, it is quite lacking in all other aspects."
msgstr ""
#. Tag: para
#: portability.xml:169
#, no-c-format
msgid ""
"SQL functions can be referenced in many ways by users. However, not all "
"databases support the same set of functions. Hibernate, provides a means of "
"mapping a <emphasis>logical</emphasis> function name to a delegate which "
"knows how to render that particular function, perhaps even using a totally "
"different physical function call."
msgstr ""
#. Tag: para
#: portability.xml:175
#, no-c-format
msgid ""
"Technically this function registration is handled through the <classname>org."
"hibernate.dialect.function.SQLFunctionRegistry</classname> class which is "
"intended to allow users to provide custom function definitions without "
"having to provide a custom dialect. This specific behavior is not fully "
"completed as of yet."
msgstr ""
#. Tag: para
#: portability.xml:182
#, no-c-format
msgid ""
"It is sort of implemented such that users can programatically register "
"functions with the <classname>org.hibernate.cfg.Configuration</classname> "
"and those functions will be recognized for HQL."
msgstr ""
#. Tag: title
#: portability.xml:192
#, no-c-format
msgid "Type mappings"
msgstr ""
#. Tag: para
#: portability.xml:194
#, no-c-format
msgid "This section scheduled for completion at a later date..."
msgstr ""
#, fuzzy
#~ msgid ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgstr "org.hibernate.cache.TreeCacheProvider"
#, fuzzy
#~ msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ msgstr "org.hibernate.cache.TreeCacheProvider"

View File

@ -1,281 +0,0 @@
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-07-20 21:02+0000\n"
"PO-Revision-Date: 2010-02-11T05:38:15\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title
#: preface.xml:33
#, no-c-format
msgid "Preface"
msgstr "Vorwort"
#. Tag: para
#: preface.xml:35
#, fuzzy, no-c-format
msgid ""
"Working with both Object-Oriented software and Relational Databases can be "
"cumbersome and time consuming. Development costs are significantly higher "
"due to a paradigm mismatch between how data is represented in objects versus "
"relational databases. Hibernate is an Object/Relational Mapping solution for "
"Java environments. The term Object/Relational Mapping refers to the "
"technique of mapping a data representation from an object model to a "
"relational data model with a SQL-based schema; see <ulink url=\"http://en."
"wikipedia.org/wiki/Object-relational_mapping\">http://en.wikipedia.org/wiki/"
"Object-relational_mapping</ulink> for a discussion."
msgstr ""
"Die Arbeit mit objektorientierter Software und einer relationalen Datenbank "
"kann sich in Unternehmensumgebungen heutzutage als mühsam und zeitaufwendig "
"erweisen. Bei Hibernate handelt es sich um ein objekt/relationales Mapping-"
"Tool für Java Umgebungen. Der Begriff objekt/relationales Mapping (ORM) "
"bezieht sich auf die Technik des Mappens einer Datenrepräsentation von einem "
"Objektmodell zu einem relationalen Datenmodell mit SQL-basiertem Schema."
#. Tag: para
#: preface.xml:46
#, no-c-format
msgid ""
"While having a strong background in SQL is not required to use Hibernate, "
"having a basic understanding of the concepts can greatly help you understand "
"Hibernate more fully and quickly. Probably the single best background is an "
"understanding of data modeling principles. You might want to consider these "
"resources as a good starting point:"
msgstr ""
#. Tag: ulink
#: preface.xml:54
#, no-c-format
msgid "http://www.agiledata.org/essays/dataModeling101.html"
msgstr ""
#. Tag: ulink
#: preface.xml:59
#, no-c-format
msgid "http://en.wikipedia.org/wiki/Data_modeling"
msgstr ""
#. Tag: para
#: preface.xml:66
#, fuzzy, no-c-format
msgid ""
"Hibernate not only takes care of the mapping from Java classes to database "
"tables (and from Java data types to SQL data types), but also provides data "
"query and retrieval facilities. It can also significantly reduce development "
"time otherwise spent with manual data handling in SQL and JDBC."
msgstr ""
"Hibernate besorgt nicht nur das Mapping von Java-Klassen zu "
"Datenbanktabellen (und von Java-Datentypen zu SQL-Datentypen ), sondern "
"bietet auch Datenanfragen sowie Datenbeschaffungshilfen, mittels derer sich "
"die Entwicklungszeit maßgeblich senken lässt, da die manuelle "
"Datenbearbeitung in SQL und JDBC entfällt."
#. Tag: para
#: preface.xml:72
#, no-c-format
msgid ""
"Hibernates design goal is to relieve the developer from 95% of common data "
"persistence-related programming tasks by eliminating the need for manual, "
"hand-crafted data processing using SQL and JDBC. However, unlike many other "
"persistence solutions, Hibernate does not hide the power of SQL from you and "
"guarantees that your investment in relational technology and knowledge is as "
"valid as always."
msgstr ""
#. Tag: para
#: preface.xml:79
#, fuzzy, no-c-format
msgid ""
"Hibernate may not be the best solution for data-centric applications that "
"only use stored-procedures to implement the business logic in the database, "
"it is most useful with object-oriented domain models and business logic in "
"the Java-based middle-tier. However, Hibernate can certainly help you to "
"remove or encapsulate vendor-specific SQL code and will help with the common "
"task of result set translation from a tabular representation to a graph of "
"objects."
msgstr ""
"Hibernate will dem Entwickler 95 Prozent der mit gängiger Datenpersistenz "
"verbundenen Programmierarbeit abnehmen. Hibernate ist möglicherweise nicht "
"die beste Lösung für datenzentrische Anwendungen, die nur gespeicherte "
"Prozeduren zur Implementierung der Business Logik in die Datenbank "
"verwenden, ist jedoch was objektorientierte Domain-Modelle und Business "
"Logik im Java-basierten Mittel-Tier angeht am leistungsfähigsten. Hibernate "
"kann Ihnen mit Sicherheit dabei helfen, den anbieterspezifischen SQL-Code zu "
"entfernen oder einzukapseln und unterstützt Sie auch bei der gängigen "
"Aufgabe der Übersetzung des Ergebnissatzes einer tabellarischen "
"Repräsentation in ein Objektdiagramm."
#. Tag: para
#: preface.xml:88
#, no-c-format
msgid ""
"If you are new to Hibernate and Object/Relational Mapping or even Java, "
"please follow these steps:"
msgstr ""
"Falls Ihnen Hibernate und Objekt/Relationales Mapping oder sogar Java neu "
"sind, orientieren Sie sich bitte an folgenden Schritten:"
#. Tag: para
#: preface.xml:95
#, fuzzy, no-c-format
msgid ""
"Read <xref linkend=\"tutorial\"/> for a tutorial with step-by-step "
"instructions. The source code for the tutorial is included in the "
"distribution in the <literal>doc/reference/tutorial/</literal> directory."
msgstr ""
"Lesen Sie <xref linkend=\"tutorial\"/> für eine schrittweise Anleitung. Der "
"Quellcode der Anleitung ist Teil der Distrubution im <literal>doc/reference/"
"tutorial/</literal>-Verzeichnis."
#. Tag: para
#: preface.xml:103
#, fuzzy, no-c-format
msgid ""
"Read <xref linkend=\"architecture\"/> to understand the environments where "
"Hibernate can be used."
msgstr ""
"Lesen Sie <xref linkend=\"architecture\"/>, um mehr über die Umgebungen zu "
"erfahren, in denen Hibernate eingesetzt werden kann."
#. Tag: para
#: preface.xml:109
#, fuzzy, no-c-format
msgid ""
"View the <literal>eg/</literal> directory in the Hibernate distribution. It "
"contains a simple standalone application. Copy your JDBC driver to the "
"<literal>lib/</literal> directory and edit <literal>etc/hibernate."
"properties</literal>, specifying correct values for your database. From a "
"command prompt in the distribution directory, type <literal>ant eg</literal> "
"(using Ant), or under Windows, type <literal>build eg</literal>."
msgstr ""
"Schauen Sie sich das <literal>eg/</literal>-Verzeichnis in der Hibernate "
"Distribution an, es enthält eine einfache, selbständige Anwendung. Kopieren "
"Sie Ihren JDBC-Treiber in das <literal>lib/</literal>-Verzeichnis und "
"editieren Sie <literal>etc/hibernate.properties</literal>, indem Sie "
"korrekte Werte für Ihre Datenbank spezifizieren. Von einer Kommandozeile im "
"Distributionsverzeichnis tippen Sie <literal>ant eg</literal> (unter "
"Verwendung von Ant) oder in Windows tippen Sie <literal>build eg</literal>."
#. Tag: para
#: preface.xml:120
#, fuzzy, no-c-format
msgid ""
"Use this reference documentation as your primary source of information. "
"Consider reading <biblioref linkend=\"biblio-JPwH\"></biblioref> if you need "
"more help with application design, or if you prefer a step-by-step tutorial. "
"Also visit <ulink url=\"http://caveatemptor.hibernate.org\"></ulink> and "
"download the example application from <biblioref linkend=\"biblio-JPwH\"></"
"biblioref>."
msgstr ""
"Verwenden Sie diese Referenzdokumentation als Ihre primäre "
"Informationsquelle. Weitere Informationen finden Sie außerdem unter "
"<emphasis>Hibernate in Action</emphasis> (http://www.manning.com/bauer), "
"falls Sie Hilfe bei Ihrem Anwendungsdesign benötigen oder eine Schritt-für-"
"Schritt-Anleitung vorziehen. Eine herunterladbare Beispielanwendung von "
"\"Hibernate in Action\" finden Sie auch unter http://caveatemptor.hibernate."
"org."
#. Tag: para
#: preface.xml:130
#, no-c-format
msgid "FAQs are answered on the Hibernate website."
msgstr ""
"Antworten auf häufig gestellte Fragen (FAQs) finden Sie auf der Website von "
"Hibernate."
#. Tag: para
#: preface.xml:135
#, no-c-format
msgid ""
"Links to third party demos, examples, and tutorials are maintained on the "
"Hibernate website."
msgstr ""
"Auf der Hibernate Website befinden sich auch Demos, Beispiele und "
"Anleitungen Dritter."
#. Tag: para
#: preface.xml:141
#, no-c-format
msgid ""
"The Community Area on the Hibernate website is a good resource for design "
"patterns and various integration solutions (Tomcat, JBoss AS, Struts, EJB, "
"etc.)."
msgstr ""
"Bei Fragen wenden Sie sich an das Benutzerforum, das mit der Hibernate "
"Website verlinkt ist. Wir bieten auch ein JIRA-Problemverfolgungssystem für "
"Fehlerberichte und Feature-Anfragen. Falls Sie an der Entwicklung von "
"Hibernate interessiert sind, registrieren Sie sich bei der Mailing-Liste für "
"Entwickler. Falls Sie diese Dokumentation in Ihre Sprache übersetzen "
"möchten, setzen Sie sich mittels der Mailing-Liste für Entwickler mit uns in "
"Verbindung."
#. Tag: para
#: preface.xml:149
#, no-c-format
msgid ""
"There are a number of ways to become involved in the Hibernate community, "
"including"
msgstr ""
#. Tag: para
#: preface.xml:153
#, no-c-format
msgid ""
"Trying stuff out and reporting bugs. See <ulink url=\"http://hibernate.org/"
"issuetracker.html\">http://hibernate.org/issuetracker.html</ulink> details."
msgstr ""
#. Tag: para
#: preface.xml:160
#, no-c-format
msgid ""
"Trying your hand at fixing some bugs or implementing enhancements. Again, "
"see <ulink url=\"http://hibernate.org/issuetracker.html\">http://hibernate."
"org/issuetracker.html</ulink> details."
msgstr ""
#. Tag: para
#: preface.xml:167
#, no-c-format
msgid ""
"<ulink url=\"http://hibernate.org/community.html\">http://hibernate.org/"
"community.html</ulink> list a few ways to engage in the community."
msgstr ""
#. Tag: para
#: preface.xml:172
#, no-c-format
msgid ""
"There are forums for users to ask questions and receive help from the "
"community."
msgstr ""
#. Tag: para
#: preface.xml:177
#, no-c-format
msgid ""
"There are also <ulink url=\"http://en.wikipedia.org/wiki/Internet_Relay_Chat"
"\">IRC</ulink> channels for both user and developer discussions."
msgstr ""
#. Tag: para
#: preface.xml:186
#, no-c-format
msgid ""
"Helping improve or translate this documentation. Contact us on the developer "
"mailing list if you have interest."
msgstr ""
#. Tag: para
#: preface.xml:192
#, no-c-format
msgid "Evangelizing Hibernate within your organization."
msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,822 +0,0 @@
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# Language /mnt/hgfs/base/Hibernate/Reference translations for PACKAGE package.
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Automatically generated, 2006.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
# , 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-10T07:25:35\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#, no-c-format
msgid "XML Mapping"
msgstr "XML-Mapping"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<emphasis> XML Mapping is an experimental feature in Hibernate 3.0 and is "
"currently under active development. </emphasis>"
msgstr ""
"Bitte beachten Sie, dass es sich hierbei um ein experimentelles Feature in "
"Hibernate 3.0 handelt, an dem aktuell noch eine rege Entwicklungstätigkeit "
"stattfindet."
#. Tag: title
#, no-c-format
msgid "Working with XML data"
msgstr "Das Arbeiten mit XML-Daten"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate allows you to work with persistent XML data in much the same way "
"you work with persistent POJOs. A parsed XML tree can be thought of as "
"another way of representing the relational data at the object level, instead "
"of POJOs."
msgstr ""
"Hibernate ermöglicht Ihnen die Arbeit mit persistenten XML-Daten auf "
"ähnliche Weise wie dies bei persistenten POJOs der Fall ist. Man kann sich "
"einen auf seine Syntax geprüften XML-Baum einfach als andere Weise der "
"Repräsentation relationaler Daten auf Objektebene anstelle von POJOs "
"vorstellen."
#. Tag: para
#, no-c-format
msgid ""
"Hibernate supports dom4j as API for manipulating XML trees. You can write "
"queries that retrieve dom4j trees from the database and have any "
"modification you make to the tree automatically synchronized to the "
"database. You can even take an XML document, parse it using dom4j, and write "
"it to the database with any of Hibernate's basic operations: <literal>persist"
"(), saveOrUpdate(), merge(), delete(), replicate()</literal> (merging is not "
"yet supported)."
msgstr ""
"Hibernate unterstützt dom4j als API zur Verarbeitung von XML-Bäumen. Sie "
"können Anfragen, die dom4j-Bäume von der Datenbank abrufen, schreiben, wobei "
"alle Modifikationen am Baum automatisch mit der Datenbank synchronisiert "
"werden. Sie können sogar ein XML-Dokument unter Verwendung von dom4j auf die "
"Syntax prüfen und mittels Hibernates Grundvorgängen: <literal>persist(), "
"saveOrUpdate(), merge(), delete(), replicate()</literal> (\"Merging\" wird "
"noch nicht unterstützt) in die Datenbank schreiben."
#. Tag: para
#, no-c-format
msgid ""
"This feature has many applications including data import/export, "
"externalization of entity data via JMS or SOAP and XSLT-based reporting."
msgstr ""
"Dieses Feature bietet zahlreiche Anwendungen einschließlich des Imports/"
"Exports von Daten, Externalisierung von Entity-Daten via JMS oder SOAP und "
"XSLT-basiertem Reporting."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"A single mapping can be used to simultaneously map properties of a class and "
"nodes of an XML document to the database, or, if there is no class to map, "
"it can be used to map just the XML."
msgstr ""
"Ein einzelnes Mapping kann für das gleichzeitige Mappen von Properties einer "
"Klasse und Knoten (\"Nodes\") eines XML-Dokuments zu einer Datenbank "
"verwendet werden. Falls keine zu mappende Klasse existiert, kann auch nur "
"das XML gemappt werden."
#. Tag: title
#, no-c-format
msgid "Specifying XML and class mapping together"
msgstr "Spezifizierung des gemeinsamen Mappens von XML und Klasse"
#. Tag: para
#, no-c-format
msgid "Here is an example of mapping a POJO and XML simultaneously:"
msgstr "Hier ist ein Beispiel für das gleichzeitige Mappen eines POJO und XML:"
#. Tag: title
#, no-c-format
msgid "Specifying only an XML mapping"
msgstr "Spezifizierung des Mappens von nur XML"
#. Tag: para
#, no-c-format
msgid "Here is an example where there is no POJO class:"
msgstr "Dieses ist ein Beispiel ohne POJO-Klasse:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"This mapping allows you to access the data as a dom4j tree, or as a graph of "
"property name/value pairs or java <literal>Map</literal>s. The property "
"names are purely logical constructs that can be referred to in HQL queries."
msgstr ""
"Dieses Mapping erlaubt es Ihnen, auf Daten als dom4j-Baum oder als Graph von "
"Property-Name/Wertepaaren zuzugreifen (Java <literal>Map</literal>s). Die "
"Property-Namen sind rein logische Konstrukte, auf die in HQL-Anfragen "
"verwiesen werden kann."
#. Tag: title
#, no-c-format
msgid "XML mapping metadata"
msgstr "XML-Mapping Metadaten"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"A range of Hibernate mapping elements accept the <literal>node</literal> "
"attribute. This lets you specify the name of an XML attribute or element "
"that holds the property or entity data. The format of the <literal>node</"
"literal> attribute must be one of the following:"
msgstr ""
"Zahlreiche Hibernate Mapping-Elemente akzeptieren das <literal>node</"
"literal>-Attribut. Mit diesem können Sie den Namen eines XML-Attributs oder "
"Elements festlegen, das die Property oder Entity-Daten enthält. Das Format "
"des <literal>node</literal>-Attributs muss wie folgt aussehen:"
#. Tag: para
#, fuzzy, no-c-format
msgid "<literal>\"element-name\"</literal>: map to the named XML element"
msgstr "<literal>\"element-name\"</literal> - mappt zum benannten XML-Element"
#. Tag: para
#, fuzzy, no-c-format
msgid "<literal>\"@attribute-name\"</literal>: map to the named XML attribute"
msgstr ""
"<literal>\"@attribute-name\"</literal> - mappt zum benannten XML-Attribut"
#. Tag: para
#, fuzzy, no-c-format
msgid "<literal>\".\"</literal>: map to the parent element"
msgstr "<literal>\".\"</literal> - mappt zum übergeordneten Element"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<literal>\"element-name/@attribute-name\"</literal>: map to the named "
"attribute of the named element"
msgstr ""
"<literal>\"element-name/@attribute-name\"</literal> - mappt zum benannten "
"Attribut des benannten Elements"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"For collections and single valued associations, there is an additional "
"<literal>embed-xml</literal> attribute. If <literal>embed-xml=\"true\"</"
"literal>, the default, the XML tree for the associated entity (or collection "
"of value type) will be embedded directly in the XML tree for the entity that "
"owns the association. Otherwise, if <literal>embed-xml=\"false\"</literal>, "
"then only the referenced identifier value will appear in the XML for single "
"point associations and collections will not appear at all."
msgstr ""
"Für Datenerfassung und einwertige Assoziationen gibt es ein zusätzliches "
"<literal>embed-xml</literal>-Attribut. Falls <literal>embed-xml=\"true\"</"
"literal> der Standard, so wird der XML-Baum für die zugehörige Entity (oder "
"Collection vom Wertetyp) direkt im XML-Baum der Entity, zu der die "
"Assoziation gehört, eingebettet. Im anderen Fall, falls <literal>embed-xml="
"\"false\"</literal>, erscheint nur der referenzierte Bezeichnerwert in der "
"XML für \"Single-Point\"-Assoziationen während Collections gar nicht "
"erscheinen."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Do not leave <literal>embed-xml=\"true\"</literal> for too many "
"associations, since XML does not deal well with circularity."
msgstr ""
"Sie sollten die Einstellung <literal>embed-xml=\"true\"</literal> nicht für "
"zu viele Assoziationen anwenden, da XML Schwierigkeiten mit Zirkularität "
"haben kann!"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"In this case, the collection of account ids is embedded, but not the actual "
"account data. The following HQL query:"
msgstr ""
"in diesem Fall haben wir die Collection von Konten-IDs einzubetten, nicht "
"jedoch die eigentlichen Kontodaten. Die folgende HQL-Anfrage:"
#. Tag: para
#, fuzzy, no-c-format
msgid "would return datasets such as this:"
msgstr "Würde Datensätze wie die Folgenden wiedergeben:"
#. Tag: para
#, no-c-format
msgid ""
"If you set <literal>embed-xml=\"true\"</literal> on the <literal>&lt;one-to-"
"many&gt;</literal> mapping, the data might look more like this:"
msgstr ""
"Wenn Sie die Einstellung <literal>embed-xml=\"true\"</literal> im "
"<literal>&lt;one-to-many&gt;</literal>-Mapping vornehmen, so sehen die Daten "
"eher wie folgt aus:"
#. Tag: title
#, no-c-format
msgid "Manipulating XML data"
msgstr "Manipulation von XML-Daten"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"You can also re-read and update XML documents in the application. You can do "
"this by obtaining a dom4j session:"
msgstr ""
"Wir wollen nun XML-Dokumente in der Anwendung nochmals lesen und "
"aktualisieren. Dies erfolgt durch Erhalt einer dom4j-Session:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"When implementing XML-based data import/export, it is useful to combine this "
"feature with Hibernate's <literal>replicate()</literal> operation."
msgstr ""
"Es ist sehr hilfreich, dieses Feature mit Hibernates <literal>replicate()</"
"literal>-Vorgang zu kombinieren, um XML-basierten Datenimport/-export zu "
"implementieren."
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<class name=\"Account\" \n"
#~ " table=\"ACCOUNTS\" \n"
#~ " node=\"account\">\n"
#~ " \n"
#~ " <id name=\"accountId\" \n"
#~ " column=\"ACCOUNT_ID\" \n"
#~ " node=\"@id\"/>\n"
#~ " \n"
#~ " <many-to-one name=\"customer\" \n"
#~ " column=\"CUSTOMER_ID\" \n"
#~ " node=\"customer/@id\" \n"
#~ " embed-xml=\"false\"/>\n"
#~ " \n"
#~ " <property name=\"balance\" \n"
#~ " column=\"BALANCE\" \n"
#~ " node=\"balance\"/>\n"
#~ " \n"
#~ " ...\n"
#~ " \n"
#~ "</class>]]>"
#~ msgstr ""
#~ "&lt;class name=\"Account\" \n"
#~ " table=\"ACCOUNTS\" \n"
#~ " node=\"account\"&gt;\n"
#~ " \n"
#~ " &lt;id name=\"accountId\" \n"
#~ " column=\"ACCOUNT_ID\" \n"
#~ " node=\"@id\"/&gt;\n"
#~ " \n"
#~ " &lt;many-to-one name=\"customer\" \n"
#~ " column=\"CUSTOMER_ID\" \n"
#~ " node=\"customer/@id\" \n"
#~ " embed-xml=\"false\"/&gt;\n"
#~ " \n"
#~ " &lt;property name=\"balance\" \n"
#~ " column=\"BALANCE\" \n"
#~ " node=\"balance\"/&gt;\n"
#~ " \n"
#~ " ...\n"
#~ " \n"
#~ "&lt;/class&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<class entity-name=\"Account\" \n"
#~ " table=\"ACCOUNTS\" \n"
#~ " node=\"account\">\n"
#~ " \n"
#~ " <id name=\"id\" \n"
#~ " column=\"ACCOUNT_ID\" \n"
#~ " node=\"@id\" \n"
#~ " type=\"string\"/>\n"
#~ " \n"
#~ " <many-to-one name=\"customerId\" \n"
#~ " column=\"CUSTOMER_ID\" \n"
#~ " node=\"customer/@id\" \n"
#~ " embed-xml=\"false\" \n"
#~ " entity-name=\"Customer\"/>\n"
#~ " \n"
#~ " <property name=\"balance\" \n"
#~ " column=\"BALANCE\" \n"
#~ " node=\"balance\" \n"
#~ " type=\"big_decimal\"/>\n"
#~ " \n"
#~ " ...\n"
#~ " \n"
#~ "</class>]]>"
#~ msgstr ""
#~ "&lt;class entity-name=\"Account\" \n"
#~ " table=\"ACCOUNTS\" \n"
#~ " node=\"account\"&gt;\n"
#~ " \n"
#~ " &lt;id name=\"id\" \n"
#~ " column=\"ACCOUNT_ID\" \n"
#~ " node=\"@id\" \n"
#~ " type=\"string\"/&gt;\n"
#~ " \n"
#~ " &lt;many-to-one name=\"customerId\" \n"
#~ " column=\"CUSTOMER_ID\" \n"
#~ " node=\"customer/@id\" \n"
#~ " embed-xml=\"false\" \n"
#~ " entity-name=\"Customer\"/&gt;\n"
#~ " \n"
#~ " &lt;property name=\"balance\" \n"
#~ " column=\"BALANCE\" \n"
#~ " node=\"balance\" \n"
#~ " type=\"big_decimal\"/&gt;\n"
#~ " \n"
#~ " ...\n"
#~ " \n"
#~ "&lt;/class&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<class name=\"Customer\" \n"
#~ " table=\"CUSTOMER\" \n"
#~ " node=\"customer\">\n"
#~ " \n"
#~ " <id name=\"id\" \n"
#~ " column=\"CUST_ID\" \n"
#~ " node=\"@id\"/>\n"
#~ " \n"
#~ " <map name=\"accounts\" \n"
#~ " node=\".\" \n"
#~ " embed-xml=\"true\">\n"
#~ " <key column=\"CUSTOMER_ID\" \n"
#~ " not-null=\"true\"/>\n"
#~ " <map-key column=\"SHORT_DESC\" \n"
#~ " node=\"@short-desc\" \n"
#~ " type=\"string\"/>\n"
#~ " <one-to-many entity-name=\"Account\"\n"
#~ " embed-xml=\"false\" \n"
#~ " node=\"account\"/>\n"
#~ " </map>\n"
#~ " \n"
#~ " <component name=\"name\" \n"
#~ " node=\"name\">\n"
#~ " <property name=\"firstName\" \n"
#~ " node=\"first-name\"/>\n"
#~ " <property name=\"initial\" \n"
#~ " node=\"initial\"/>\n"
#~ " <property name=\"lastName\" \n"
#~ " node=\"last-name\"/>\n"
#~ " </component>\n"
#~ " \n"
#~ " ...\n"
#~ " \n"
#~ "</class>]]>"
#~ msgstr ""
#~ "&lt;class name=\"Customer\" \n"
#~ " table=\"CUSTOMER\" \n"
#~ " node=\"customer\"&gt;\n"
#~ " \n"
#~ " &lt;id name=\"id\" \n"
#~ " column=\"CUST_ID\" \n"
#~ " node=\"@id\"/&gt;\n"
#~ " \n"
#~ " &lt;map name=\"accounts\" \n"
#~ " node=\".\" \n"
#~ " embed-xml=\"true\"&gt;\n"
#~ " &lt;key column=\"CUSTOMER_ID\" \n"
#~ " not-null=\"true\"/&gt;\n"
#~ " &lt;map-key column=\"SHORT_DESC\" \n"
#~ " node=\"@short-desc\" \n"
#~ " type=\"string\"/&gt;\n"
#~ " &lt;one-to-many entity-name=\"Account\"\n"
#~ " embed-xml=\"false\" \n"
#~ " node=\"account\"/&gt;\n"
#~ " &lt;/map&gt;\n"
#~ " \n"
#~ " &lt;component name=\"name\" \n"
#~ " node=\"name\"&gt;\n"
#~ " &lt;property name=\"firstName\" \n"
#~ " node=\"first-name\"/&gt;\n"
#~ " &lt;property name=\"initial\" \n"
#~ " node=\"initial\"/&gt;\n"
#~ " &lt;property name=\"lastName\" \n"
#~ " node=\"last-name\"/&gt;\n"
#~ " &lt;/component&gt;\n"
#~ " \n"
#~ " ...\n"
#~ " \n"
#~ "&lt;/class&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[from Customer c left join fetch c.accounts where c.lastName "
#~ "like :lastName]]>"
#~ msgstr ""
#~ "from Customer c left join fetch c.accounts where c.lastName like :lastName"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<customer id=\"123456789\">\n"
#~ " <account short-desc=\"Savings\">987632567</account>\n"
#~ " <account short-desc=\"Credit Card\">985612323</account>\n"
#~ " <name>\n"
#~ " <first-name>Gavin</first-name>\n"
#~ " <initial>A</initial>\n"
#~ " <last-name>King</last-name>\n"
#~ " </name>\n"
#~ " ...\n"
#~ "</customer>]]>"
#~ msgstr ""
#~ "&lt;customer id=\"123456789\"&gt;\n"
#~ " &lt;account short-desc=\"Savings\"&gt;987632567&lt;/account&gt;\n"
#~ " &lt;account short-desc=\"Credit Card\"&gt;985612323&lt;/account&gt;\n"
#~ " &lt;name&gt;\n"
#~ " &lt;first-name&gt;Gavin&lt;/first-name&gt;\n"
#~ " &lt;initial&gt;A&lt;/initial&gt;\n"
#~ " &lt;last-name&gt;King&lt;/last-name&gt;\n"
#~ " &lt;/name&gt;\n"
#~ " ...\n"
#~ "&lt;/customer&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[<customer id=\"123456789\">\n"
#~ " <account id=\"987632567\" short-desc=\"Savings\">\n"
#~ " <customer id=\"123456789\"/>\n"
#~ " <balance>100.29</balance>\n"
#~ " </account>\n"
#~ " <account id=\"985612323\" short-desc=\"Credit Card\">\n"
#~ " <customer id=\"123456789\"/>\n"
#~ " <balance>-2370.34</balance>\n"
#~ " </account>\n"
#~ " <name>\n"
#~ " <first-name>Gavin</first-name>\n"
#~ " <initial>A</initial>\n"
#~ " <last-name>King</last-name>\n"
#~ " </name>\n"
#~ " ...\n"
#~ "</customer>]]>"
#~ msgstr ""
#~ "&lt;customer id=\"123456789\"&gt;\n"
#~ " &lt;account id=\"987632567\" short-desc=\"Savings\"&gt;\n"
#~ " &lt;customer id=\"123456789\"/&gt;\n"
#~ " &lt;balance&gt;100.29&lt;/balance&gt;\n"
#~ " &lt;/account&gt;\n"
#~ " &lt;account id=\"985612323\" short-desc=\"Credit Card\"&gt;\n"
#~ " &lt;customer id=\"123456789\"/&gt;\n"
#~ " &lt;balance&gt;-2370.34&lt;/balance&gt;\n"
#~ " &lt;/account&gt;\n"
#~ " &lt;name&gt;\n"
#~ " &lt;first-name&gt;Gavin&lt;/first-name&gt;\n"
#~ " &lt;initial&gt;A&lt;/initial&gt;\n"
#~ " &lt;last-name&gt;King&lt;/last-name&gt;\n"
#~ " &lt;/name&gt;\n"
#~ " ...\n"
#~ "&lt;/customer&gt;"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Document doc = ....;\n"
#~ " \n"
#~ "Session session = factory.openSession();\n"
#~ "Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "List results = dom4jSession\n"
#~ " .createQuery(\"from Customer c left join fetch c.accounts where c."
#~ "lastName like :lastName\")\n"
#~ " .list();\n"
#~ "for ( int i=0; i<results.size(); i++ ) {\n"
#~ " //add the customer data to the XML document\n"
#~ " Element customer = (Element) results.get(i);\n"
#~ " doc.add(customer);\n"
#~ "}\n"
#~ "\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Document doc = ....;\n"
#~ " \n"
#~ "Session session = factory.openSession();\n"
#~ "Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "List results = dom4jSession\n"
#~ " .createQuery(\"from Customer c left join fetch c.accounts where c."
#~ "lastName like :lastName\")\n"
#~ " .list();\n"
#~ "for ( int i=0; i&lt;results.size(); i++ ) {\n"
#~ " //add the customer data to the XML document\n"
#~ " Element customer = (Element) results.get(i);\n"
#~ " doc.add(customer);\n"
#~ "}\n"
#~ "\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = factory.openSession();\n"
#~ "Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "Element cust = (Element) dom4jSession.get(\"Customer\", customerId);\n"
#~ "for ( int i=0; i<results.size(); i++ ) {\n"
#~ " Element customer = (Element) results.get(i);\n"
#~ " //change the customer name in the XML and database\n"
#~ " Element name = customer.element(\"name\");\n"
#~ " name.element(\"first-name\").setText(firstName);\n"
#~ " name.element(\"initial\").setText(initial);\n"
#~ " name.element(\"last-name\").setText(lastName);\n"
#~ "}\n"
#~ "\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = factory.openSession();\n"
#~ "Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "Element cust = (Element) dom4jSession.get(\"Customer\", customerId);\n"
#~ "for ( int i=0; i&lt;results.size(); i++ ) {\n"
#~ " Element customer = (Element) results.get(i);\n"
#~ " //change the customer name in the XML and database\n"
#~ " Element name = customer.element(\"name\");\n"
#~ " name.element(\"first-name\").setText(firstName);\n"
#~ " name.element(\"initial\").setText(initial);\n"
#~ " name.element(\"last-name\").setText(lastName);\n"
#~ "}\n"
#~ "\n"
#~ "tx.commit();\n"
#~ "session.close();"

View File

@ -1,301 +0,0 @@
# translation of Conventions.po to
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Conventions\n"
"POT-Creation-Date: 2009-12-11T05:07:40\n"
"PO-Revision-Date: 2010-01-13 22:31+1100\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#, no-c-format
msgid "Document Conventions"
msgstr "Dokumentkonventionen"
#. Tag: para
#, no-c-format
msgid "This manual uses several conventions to highlight certain words and phrases and draw attention to specific pieces of information."
msgstr ""
"Dieses Handbuch verwendet mehrere Konventionen, um bestimmte Wörter und Ausdrücke "
"zu betonen und bestimmte Teile von Informationen hervorzuheben."
#. Tag: para
#, no-c-format
msgid "In PDF and paper editions, this manual uses typefaces drawn from the <ulink url=\"https://fedorahosted.org/liberation-fonts/\">Liberation Fonts</ulink> set. The Liberation Fonts set is also used in HTML editions if the set is installed on your system. If not, alternative but equivalent typefaces are displayed. Note: Red Hat Enterprise Linux 5 and later includes the Liberation Fonts set by default."
msgstr ""
"In PDF- und Papierausgaben verwendet dieses Handbuch Schriftarten aus dem <ulink url=\"https://fedorahosted.org/liberation-fonts/\">Liberation Fonts</ulink>-Satz. "
"Der \"Liberation Fonts\"-Satz wird auch in HTML-Editionen verwendet, wenn er auf Ihrem "
"System installiert ist. Falls nicht, so werden alternative aber gleichwertige Schriftarten "
"angezeigt. Hinweis: Red Hat Enterprise Linux 5 und spätere Versionen enthalten den "
"\"Liberation Fonts\"-Satz an Schrifttypen standardmäßig."
#. Tag: title
#, no-c-format
msgid "Typographic Conventions"
msgstr "Typografische Konventionen"
#. Tag: para
#, no-c-format
msgid "Four typographic conventions are used to call attention to specific words and phrases. These conventions, and the circumstances they apply to, are as follows."
msgstr ""
"Vier typografische Konventionen werden verwendet, um bestimmte Wörter und "
"Ausdrücke hervorzuheben. Diese Konventionen und die Umstände, in denen sie "
"angewendet werden, sind wie folgt."
#. Tag: para
#, no-c-format
msgid "<literal>Mono-spaced Bold</literal>"
msgstr "<literal>Mono-spaced Bold</literal>"
#. Tag: para
#, no-c-format
msgid "Used to highlight system input, including shell commands, file names and paths. Also used to highlight keycaps and key combinations. For example:"
msgstr ""
"Zur Betonung der Systemeingabe einschließlich Shell-Befehle, Dateinamen "
"und Pfaden verwendet. Auch zur Betonung von Tastenkappen und Tastenkombinationen "
"verwendet. Zum Beispiel:"
#. Tag: para
#, no-c-format
msgid "To see the contents of the file <filename>my_next_bestselling_novel</filename> in your current working directory, enter the <command>cat my_next_bestselling_novel</command> command at the shell prompt and press <keycap>Enter</keycap> to execute the command."
msgstr ""
"Um die Inhalte der Datei <filename>my_next_bestselling_novel</filename> in Ihrem "
"aktuellen Arbeitsverzeichnis zu sehen, geben Sie den "
"<command>cat my_next_bestselling_novel</command>-Befehl im Shell-Prompt ein, "
"und drücken Sie <keycap>Enter</keycap>, um den Befehl auszuführen."
#. Tag: para
#, no-c-format
msgid "The above includes a file name, a shell command and a keycap, all presented in mono-spaced bold and all distinguishable thanks to context."
msgstr ""
"Obiges enthält einen Dateinamen, einen Shell-Befehl und eine Tastenkappe, alle "
"in einzeiligem Fettdruck und aufgrund des Kontexts leicht zu unterscheiden."
#. Tag: para
#, no-c-format
msgid "Key combinations can be distinguished from keycaps by the hyphen connecting each part of a key combination. For example:"
msgstr ""
"Tastenkombinationen können von Tastenkappen durch den jeden Teil der Tastenkombination "
"mit anderen Teilen verbindenden Bindestrich unterschieden werden. Zum Beispiel:"
#. Tag: para
#, no-c-format
msgid "Press <keycap>Enter</keycap> to execute the command."
msgstr "Drücken Sie <keycap>Enter</keycap>, um den Befehl auszuführen."
#. Tag: para
#, no-c-format
msgid "Press <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo> to switch to the first virtual terminal. Press <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F7</keycap></keycombo> to return to your X-Windows session."
msgstr ""
"Drücken Sie <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F1</keycap></keycombo>, "
"um ins erste virtuelle Terminal zu wechseln. Drücken Sie <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F7</keycap></keycombo>, "
"um zu Ihrer X-Windows Session zurückzukehren."
#. Tag: para
#, no-c-format
msgid "The first paragraph highlights the particular keycap to press. The second highlights two key combinations (each a set of three keycaps with each set pressed simultaneously)."
msgstr ""
"Der erste Abschnitt markiert die zu drückende Tastenkappe. Der zweite markiert zwei "
"Tastenkombinationen (jede ein Satz von drei Tastenkappen, wobei jeder Satz simultan "
"gedrückt wird)."
#. Tag: para
#, no-c-format
msgid "If source code is discussed, class names, methods, functions, variable names and returned values mentioned within a paragraph will be presented as above, in <literal>mono-spaced bold</literal>. For example:"
msgstr ""
"Wird Quellcode erläutert, so erscheinen Klassenname, Methoden, Funktionen, "
"Variablennamen und wiedergegebene Werte, die in einem Abschnitt wie oben "
"erwähnt werden in <literal>mono-spaced bold</literal> (einzeiligem Fettdruck). "
"Zum Beispiel:"
#. Tag: para
#, no-c-format
msgid "File-related classes include <classname>filesystem</classname> for file systems, <classname>file</classname> for files, and <classname>dir</classname> for directories. Each class has its own associated set of permissions."
msgstr ""
"Datei-bezogene Klassen beinhalten <classname>filesystem</classname> für Dateisysteme, <classname>file</classname> für Dateien und <classname>dir</classname> "
"für Verzeichnisse. Jede Klasse besitzt ihren eigenen assoziierten Satz an Genehmigungen. "
#. Tag: para
#, no-c-format
msgid "<application>Proportional Bold</application>"
msgstr "<application>Proportional Bold</application>"
#. Tag: para
#, no-c-format
msgid "This denotes words or phrases encountered on a system, including application names; dialog box text; labeled buttons; check-box and radio button labels; menu titles and sub-menu titles. For example:"
msgstr ""
"Dies kennzeichnet Wörter oder Ausdrücke, auf die man in einem System trifft, darunter "
"Namen von Anwendungen; Dialog-Box Text; benannte Optionsschaltflächen; "
"Menütitel und Untermenü-Titel. Zum Beispiel:"
#. Tag: para
#, no-c-format
msgid "Choose <menuchoice><guimenu>System</guimenu><guisubmenu>Preferences</guisubmenu><guimenuitem>Mouse</guimenuitem></menuchoice> from the main menu bar to launch <application>Mouse Preferences</application>. In the <guilabel>Buttons</guilabel> tab, click the <guilabel>Left-handed mouse</guilabel> check box and click <guibutton>Close</guibutton> to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand)."
msgstr "Wählen Sie <menuchoice><guimenu>System</guimenu><guisubmenu>Preferences</guisubmenu><guimenuitem>Mouse</guimenuitem></menuchoice> aus dem Hauptmenü-Balken, um <application>Mouse Preferences</application> zu starten. Im <guilabel>Buttons</guilabel>-Reiter, klicken Sie das <guilabel>Left-handed mouse</guilabel>-Kontrollkästchen, und klicken Sie <guibutton>Close</guibutton>, um die Schaltfläche der Primärmaus von links nach rechts umzustellen (wodurch die Maus für Linkshänder nutzbar wird)."
#. Tag: para
#, no-c-format
msgid "To insert a special character into a <application>gedit</application> file, choose <menuchoice><guimenu>Applications</guimenu><guisubmenu>Accessories</guisubmenu><guimenuitem>Character Map</guimenuitem></menuchoice> from the main menu bar. Next, choose <menuchoice><guimenu>Search</guimenu><guimenuitem>Find&hellip;</guimenuitem></menuchoice> from the <application>Character Map</application> menu bar, type the name of the character in the <guilabel>Search</guilabel> field and click <guibutton>Next</guibutton>. The character you sought will be highlighted in the <guilabel>Character Table</guilabel>. Double-click this highlighted character to place it in the <guilabel>Text to copy</guilabel> field and then click the <guibutton>Copy</guibutton> button. Now switch back to your document and choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Paste</guimenuitem></menuchoice> from the <application>gedit</application> menu bar."
msgstr ""
"Um ein Sonderzeichen in eine <application>gedit</application>-Datei einzufügen, "
"wählen Sie <menuchoice><guimenu>Applications</guimenu><guisubmenu>Accessories</guisubmenu><guimenuitem>Character Map</guimenuitem></menuchoice> aus dem Hauptmenübalken. Anschließend wählen Sie <menuchoice><guimenu>Search</guimenu><guimenuitem>Find&hellip;</guimenuitem></menuchoice> aus dem <application>Character Map</application>-Menübalken, geben SIe den Namen des Sonderzeichens im <guilabel>Search</guilabel>-Feld ein und klicken Sie auf <guibutton>Next</guibutton>. Das von Ihnen gesuchte Zeichen wird in der <guilabel>Character Table</guilabel> hervorgehoben. "
"Doppelklicken Sie auf dieses hervorgehobene Zeichen, um es im <guilabel>Text to copy</guilabel>-Feld zu platzieren und klicken Sie auf die <guibutton>Copy</guibutton>-Schaltfläche. Wechseln Sie zurück in Ihr Dokument, und wählen Sie <menuchoice><guimenu>Edit</guimenu><guimenuitem>Paste</guimenuitem></menuchoice> aus dem <application>gedit</application>-Menübalken."
#. Tag: para
#, no-c-format
msgid "The above text includes application names; system-wide menu names and items; application-specific menu names; and buttons and text found within a GUI interface, all presented in proportional bold and all distinguishable by context."
msgstr ""
"Der obige Text enthält Anwendungsnamen; System-weite Menünamen und Posten; "
"Anwendungsspezifische Menünamen sowie innerhalb eines GUI-Interface vorkommende "
"Schaltflächen und Text, allesamt in proportinalem Fettdruck und leicht vom "
"Kontext zu unterscheiden."
#. Tag: para
#, no-c-format
msgid "<command><replaceable>Mono-spaced Bold Italic</replaceable></command> or <application><replaceable>Proportional Bold Italic</replaceable></application>"
msgstr ""
"<command><replaceable>Mono-spaced Bold Italic</replaceable></command> "
"oder <application><replaceable>Proportional Bold Italic</replaceable></application>"
#. Tag: para
#, no-c-format
msgid "Whether mono-spaced bold or proportional bold, the addition of italics indicates replaceable or variable text. Italics denotes text you do not input literally or displayed text that changes depending on circumstance. For example:"
msgstr ""
"Ob \"mono-spaced bold\" oder \"proportional bold\", Kursivschrift steht für ersetzbaren "
"oder variablen Text. Kursivschrift denotiert Text, den Sie nicht wörtlich eingeben oder "
"angezeigten Text, der sich je nach Umständen ändert. Zum Beispiel:"
#. Tag: para
#, no-c-format
msgid "To connect to a remote machine using ssh, type <command>ssh <replaceable>username</replaceable>@<replaceable>domain.name</replaceable></command> at a shell prompt. If the remote machine is <filename>example.com</filename> and your username on that machine is john, type <command>ssh john@example.com</command>."
msgstr ""
"Um eine Verbindung mit einer Remote-Maschine mittels ssh herzustellen, "
"geben Sie <command>ssh <replaceable>username</replaceable>@<replaceable>domain.name</replaceable></command> "
"in einem Shell-Prompt ein. Ist die Remote-Maschine <filename>example.com</filename> "
"und Ihr Benutzername an dieser Maschine ist \"john\", so geben Sie "
"<command>ssh john@example.com</command> ein."
#. Tag: para
#, no-c-format
msgid "The <command>mount -o remount <replaceable>file-system</replaceable></command> command remounts the named file system. For example, to remount the <filename>/home</filename> file system, the command is <command>mount -o remount /home</command>."
msgstr ""
"Der <command>mount -o remount <replaceable>file-system</replaceable></command>-Befehl "
"hängt das benannte Dateisystem wieder ein. Um zum Beispiel das "
"<filename>/home</filename>-Dateisystem wieder einzuhängen, lautet der Befehl "
"<command>mount -o remount /home</command>."
#. Tag: para
#, no-c-format
msgid "To see the version of a currently installed package, use the <command>rpm -q <replaceable>package</replaceable></command> command. It will return a result as follows: <command><replaceable>package-version-release</replaceable></command>."
msgstr ""
"Um die Version eines aktuell installierten Pakets einzusehen, verwenden Sie den "
"<command>rpm -q <replaceable>package</replaceable></command>-Befehl. "
"Er gibt das Ergebnis wie folgt wieder: <command><replaceable>package-version-release</replaceable></command>."
#. Tag: para
#, no-c-format
msgid "Note the words in bold italics above &mdash; username, domain.name, file-system, package, version and release. Each word is a placeholder, either for text you enter when issuing a command or for text displayed by the system."
msgstr ""
"Beachten Sie die Wörter in kursivem Fettdruck oben &mdash; username, domain.name, file-system, package, version und release. Bei jedem Wort handelt es sich um einen Platzhalter für entweder "
"durch Sie bei Eingabe eines Befehls geschriebenen Text oder für vom System angezeigten "
"Text."
#. Tag: para
#, no-c-format
msgid "Aside from standard usage for presenting the title of a work, italics denotes the first use of a new and important term. For example:"
msgstr ""
"Außer dem Standardgebrauch zur Darestellung des Titels einer Arbeit, wird "
"Kursivschrift bei der erstmaligen Erwähnung eines neuen und wichtigen Begriffs "
"verwendet. Zum Beispiel: "
#. Tag: para
#, no-c-format
msgid "Publican is a <firstterm>DocBook</firstterm> publishing system."
msgstr "Publican ist <firstterm>DocBook</firstterm> Publishing-System."
#. Tag: title
#, no-c-format
msgid "Pull-quote Conventions"
msgstr "Pull-Quote Konventionen"
#. Tag: para
#, no-c-format
msgid "Terminal output and source code listings are set off visually from the surrounding text."
msgstr ""
"Terminal-Ausgabe und Quellcode-Auflistungen sind visuell vom umgebenden Text "
"abgesetzt."
#. Tag: para
#, no-c-format
msgid "Output sent to a terminal is set in <computeroutput>mono-spaced roman</computeroutput> and presented thus:"
msgstr ""
"An ein Terminal gesendete Ausgaben sind <computeroutput>mono-spaced roman</computeroutput> "
"und werden wie folgt dargestellt:"
#. Tag: para
#, no-c-format
msgid "Source-code listings are also set in <computeroutput>mono-spaced roman</computeroutput> but add syntax highlighting as follows:"
msgstr ""
"Quellcode-Auflistungen sind auch <computeroutput>mono-spaced roman</computeroutput> "
"fügen aber Syntax-Hervorhebungen hinzu wie folgt:"
#. Tag: title
#, no-c-format
msgid "Notes and Warnings"
msgstr "Hinweise und Warnungen"
#. Tag: para
#, no-c-format
msgid "Finally, we use three visual styles to draw attention to information that might otherwise be overlooked."
msgstr ""
"Es werden drei visuelle Stile zur Hervorhebung von andernfalls möglicherweise "
"übersehener Informationen verwendet. "
#. Tag: title
#, no-c-format
msgid "Note"
msgstr "Hinweis"
#. Tag: para
#, no-c-format
msgid "Notes are tips, shortcuts or alternative approaches to the task at hand. Ignoring a note should have no negative consequences, but you might miss out on a trick that makes your life easier."
msgstr ""
"Anmerkungen sind Tipps, Tastaturbefehle oder alternative Herangehensweisen an die aktuelle "
"Aufgabe. Das Ignorieren einer Anmerkung hat in der Regel keine negativen Auswirkungen, aber "
"Sie verpassen vielleicht einen nützlichen Hinweis, der Ihnen das Leben leichter machen kann."
#. Tag: title
#, no-c-format
msgid "Important"
msgstr "Wichtig"
#. Tag: para
#, no-c-format
msgid "Important boxes detail things that are easily missed: configuration changes that only apply to the current session, or services that need restarting before an update will apply. Ignoring a box labeled 'Important' won't cause data loss but may cause irritation and frustration."
msgstr ""
"Wichtige Kästchen heben Informationen hervor, die andernfalls möglicherweise "
"übersehen werden: Konfigurationsänderungen, die nur die aktuelle Session betreffen "
"oder Dienste, die erneut gestartet werden müssen, ehe eine Aktualisierung stattfindet. "
"Das Nichtbeachten eines als 'Important' ('Wichtig') gekennzeichneten Kästchens "
"führt zwar nicht zu Datenverlust, kann aber zu unerwünschten "
"Ergebnissen führen."
#. Tag: title
#, no-c-format
msgid "Warning"
msgstr "Warnung"
#. Tag: para
#, no-c-format
msgid "Warnings should not be ignored. Ignoring warnings will most likely cause data loss."
msgstr ""
"Warnungen sollten nicht ignoriert werden. Das Ignorieren von Nachrichten führt mit "
"großer Wahrscheinlichkeit zu Datenverlust."

View File

@ -1,37 +0,0 @@
# translation of Feedback.po to
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Feedback\n"
"POT-Creation-Date: 2010-02-11T05:38:16\n"
"PO-Revision-Date: 2010-01-11 17:47+1100\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#, no-c-format
msgid "We Need Feedback!"
msgstr "Wir brauchen Feedback!"
#. Tag: primary
#, no-c-format
msgid "feedback"
msgstr "Feedback"
#. Tag: secondary
#, no-c-format
msgid "contact information for this manual"
msgstr "Kontaktinformationen für dieses Handbuch"
#. Tag: para
#, no-c-format
msgid "You should over ride this by creating your own local Feedback.xml file."
msgstr ""
"Sie sollte dies außer Kraft setzen, indem Sie Ihre eigene lokale Feedback."
"xml-Datei erstellen."

View File

@ -1,26 +0,0 @@
# translation of Legal_Notice.po to
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Legal_Notice\n"
"POT-Creation-Date: 2009-12-11T05:07:40\n"
"PO-Revision-Date: 2010-01-11 18:12+1100\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: para
#, no-c-format
msgid "Copyright <trademark class=\"copyright\"></trademark> &YEAR; &HOLDER; This material may only be distributed subject to the terms and conditions set forth in the GNU Free Documentation License (GFDL), V1.2 or later (the latest version is presently available at <ulink url=\"http://www.gnu.org/licenses/fdl.txt\">http://www.gnu.org/licenses/fdl.txt</ulink>)."
msgstr ""
"Copyright <trademark class=\"copyright\"></trademark> &YEAR; &HOLDER; "
"Dieses Material kann nur gemäß den in den Allgemeinen Geschäftsbedingungen der "
"GNU Free Documentation License (GFDL), V1.2 oder später distribuiert werden "
"(die aktuellste Version ist derzeit unter <ulink url=\"http://www.gnu.org/licenses/fdl.txt\">http://www.gnu.org/licenses/fdl.txt</ulink>) "
"verfügbar."

View File

@ -1,49 +0,0 @@
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"POT-Creation-Date: 2010-02-11T05:38:16\n"
"PO-Revision-Date: 2010-02-11T05:38:16\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title
#, no-c-format
msgid "Legal Notice"
msgstr ""
#. Tag: para
#, no-c-format
msgid "<address> <street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</state><postcode>27606-2072</postcode><country>USA</country> <phone>Phone: +1 919 754 3700</phone> <phone>Phone: 888 733 4281</phone> <fax>Fax: +1 919 754 3701</fax> <pob>PO Box 13588</pob><city>Research Triangle Park</city>, <state>NC</state><postcode>27709</postcode><country>USA</country> </address>"
msgstr ""
#. Tag: para
#, no-c-format
msgid "Copyright <trademark class=\"copyright\"></trademark> 2007 by Red Hat, Inc. This copyrighted material is made available to anyone wishing to use, modify, copy, or redistribute it subject to the terms and conditions of the GNU <ulink url=\"http://www.gnu.org/licenses/lgpl-2.1.html\">Lesser General Public License</ulink>, as published by the Free Software Foundation."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Red Hat and the Red Hat \"Shadow Man\" logo are registered trademarks of Red Hat, Inc. in the United States and other countries."
msgstr ""
#. Tag: para
#, no-c-format
msgid "All other trademarks referenced herein are the property of their respective owners."
msgstr ""
#. Tag: para
#, no-c-format
msgid "The GPG fingerprint of the security@redhat.com key is:"
msgstr ""
#. Tag: para
#, no-c-format
msgid "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E"
msgstr ""

View File

@ -0,0 +1,64 @@
<?xml version='1.0' encoding="UTF-8"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<bibliography xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>References</title>
<biblioentry xml:id="biblio-PoEAA">
<abbrev>PoEAA</abbrev>
<title>Patterns of Enterprise Application Architecture</title>
<biblioid class="isbn">0-321-12742-0</biblioid>
<authorgroup>
<author>
<personname>
<firstname>Martin</firstname>
<surname>Fowler</surname>
</personname>
</author>
</authorgroup>
<copyright>
<year>2003</year>
<holder>Pearson Education, Inc.</holder>
</copyright>
<publisher>
<publishername>Addison-Wesley Publishing Company</publishername>
</publisher>
</biblioentry>
<biblioentry xml:id="biblio-JPwH">
<abbrev>JPwH</abbrev>
<title>Java Persistence with Hibernate</title>
<subtitle>Second Edition of Hibernate in Action</subtitle>
<biblioid class="isbn">1-932394-88-5</biblioid>
<bibliomisc>
<link xlink:href="http://www.manning.com/bauer2"/>
</bibliomisc>
<authorgroup>
<author>
<personname>
<firstname>Christian</firstname>
<surname>Bauer</surname>
</personname>
</author>
<author>
<personname>
<firstname>Gavin</firstname>
<surname>King</surname>
</personname>
</author>
</authorgroup>
<copyright>
<year>2007</year>
<holder>Manning Publications Co.</holder>
</copyright>
<publisher>
<publishername>Manning Publications Co.</publishername>
</publisher>
</biblioentry>
</bibliography>

View File

@ -0,0 +1,10 @@
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!ENTITY version "WORKING">
<!ENTITY today "NOW">
<!ENTITY copyrightYear "2011">
<!ENTITY copyrightHolder "Red Hat, Inc.">

View File

@ -0,0 +1,72 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!DOCTYPE book SYSTEM "http://docbook.org/xml/5.0/dtd/docbook.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Hibernate_Manual.ent">
%BOOK_ENTITIES;
]>
<book xmlns:xi="http://www.w3.org/2001/XInclude">
<info>
<title>Hibernate Reference Manual</title>
<subtitle>Hibernate - Relational Persistence for Idiomatic Java</subtitle>
<releaseinfo>&version;</releaseinfo>
<productname>Hibernate ORM</productname>
<productnumber>&version;</productnumber>
<pubdate>&today;</pubdate>
<mediaobject>
<imageobject role="fo">
<imagedata fileref="images/hibernate_logo_a.png" align="center" />
</imageobject>
<imageobject role="html">
<imagedata fileref="images/hibernate_logo_a.png" depth="3cm" />
</imageobject>
</mediaobject>
<copyright>
<year>&copyrightYear;</year>
<holder>&copyrightHolder;</holder>
</copyright>
<authorgroup xmlns:xl="http://www.w3.org/1999/xlink">
<author>
<orgname><link xl:href="http://hibernate.org">The Hibernate Team</link></orgname>
</author>
<othercredit>
<orgname><link xl:href="http://design.jboss.org/">The JBoss Visual Design Team</link></orgname>
</othercredit>
</authorgroup>
</info>
<xi:include href="Preface.xml" />
<xi:include href="chapters/architecture/Architecture.xml" />
<xi:include href="chapters/domain/DomainModel.xml" />
<xi:include href="chapters/bootstrap/Bootstrap.xml" />
<xi:include href="chapters/pc/PersistenceContext.xml" />
<xi:include href="chapters/jdbc/Database_Access.xml" />
<xi:include href="chapters/transactions/Transactions.xml" />
<xi:include href="chapters/locking/Locking.xml" />
<xi:include href="chapters/fetching/Fetching.xml" />
<xi:include href="chapters/batch/Batching.xml" />
<xi:include href="chapters/caching/Caching.xml" />
<xi:include href="chapters/events/Events.xml" />
<!--
<xi:include href="chapters/query_ql/HQL_JPQL.xml" />
<xi:include href="chapters/query_criteria/Criteria.xml" />
<xi:include href="chapters/query_native/Native_SQL.xml" />
-->
<xi:include href="chapters/multitenancy/Multi_Tenancy.xml" />
<xi:include href="chapters/osgi/OSGi.xml" />
<xi:include href="chapters/envers/Envers.xml" />
<xi:include href="chapters/portability/Portability.xml" />
<xi:include href="appendices/Appendix_LegacyBootstrap.xml" />
<xi:include href="Bibliography.xml" />
</book>

View File

@ -0,0 +1,74 @@
<?xml version='1.0' encoding="UTF-8"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<preface xml:id="preface" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Preface</title>
<para>
Developing Object-Oriented software that deals with data from Relational Databases can be cumbersome and
resource consuming. Development costs are significantly higher due to a paradigm mismatch between how data is
represented in objects versus relational databases. Hibernate is an Object/Relational Mapping (ORM) solution
for Java environments. ORM refers to the technique of mapping data between an object model representation to
a relational data model representation. See
<link xlink:href="http://en.wikipedia.org/wiki/Object-relational_mapping">Wikipedia</link>
for a good high-level discussion. Also, Martin Fowler's
<link xlink:href="http://martinfowler.com/bliki/OrmHate.html">OrmHate</link> article takes a look at many of
the mentioned mismatch problems.
</para>
<para>
Although having a strong background in SQL is not required to use Hibernate, having a basic understanding of the
concepts can help you understand Hibernate more quickly and fully. An understanding of data modeling principles
is especially important. Both <link xlink:href="http://www.agiledata.org/essays/dataModeling101.html"/> and
<link xlink:href="http://en.wikipedia.org/wiki/Data_modeling"/> are good starting points for understanding these
data modeling principles.
</para>
<para>
Understanding the basics of transactions and design patterns such as "Unit of Work"<citation>PoEAA</citation>
or "ApplicationTransaction" are important as well. These topics will be discussed in the documentation, but
a prior understanding will certainly help.
</para>
<para>
Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to
SQL data types), but also provides data query and retrieval facilities. It can significantly reduce
development time otherwise spent with manual data handling in SQL and JDBC. Hibernates design goal is to
relieve the developer from 95% of common data persistence-related programming tasks by eliminating the need for
manual, hand-crafted data processing using SQL and JDBC. However, unlike many other persistence solutions,
Hibernate does not hide the power of SQL from you and guarantees that your investment in relational technology
and knowledge is as valid as always.
</para>
<para>
Hibernate may not be the best solution for data-centric applications that only use stored-procedures to
implement the business logic in the database, it is most useful with object-oriented domain models and business
logic in the Java-based middle-tier. However, Hibernate can certainly help you to remove or encapsulate
vendor-specific SQL code and will help with the common task of result set translation from a tabular
representation to a graph of objects.
</para>
<para>
See <link xlink:href="http://hibernate.org/orm/contribute/"/> for information on getting involved.
</para>
<tip>
<para>
This documentation is intended as a reference manual. As such, it is very detailed and great when you
know what to look for.
</para>
<para>
If you are just getting started with using Hibernate you may want to start with the
<citetitle pubwork="article">Hibernate Getting Started Guide</citetitle> available from the
<link xlink:href="http://hibernate.org/documentation">documentation page</link>. It contains quick-start
style tutorials as well as lots of introductory information. There is also a series of topical guides
providing deep dives into various topics.
</para>
</tip>
</preface>

View File

@ -0,0 +1,188 @@
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<appendix xml:id="appendix-legacy-bootstrap" xmlns="http://docbook.org/ns/docbook">
<title>Legacy Bootstrapping</title>
<para>
The legacy way to bootstrap a SessionFactory is via the <classname>org.hibernate.cfg.Configuration</classname>
object. Configuration represents, essentially, a single point for specifying all aspects of building
the SessionFactory: everything from settings, to mappings, to strategies, etc. I like to think of
Configuration as a big pot to which we add a bunch of stuff (mappings, settings, etc) and from which
we eventually get a SessionFactory.
</para>
<note>
<para>
There are some significant draw backs to this approach which led to its deprecation and the development
of the new approach, which is discussed in <xref linkend="bootstrap-native"/>. Configuration is
semi-deprecated but still available for use, in a limited form that eliminates these draw backs.
"Under the covers", Configuration uses the new bootstrapping code, so the things available there as also
available here in terms of auto-discovery.
</para>
</note>
<para>
You can obtain the Configuration by instantiating it directly. You then specify mapping metadata (XML
mapping documents, annotated classes) that describe your applications object model and its mapping to a
SQL database.
</para>
<example>
<title>Configuration usage</title>
<programlisting role="JAVA">Configuration cfg = new Configuration()
// addResource does a classpath resource lookup
.addResource("Item.hbm.xml")
.addResource("Bid.hbm.xml")
// calls addResource using "/org/hibernate/auction/User.hbm.xml"
.addClass(org.hibernate.auction.User.class)
// parses Address class for mapping annotations
.addAnnotatedClass( Address.class )
// reads package-level (package-info.class) annotations in the named package
.addPackage( "org.hibernate.auction" )
.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect")
.setProperty("hibernate.connection.datasource", "java:comp/env/jdbc/test")
.setProperty("hibernate.order_updates", "true");</programlisting>
</example>
<para>
There are other ways to specify Configuration information, including:
<itemizedlist>
<listitem>
Place a file named hibernate.properties in a root directory of the classpath
</listitem>
<listitem>
Pass an instance of java.util.Properties to Configuration#setProperties
</listitem>
<listitem>
Via a Hibernate cfg.xml file
</listitem>
<listitem>
System properties using java `-Dproperty=value`
</listitem>
</itemizedlist>
</para>
<section>
<title>Migration</title>
<para>
Mapping Configuration methods to the corresponding methods in the new APIs..
</para>
<variablelist>
<title>Mapping metadata</title>
<varlistentry>
<term>Configuration#addFile</term>
<listitem>MetadataSources#addFile</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#add(XmlDocument)</term>
<listitem>No replacement</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addXML</term>
<listitem>No replacement</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addCacheableFile</term>
<listitem>MetadataSources#addCacheableFile</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addURL</term>
<listitem>MetadataSources#addURL</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addInputStream</term>
<listitem>MetadataSources#addInputStream</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addResource</term>
<listitem>MetadataSources#addResource</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addClass</term>
<listitem>MetadataSources#addClass</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addAnnotatedClass</term>
<listitem>MetadataSources#addAnnotatedClass</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addPackage</term>
<listitem>MetadataSources#addPackage</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addJar</term>
<listitem>MetadataSources#addJar</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addDirectory</term>
<listitem>MetadataSources#addDirectory</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#registerTypeContributor</term>
<listitem>MetadataBuilder#applyTypes</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#registerTypeOverride</term>
<listitem>MetadataBuilder#applyBasicType</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>Settings</title>
<varlistentry>
<term>Configuration#setProperty</term>
<listitem>StandardServiceRegistryBuilder#applySetting</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#setProperties</term>
<listitem>No replacement</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#addProperties</term>
<listitem>StandardServiceRegistryBuilder#applySettings</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#setNamingStrategy</term>
<listitem>No replacement. NamingStrategy split into implicit/physical strategies</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#setImplicitNamingStrategy</term>
<listitem>MetadataBuilder#setImplicitNamingStrategy</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#setPhysicalNamingStrategy</term>
<listitem>MetadataBuilder#setPhysicalNamingStrategy</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#configure</term>
<listitem>StandardServiceRegistryBuilder#configure</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#setInterceptor</term>
<listitem>SessionFactoryBuilder#applyInterceptor</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#setEntityNotFoundDelegate</term>
<listitem>SessionFactoryBuilder#applyEntityNotFoundDelegate</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#setSessionFactoryObserver</term>
<listitem>SessionFactoryBuilder#addSessionFactoryObservers</listitem>
</varlistentry>
<varlistentry>
<term>Configuration#setCurrentTenantIdentifierResolver</term>
<listitem>SessionFactoryBuilder#applyCurrentTenantIdentifierResolver</listitem>
</varlistentry>
</variablelist>
</section>
</appendix>

View File

@ -0,0 +1,167 @@
<?xml version='1.0' encoding="UTF-8"?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<chapter xml:id="architecture" xmlns="http://docbook.org/ns/docbook">
<title>Architecture</title>
<section xml:id="architecture-overview">
<title>Overview</title>
<mediaobject>
<imageobject role="fo">
<imagedata fileref="images/overview.svg" format="SVG" align="center"/>
</imageobject>
<imageobject role="html">
<imagedata fileref="images/overview.png" format="PNG" align="center"/>
</imageobject>
</mediaobject>
<para>
Hibernate, as an ORM solution, effectively "sits between" the Java application and the Relational
Database, as can be seen in the diagram above. The Java application makes use of the Hibernate APIs
to load, store, query, etc its domain data. Here we will introduce the essential Hibernate APIs.
This will be a brief introduction; we will discuss these contracts in detail later.
<variablelist spacing="compact">
<varlistentry>
<term>SessionFactory (<interfacename>org.hibernate.SessionFactory</interfacename>)</term>
<listitem>
<para>
A thread-safe (and immutable) representation of the mapping of the application
domain model to a database. Acts as a factory for
<interfacename>org.hibernate.Session</interfacename> instances.
</para>
<para>
A SessionFactory is very expensive to create; there should be only
one SessionFactory for an application for a given database. Maintains
services that Hibernate uses across all Sessions such as second level caches,
connection pools, transaction system integrations, etc.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Session (<interfacename>org.hibernate.Session</interfacename>)</term>
<listitem>
<para>
A single-threaded, short-lived object conceptually modeling a
"Unit of Work"<citation>PoEAA</citation>.
</para>
<para>
Wraps a JDBC <interfacename>java.sql.Connection</interfacename>. Acts as a factory for
<interfacename>org.hibernate.Transaction</interfacename> instances. Maintains a
generally "repeatable read" persistence context (first level cache) of the application's
domain model.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Transaction (<interfacename>org.hibernate.Transaction</interfacename>)</term>
<listitem>
<para>
A single-threaded, short-lived object used by the application to demarcate individual
physical transaction boundaries. It acts as an abstraction API to isolate the application
from the underling transaction system in use (JDBC, JTA, CORBA, etc).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="architecture-current-session" revision="2">
<title>Contextual sessions</title>
<para>
Most applications using Hibernate need some form of "contextual" session, where a given
session is in effect throughout the scope of a given context. However, across applications
the definition of what constitutes a context is typically different; different contexts
define different scopes to the notion of current. Applications using Hibernate prior
to version 3.0 tended to utilize either home-grown <literal>ThreadLocal</literal>-based
contextual sessions, helper classes such as <literal>HibernateUtil</literal>, or utilized
third-party frameworks, such as Spring or Pico, which provided proxy/interception-based contextual sessions.
</para>
<para>
Starting with version 3.0.1, Hibernate added the <literal>SessionFactory.getCurrentSession()</literal>
method. Initially, this assumed usage of <literal>JTA</literal> transactions, where the
<literal>JTA</literal> transaction defined both the scope and context of a current session.
Given the maturity of the numerous stand-alone
<literal>JTA TransactionManager</literal> implementations, most, if not all,
applications should be using <literal>JTA</literal> transaction management, whether or not
they are deployed into a <literal>J2EE</literal> container. Based on that, the
<literal>JTA</literal>-based contextual sessions are all you need to use.
</para>
<para>
However, as of version 3.1, the processing behind
<literal>SessionFactory.getCurrentSession()</literal> is now pluggable. To that
end, a new extension interface, <literal>org.hibernate.context.spi.CurrentSessionContext</literal>,
and a new configuration parameter, <literal>hibernate.current_session_context_class</literal>,
have been added to allow pluggability of the scope and context of defining current sessions.
</para>
<para>
See the Javadocs for the <literal>org.hibernate.context.spi.CurrentSessionContext</literal>
interface for a detailed discussion of its contract. It defines a single method,
<literal>currentSession()</literal>, by which the implementation is responsible for
tracking the current contextual session. Out-of-the-box, Hibernate comes with three
implementations of this interface:
</para>
<itemizedlist>
<listitem>
<para>
<literal>org.hibernate.context.internal.JTASessionContext</literal>: current sessions
are tracked and scoped by a <literal>JTA</literal> transaction. The processing
here is exactly the same as in the older JTA-only approach. See the Javadocs
for details.
</para>
</listitem>
<listitem>
<para>
<literal>org.hibernate.context.internal.ThreadLocalSessionContext</literal>:current
sessions are tracked by thread of execution. See the Javadocs for details.
</para>
</listitem>
<listitem>
<para>
<literal>org.hibernate.context.internal.ManagedSessionContext</literal>: current
sessions are tracked by thread of execution. However, you are responsible to
bind and unbind a <literal>Session</literal> instance with static methods
on this class: it does not open, flush, or close a <literal>Session</literal>.
</para>
</listitem>
</itemizedlist>
<para>
Typically, the value of this parameter would just name the implementation class to
use. For the three out-of-the-box implementations, however, there are three corresponding
short names: "jta", "thread", and "managed".
</para>
<para>
The first two implementations provide a "one session - one database transaction" programming
model. This is also known and used as <emphasis>session-per-request</emphasis>. The beginning
and end of a Hibernate session is defined by the duration of a database transaction.
If you use programmatic transaction demarcation in plain JSE without JTA, you are advised to
use the Hibernate <literal>Transaction</literal> API to hide the underlying transaction system
from your code. If you use JTA, you can utilize the JTA interfaces to demarcate transactions. If you
execute in an EJB container that supports CMT, transaction boundaries are defined declaratively
and you do not need any transaction or session demarcation operations in your code.
Refer to <xref linkend="transactions"/> for more information and code examples.
</para>
<para>
The <literal>hibernate.current_session_context_class</literal> configuration parameter
defines which <literal>org.hibernate.context.spi.CurrentSessionContext</literal> implementation
should be used. For backwards compatibility, if this configuration parameter is not set
but a <literal>org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform</literal> is configured,
Hibernate will use the <literal>org.hibernate.context.internal.JTASessionContext</literal>.
</para>
</section>
</chapter>

View File

@ -0,0 +1,82 @@
<?xml version='1.0' encoding='utf-8' ?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<chapter xml:id="batch"
xmlns="http://docbook.org/ns/docbook"
>
<title>Batching</title>
<para>
First we need to decide what all to discuss here as that phrase has so many connotations. Do we cover
<itemizedlist>
<listitem>JDBC batch updates?</listitem>
<listitem>Session w/ incremental flushing?</listitem>
<listitem>StatelessSession?</listitem>
<listitem>Java EE batching?</listitem>
<listitem>Any/all of the above?</listitem>
<listitem>Others?</listitem>
</itemizedlist>
</para>
<section xml:id="batch-jdbcbatch">
<title>JDBC batching</title>
<para>
JDBC offers support for batching together SQL statements that can be represented
as a single PreparedStatement. Implementation wise this generally means that drivers
will send the batched operation to the server in one call, which can save on network calls
to the database. Hibernate can leverage JDBC batching. The following settings control this
behavior.
</para>
<itemizedlist>
<listitem>
<para>
<literal>hibernate.jdbc.batch_size</literal> - Controls the maximum number of
statements Hibernate will batch together before asking the driver to execute
the batch. Zero or a negative number disables this feature.
</para>
</listitem>
<listitem>
<para>
<literal>hibernate.jdbc.batch_versioned_data</literal> - Some JDBC drivers
return incorrect row counts when a batch is executed. If your JDBC driver
falls into this category this setting should be set to <literal>false</literal>.
Otherwise it is safe to enable this which will allow Hibernate to still
batch the DML for versioned entities and still use the returned row counts for
optimitic lock checks. Currently defaults to false to be safe.
</para>
</listitem>
<listitem>
<para>
<literal>hibernate.jdbc.batch.builder</literal> - Names the implementation class
used to manage batching capabilities. It is almost never a good idea to switch from
Hibernate's default implementation. But if you wish to, this setting would name the
<interfacename>org.hibernate.engine.jdbc.batch.spi.BatchBuilder</interfacename>
implementation to use.
</para>
</listitem>
<listitem>
<para>
<literal>hibernate.order_update</literal> - Forces Hibernate to order SQL updates by the
entity type and the primary key value of the items being updated. This allows for more batching
to be used. It will also result in fewer transaction deadlocks in highly concurrent systems.
Comes with a performance hit, so benchmark before and after to see if this actually helps or
hurts your application.
</para>
</listitem>
<listitem>
<para>
<literal>hibernate.order_inserts</literal> - Forces Hibernate to order inserts to allow for
more batching to be used. Comes with a performance hit, so benchmark before and after to see
if this actually helps or hurts your application.
</para>
</listitem>
</itemizedlist>
</section>
</chapter>

View File

@ -0,0 +1,269 @@
<chapter xml:id="bootstrap" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Bootstrap</title>
<para>
The term <firstterm>bootstrapping</firstterm> refers to initializing and starting a software
component. In Hibernate we are specifically talking about the process of building a fully functional
SessionFactory instance or EntityManagerFactory instance for JPA. The process is very different for
each.
</para>
<note>
<para>
This chapter will not focus on all the possibilities of bootstrapping. Those will be covered
in each specific more-relevant chapters later on. Instead we focus here on the API calls needed
to perform the bootstrapping.
</para>
</note>
<!-- todo : point to "integrator guide" in regards to its effect on both forms of bootstrapping -->
<section xml:id="bootstrap-native">
<title>Native Bootstrapping</title>
<para>
This section discusses the process of bootstrapping a Hibernate SessionFactory. Specifically it discusses
the bootstrapping APIs as redesigned in 5.0. For a discussion of the legacy bootstrapping API, see
<xref linkend="appendix-legacy-bootstrap"/>
</para>
<section xml:id="bootstrap-native-registry">
<title>Building the ServiceRegistry</title>
<para>
The first step in native bootstrapping is the building of a ServiceRegistry holding the
services Hibernate will need at bootstrap and run time.
</para>
<!-- todo : point to the discussion about service registries, whether that remains as a topical guide or as a chapter in the "integrations guide" -->
<para>
Actually we are concerned with building 2 different ServiceRegistries. First is the
<interfacename>org.hibernate.boot.registry.BootstrapServiceRegistry</interfacename>. The
BootstrapServiceRegistry is intended to hold services that Hibernate needs at both bootstrap and
run time. This boils down to 3 services:
<itemizedlist>
<listitem>
<para>
<interfacename>org.hibernate.boot.registry.classloading.spi.ClassLoaderService</interfacename> -
which controls how Hibernate interacts with ClassLoaders
</para>
</listitem>
<listitem>
<para>
<interfacename>org.hibernate.integrator.spi.IntegratorService</interfacename> -
which controls the management ands discovery of
<interfacename>org.hibernate.integrator.spi.Integrator</interfacename> instances.
</para>
</listitem>
<listitem>
<para>
<interfacename>org.hibernate.boot.registry.selector.spi.StrategySelector</interfacename> -
which control how Hibernate resolves implementations of various strategy contracts. This
is a very powerful service, but a full discussion of it is beyond the scope of this guide.
</para>
</listitem>
</itemizedlist>
</para>
<para>
If you are ok with the default behavior of Hibernate in regards to these BootstrapServiceRegistry
services (which is quite often the case, especially in SE environments), then building the
BootstrapServiceRegistry can be skipped.
</para>
<para>
If you wish to alter how the BootstrapServiceRegistry is built, that is controlled through the
<interfacename>org.hibernate.boot.registry.BootstrapServiceRegistryBuilder</interfacename>:
</para>
<example>
<title>Controlling BootstrapServiceRegistry building</title>
<programlisting role="JAVA"><xi:include href="extras/native1.java" parse="text"/></programlisting>
</example>
<para>
The services of the BootstrapServiceRegistry cannot be extended (added to) nor overridden (replaced).
</para>
<para>
The second ServiceRegistry is the <interfacename>org.hibernate.boot.registry.StandardServiceRegistry</interfacename>.
You will almost always need to configure the StandardServiceRegistry, which is done through
<classname>org.hibernate.boot.registry.StandardServiceRegistryBuilder</classname>:
</para>
<example>
<title>Building a BootstrapServiceRegistryBuilder</title>
<programlisting role="JAVA"><xi:include href="extras/native2.java" parse="text"/></programlisting>
<programlisting role="JAVA"><xi:include href="extras/native3.java" parse="text"/></programlisting>
</example>
<para>
A StandardServiceRegistry is also highly configurable via the StandardServiceRegistryBuilder API.
See the StandardServiceRegistryBuilder javadocs for full details. Some specific methods of interest:
</para>
<example>
<title>Controlling StandardServiceRegistry building</title>
<programlisting role="JAVA"><xi:include href="extras/native4.java" parse="text"/></programlisting>
</example>
</section>
<section xml:id="bootstrap-native-metadata">
<title>Building the Metadata</title>
<para>
The second step in native bootstrapping is the building of a <interfacename>org.hibernate.boot.Metadata</interfacename>
object containing the parsed representations of an application's domain model and its mapping to
a database. The first thing we obviously need to build a parsed representation is the source
information to be parsed (annotated classes, `hbm.xml` files, `orm.xml` files). This is
the purpose of <classname>org.hibernate.boot.MetadataSources</classname>:
</para>
<example>
<title>Configuring a MetadataSources</title>
<programlisting role="JAVA"><xi:include href="extras/native5.java" parse="text"/></programlisting>
</example>
<para>
MetadataSources has many other methods as well; explore its API and javadocs for more information.
Also, all methods on MetadataSources allow for chaining should you prefer that style:
</para>
<example>
<title>Configuring a MetadataSources with method chaining</title>
<programlisting role="JAVA"><xi:include href="extras/native6.java" parse="text"/></programlisting>
</example>
<para>
Once we have the sources of mapping information defined, we need to build the Metadata object. If
you are ok with the default behavior in building the Metadata then you can simply call
MetadataSources#buildMetadata.
</para>
<note>
<para>
Notice that a ServiceRegistry can be passed at a number of points in this bootstrapping process.
The suggested approach is to build a StandardServiceRegistry yourself and pass that along to the
MetadataSources constructor. From there, MetadataBuilder, Metadata, SessionFactoryBuilder and
SessionFactory will all pick up that same StandardServiceRegistry.
</para>
</note>
<para>
However, if you wish to adjust the process of building Metadata from MetadataSources you will need
to use the MetadataBuilder as obtained via MetadataSources#getMetadataBuilder. MetadataBuilder
allows a lot of control over the Metadata building process. See its javadocs for full details.
</para>
<example>
<title>Building Metadata via MetadataBuilder</title>
<programlisting role="JAVA"><xi:include href="extras/native7.java" parse="text"/></programlisting>
</example>
</section>
<section xml:id="bootstrap-native-sessionfactory">
<title>Building the SessionFactory</title>
<para>
The final step in native bootstrapping is to build the SessionFactory itself. Much like
discussed above, if you are ok with the default behavior of building a SessionFactory from a Metadata
reference, you can simply call Metadata#buildSessionFactory.
</para>
<para>
However, if you would like to adjust that building process you will need to use
SessionFactoryBuilder as obtained via Metadata#getSessionFactoryBuilder. Again, see its
javadocs for full details.
</para>
<example>
<title>Building SessionFactory via SessionFactoryBuilder</title>
<programlisting role="JAVA"><xi:include href="extras/native8.java" parse="text"/></programlisting>
</example>
<para>
The bootstrapping API is quite flexible, but in most cases it makes the most sense to think of
it as a 3 step process:
<orderedlist>
<listitem>
Build the StandardServiceRegistry
</listitem>
<listitem>
Build the Metadata
</listitem>
<listitem>
Use those 2 things to build the SessionFactory
</listitem>
</orderedlist>
</para>
<example>
<title>Native Bootstrapping - Putting it all together</title>
<programlisting role="JAVA"><xi:include href="extras/native9.java" parse="text"/></programlisting>
</example>
</section>
</section>
<section xml:id="bootstrap-jpa">
<title>JPA Bootstrapping</title>
<para>
Bootstrapping Hibernate as a JPA provider can be done in a JPA-spec compliant manner or using a proprietary
bootstrapping approach. The standardized approach has some limitations in certain environments, but aside
from those limitations, it is *highly* recommended that you use JPA-standardized bootstrapping.
</para>
<!-- todo : pointer to integration guide -->
<section xml:id="bootstrap-jpa-compliant">
<title>JPA-compliant bootstrapping</title>
<para>
In JPA we are ultimately interested in bootstrapping an javax.persistence.EntityManagerFactory instance.
The JPA specification defines 2 primary standardized bootstrap approaches depending on how the
application intends to access the javax.persistence.EntityManager instances from an
EntityManagerFactory. It uses the terms "EE" and "SE" for these 2 approaches, but those terms are very
misleading in this context. What the JPA spec calls EE bootstrapping is cases where a container
(EE, OSGi, etc) will manage and inject the persistence context on behalf of the application.
What it calls SE bootstrapping is everything else. We will use the terms
container-bootstrapping and application-bootstrapping in this guide.
</para>
<sidebar>
<para>
If you would like additional details on accessing and using EntityManager instances, sections 7.6
and 7.7 of the JPA 2.1 specification cover container-managed and application-managed EntityManagers,
respectively.
</para>
</sidebar>
<para>
For compliant container-bootstrapping, the container will build an EntityManagerFactory for each
persistent-unit defined in the deployment's META-INF/persistence.xml and make that available to the
application for injection via the javax.persistence.PersistenceUnit annotation or via JNDI lookup.
</para>
<example>
<title>Injecting a EntityManagerFactory</title>
<programlisting role="JAVA"><xi:include href="extras/jpa1.java" parse="text"/></programlisting>
</example>
<para>
For compliant application-bootstrapping, rather than the container building the
EntityManagerFactory for the application, the application builds the EntityManagerFactory itself
using the javax.persistence.Persistence bootstrap class. The application creates an entity manager
factory by calling the createEntityManagerFactory method:
</para>
<example>
<title>Application bootstrapped EntityManagerFactory</title>
<programlisting role="JAVA"><xi:include href="extras/jpa2.java" parse="text"/></programlisting>
</example>
</section>
<section xml:id="bootstrap-jpa-hibernate">
<title>Proprietary 2-phase bootstrapping</title>
<para>
<!-- todo : document this -->
todo
</para>
</section>
</section>
</chapter>

View File

@ -0,0 +1,2 @@
@PersistenceUnit
EntityManagerFactory emf;

View File

@ -0,0 +1,2 @@
// Create an EMF for our CRM persistence-unit.
EntityManagerFactory emf = Persistence.createEntityManagerFactory("CRM");

Some files were not shown because too many files have changed in this diff Show More