[hibernate-commits] Hibernate SVN: r14149 - core/trunk/documentation/manual/translations/ko-KR/content.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Oct 26 23:44:24 EDT 2007


Author: xhuang at jboss.com
Date: 2007-10-26 23:44:23 -0400 (Fri, 26 Oct 2007)
New Revision: 14149

Modified:
   core/trunk/documentation/manual/translations/ko-KR/content/architecture.po
   core/trunk/documentation/manual/translations/ko-KR/content/association_mapping.po
   core/trunk/documentation/manual/translations/ko-KR/content/basic_mapping.po
   core/trunk/documentation/manual/translations/ko-KR/content/batch.po
   core/trunk/documentation/manual/translations/ko-KR/content/best_practices.po
   core/trunk/documentation/manual/translations/ko-KR/content/collection_mapping.po
   core/trunk/documentation/manual/translations/ko-KR/content/component_mapping.po
   core/trunk/documentation/manual/translations/ko-KR/content/configuration.po
   core/trunk/documentation/manual/translations/ko-KR/content/events.po
   core/trunk/documentation/manual/translations/ko-KR/content/example_mappings.po
   core/trunk/documentation/manual/translations/ko-KR/content/example_parentchild.po
   core/trunk/documentation/manual/translations/ko-KR/content/example_weblog.po
   core/trunk/documentation/manual/translations/ko-KR/content/filters.po
   core/trunk/documentation/manual/translations/ko-KR/content/inheritance_mapping.po
   core/trunk/documentation/manual/translations/ko-KR/content/performance.po
   core/trunk/documentation/manual/translations/ko-KR/content/persistent_classes.po
   core/trunk/documentation/manual/translations/ko-KR/content/preface.po
   core/trunk/documentation/manual/translations/ko-KR/content/query_criteria.po
   core/trunk/documentation/manual/translations/ko-KR/content/query_hql.po
   core/trunk/documentation/manual/translations/ko-KR/content/query_sql.po
   core/trunk/documentation/manual/translations/ko-KR/content/session_api.po
   core/trunk/documentation/manual/translations/ko-KR/content/toolset_guide.po
   core/trunk/documentation/manual/translations/ko-KR/content/transactions.po
   core/trunk/documentation/manual/translations/ko-KR/content/tutorial.po
   core/trunk/documentation/manual/translations/ko-KR/content/xml.po
Log:
Generated via XML and latest English XML

Modified: core/trunk/documentation/manual/translations/ko-KR/content/architecture.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/architecture.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/architecture.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,216 +1,622 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:21
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: architecture.xml:21
+#, no-c-format
 msgid "Architecture"
 msgstr "아키텍처"
 
-#: index.docbook:24
+#. Tag: title
+#: architecture.xml:24
+#, no-c-format
 msgid "Overview"
-msgstr "<title>개요</title>"
+msgstr "개요"
 
-#: index.docbook:26
+#. Tag: para
+#: architecture.xml:26
+#, no-c-format
 msgid "A (very) high-level view of the Hibernate architecture:"
 msgstr "Hibernate 아키텍처에 대한 (매우) 높은 수준의 개요::"
 
-#: index.docbook:39
-msgid "This diagram shows Hibernate using the database and configuration data to provide persistence services (and persistent objects) to the application."
-msgstr "이 다이어그램은 어플리케이션에 영속화 서비스들(과 영속 객체들)을 제공하기 위해 데이터베이스와 컨피그레이션을 사용하는 Hibernate를 보여준다."
+#. Tag: para
+#: architecture.xml:39
+#, no-c-format
+msgid ""
+"This diagram shows Hibernate using the database and configuration data to "
+"provide persistence services (and persistent objects) to the application."
+msgstr ""
+"이 다이어그램은 어플리케이션에 영속화 서비스들(과 영속 객체들)을 제공하기 위"
+"해 데이터베이스와 컨피그레이션을 사용하는 Hibernate를 보여준다."
 
-#: index.docbook:44
-msgid "We would like to show a more detailed view of the runtime architecture. Unfortunately, Hibernate is flexible and supports several approaches. We will show the two extremes. The \"lite\" architecture has the application provide its own JDBC connections and manage its own transactions. This approach uses a minimal subset of Hibernate's APIs:"
-msgstr "우리는 런타임 아키텍처에 대한 보다 상세한 뷰를 보여주고 싶다. 불행하게도, Hibernate는 유연하며 몇 가지 접근법들을 제공한다. 우리는 두 가지 극단을 보여줄 것이다. \"경량급\" 아키텍처는 그것 자신의 JDBC 커넥션들을 제공하고 그것 자신의 트랜잭션들을 관리하는 어플리케이션을 갖는다. 이 접근법은 Hibernate의 API의 최소 부분집합을 사용한다:"
+#. Tag: para
+#: architecture.xml:44
+#, no-c-format
+msgid ""
+"We would like to show a more detailed view of the runtime architecture. "
+"Unfortunately, Hibernate is flexible and supports several approaches. We "
+"will show the two extremes. The \"lite\" architecture has the application "
+"provide its own JDBC connections and manage its own transactions. This "
+"approach uses a minimal subset of Hibernate's APIs:"
+msgstr ""
+"우리는 런타임 아키텍처에 대한 보다 상세한 뷰를 보여주고 싶다. 불행하게도, "
+"Hibernate는 유연하며 몇 가지 접근법들을 제공한다. 우리는 두 가지 극단을 보여"
+"줄 것이다. \"경량급\" 아키텍처는 그것 자신의 JDBC 커넥션들을 제공하고 그것 자"
+"신의 트랜잭션들을 관리하는 어플리케이션을 갖는다. 이 접근법은 Hibernate의 API"
+"의 최소 부분집합을 사용한다:"
 
-#: index.docbook:61
-msgid "The \"full cream\" architecture abstracts the application away from the underlying JDBC/JTA APIs and lets Hibernate take care of the details."
-msgstr "\"전체 정수\" 아키텍처는 기본 JDBC/JTA로부터 어플리케이션을 추상화 시키고 Hibernate로 하여금 상세한 것을 처리하게 한다."
+#. Tag: para
+#: architecture.xml:61
+#, no-c-format
+msgid ""
+"The \"full cream\" architecture abstracts the application away from the "
+"underlying JDBC/JTA APIs and lets Hibernate take care of the details."
+msgstr ""
+"\"전체 정수\" 아키텍처는 기본 JDBC/JTA로부터 어플리케이션을 추상화 시키고 "
+"Hibernate로 하여금 상세한 것을 처리하게 한다."
 
-#: index.docbook:75
+#. Tag: para
+#: architecture.xml:75
+#, fuzzy, no-c-format
 msgid "Heres some definitions of the objects in the diagrams:"
-msgstr "다음은 다이어그램들 내에 있는 객체들에 대한 몇가지 정의들이다:"
+msgstr ""
+"다음은 다이어그램들 내에 있는 객체들에 대한 몇가지 정의들이다: <placeholder-"
+"1/>"
 
-#: index.docbook:80
+#. Tag: term
+#: architecture.xml:80
+#, no-c-format
 msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
 msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
 
-#: index.docbook:82
-msgid "A threadsafe (immutable) cache of compiled mappings for a single database. A factory for <literal>Session</literal> and a client of <literal>ConnectionProvider</literal>. Might hold an optional (second-level) cache of data that is reusable between transactions, at a process- or cluster-level."
-msgstr "단일 데이터베이스에 대한 컴파일된 매핑들의 threadsafe (불변의) 캐시. Session과 ConnectionProvider의 클라이언트를 위한 팩토리. 프로세스 레벨 또는 클러스터 레벨에서 트랜잭션들 사이에 재사용 가능한 데이터의 선택적인 (second-level) 캐시를 보관할 수도 있다."
+#. Tag: para
+#: architecture.xml:82
+#, no-c-format
+msgid ""
+"A threadsafe (immutable) cache of compiled mappings for a single database. A "
+"factory for <literal>Session</literal> and a client of "
+"<literal>ConnectionProvider</literal>. Might hold an optional (second-level) "
+"cache of data that is reusable between transactions, at a process- or "
+"cluster-level."
+msgstr ""
+"단일 데이터베이스에 대한 컴파일된 매핑들의 threadsafe (불변의) 캐시. Session"
+"과 ConnectionProvider의 클라이언트를 위한 팩토리. 프로세스 레벨 또는 클러스"
+"터 레벨에서 트랜잭션들 사이에 재사용 가능한 데이터의 선택적인 (second-level) "
+"캐시를 보관할 수도 있다."
 
-#: index.docbook:92
+#. Tag: term
+#: architecture.xml:92
+#, no-c-format
 msgid "Session (<literal>org.hibernate.Session</literal>)"
 msgstr "Session (<literal>org.hibernate.Session</literal>)"
 
-#: index.docbook:94
-msgid "A single-threaded, short-lived object representing a conversation between the application and the persistent store. Wraps a JDBC connection. Factory for <literal>Transaction</literal>. Holds a mandatory (first-level) cache of persistent objects, used when navigating the object graph or looking up objects by identifier."
-msgstr "어플리케이션과 영속 저장소 사이의 대화를 표현하는 단일 쓰레드이고, 수명이 짧은 객체. JDBC 커넥션을 포장한다. <literal>Transaction</literal> 용 팩토리. 객체 그래프를 네비게이트 하거나 식별자로 객체들을 룩업할 때 사용되는 영속 객체들에 대한 필수적인(첫 번째 레벨의) 캐시를 보관한다."
+#. Tag: para
+#: architecture.xml:94
+#, no-c-format
+msgid ""
+"A single-threaded, short-lived object representing a conversation between "
+"the application and the persistent store. Wraps a JDBC connection. Factory "
+"for <literal>Transaction</literal>. Holds a mandatory (first-level) cache of "
+"persistent objects, used when navigating the object graph or looking up "
+"objects by identifier."
+msgstr ""
+"어플리케이션과 영속 저장소 사이의 대화를 표현하는 단일 쓰레드이고, 수명이 짧"
+"은 객체. JDBC 커넥션을 포장한다. <literal>Transaction</literal> 용 팩토리. 객"
+"체 그래프를 네비게이트 하거나 식별자로 객체들을 룩업할 때 사용되는 영속 객체"
+"들에 대한 필수적인(첫 번째 레벨의) 캐시를 보관한다."
 
-#: index.docbook:104
+#. Tag: term
+#: architecture.xml:104
+#, no-c-format
 msgid "Persistent objects and collections"
 msgstr "영속 객체들과 콜렉션들"
 
-#: index.docbook:106
-msgid "Short-lived, single threaded objects containing persistent state and business function. These might be ordinary JavaBeans/POJOs, the only special thing about them is that they are currently associated with (exactly one) <literal>Session</literal>. As soon as the <literal>Session</literal> is closed, they will be detached and free to use in any application layer (e.g. directly as data transfer objects to and from presentation)."
-msgstr "persistent 상태와 비지니스 기능을 포함하는 수명이 짧고, 단일 쓰레드인 객체들. 이것들은 통상의 JavaBeans/POJO들일 수 있고, 오직 그것들에 대한 오직 특별한 것은 그것들이 현재 (정확하게 한 개의) <literal>Session</literal>과 연관되어 있다는 점이다. <literal>Session</literal>이 닫히자마자, 그것들은 분리될(detached 상태가 될) 것이고 어플리케이션 레이어에서 사용하는 것이 자유로와진다(예를 들면. 직접적으로 프리젠테이션 계층으로 데이터 전송 객체들로서 그리고 직접적으로 프리젠테이션 계층으로부터 데이터 전송 객체들로서)."
+#. Tag: para
+#: architecture.xml:106
+#, no-c-format
+msgid ""
+"Short-lived, single threaded objects containing persistent state and "
+"business function. These might be ordinary JavaBeans/POJOs, the only special "
+"thing about them is that they are currently associated with (exactly one) "
+"<literal>Session</literal>. As soon as the <literal>Session</literal> is "
+"closed, they will be detached and free to use in any application layer (e.g. "
+"directly as data transfer objects to and from presentation)."
+msgstr ""
+"persistent 상태와 비지니스 기능을 포함하는 수명이 짧고, 단일 쓰레드인 객체"
+"들. 이것들은 통상의 JavaBeans/POJO들일 수 있고, 오직 그것들에 대한 오직 특별"
+"한 것은 그것들이 현재 (정확하게 한 개의) <literal>Session</literal>과 연관되"
+"어 있다는 점이다. <literal>Session</literal>이 닫히자마자, 그것들은 분리될"
+"(detached 상태가 될) 것이고 어플리케이션 레이어에서 사용하는 것이 자유로와진"
+"다(예를 들면. 직접적으로 프리젠테이션 계층으로 데이터 전송 객체들로서 그리고 "
+"직접적으로 프리젠테이션 계층으로부터 데이터 전송 객체들로서)."
 
-#: index.docbook:117
+#. Tag: term
+#: architecture.xml:117
+#, no-c-format
 msgid "Transient and detached objects and collections"
 msgstr "전이(Transient, 필자 주-과도) 객체들과 콜렉션들"
 
-#: index.docbook:119
-msgid "Instances of persistent classes that are not currently associated with a <literal>Session</literal>. They may have been instantiated by the application and not (yet) persisted or they may have been instantiated by a closed <literal>Session</literal>."
-msgstr "<literal>Session</literal>과 현재 연관되어 있지 않은 영속 클래스들의 인스턴스들. 그것들은 어플리케이션에 의해 초기화 되었고 (아직) 영속화 되지 않았거나 그것들은 닫혀진<literal>Session</literal>에 의해 초기화 되었을 수도 있다."
+#. Tag: para
+#: architecture.xml:119
+#, no-c-format
+msgid ""
+"Instances of persistent classes that are not currently associated with a "
+"<literal>Session</literal>. They may have been instantiated by the "
+"application and not (yet) persisted or they may have been instantiated by a "
+"closed <literal>Session</literal>."
+msgstr ""
+"<literal>Session</literal>과 현재 연관되어 있지 않은 영속 클래스들의 인스턴스"
+"들. 그것들은 어플리케이션에 의해 초기화 되었고 (아직) 영속화 되지 않았거나 그"
+"것들은 닫혀진<literal>Session</literal>에 의해 초기화 되었을 수도 있다."
 
-#: index.docbook:128
+#. Tag: term
+#: architecture.xml:128
+#, no-c-format
 msgid "Transaction (<literal>org.hibernate.Transaction</literal>)"
 msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)"
 
-#: index.docbook:130
-msgid "(Optional) A single-threaded, short-lived object used by the application to specify atomic units of work. Abstracts application from underlying JDBC, JTA or CORBA transaction. A <literal>Session</literal> might span several <literal>Transaction</literal>s in some cases. However, transaction demarcation, either using the underlying API or <literal>Transaction</literal>, is never optional!"
-msgstr "(옵션) 작업의 원자 단위를 지정하기 위해 어플리케이션에 의해 사용되는 단일 쓰레드이고, 수명이 짧은 객체. 기본 JDBC, JTA 또는 CORBA 트랜잭션으로부터 어플리케이션을 추상화 시킨다. 몇몇 경우들에서 하나의 <literal>Session</literal>은 여러 개의 <literal>Transaction</literal>들에 걸칠 수 있다. 하지만 기본 API 또는 <literal>Transaction</literal>을 사용하는 트랜잭션 경계 설정은 결코 옵션이 아니다!"
+#. Tag: para
+#: architecture.xml:130
+#, no-c-format
+msgid ""
+"(Optional) A single-threaded, short-lived object used by the application to "
+"specify atomic units of work. Abstracts application from underlying JDBC, "
+"JTA or CORBA transaction. A <literal>Session</literal> might span several "
+"<literal>Transaction</literal>s in some cases. However, transaction "
+"demarcation, either using the underlying API or <literal>Transaction</"
+"literal>, is never optional!"
+msgstr ""
+"(옵션) 작업의 원자 단위를 지정하기 위해 어플리케이션에 의해 사용되는 단일 쓰"
+"레드이고, 수명이 짧은 객체. 기본 JDBC, JTA 또는 CORBA 트랜잭션으로부터 어플리"
+"케이션을 추상화 시킨다. 몇몇 경우들에서 하나의 <literal>Session</literal>은 "
+"여러 개의 <literal>Transaction</literal>들에 걸칠 수 있다. 하지만 기본 API 또"
+"는 <literal>Transaction</literal>을 사용하는 트랜잭션 경계 설정은 결코 옵션"
+"이 아니다!"
 
-#: index.docbook:141
-msgid "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</literal>)"
-msgstr "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</literal>)"
+#. Tag: term
+#: architecture.xml:141
+#, no-c-format
+msgid ""
+"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
+"literal>)"
+msgstr ""
+"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
+"literal>)"
 
-#: index.docbook:143
-msgid "(Optional) A factory for (and pool of) JDBC connections. Abstracts application from underlying <literal>Datasource</literal> or <literal>DriverManager</literal>. Not exposed to application, but can be extended/implemented by the developer."
-msgstr "(옵션) JDBC 커넥션들에 대한 팩토리(그리고 그것들의 pool). 기본 <literal>Datasource</literal> 또는 <literal>DriverManager</literal>로부터 어플리케이션을 추상화 시킨다. 어플리케이션에 노출되지는 않지만 개발자에 의해 확장/구현 된다."
+#. Tag: para
+#: architecture.xml:143
+#, no-c-format
+msgid ""
+"(Optional) A factory for (and pool of) JDBC connections. Abstracts "
+"application from underlying <literal>Datasource</literal> or "
+"<literal>DriverManager</literal>. Not exposed to application, but can be "
+"extended/implemented by the developer."
+msgstr ""
+"(옵션) JDBC 커넥션들에 대한 팩토리(그리고 그것들의 pool). 기본 "
+"<literal>Datasource</literal> 또는 <literal>DriverManager</literal>로부터 어"
+"플리케이션을 추상화 시킨다. 어플리케이션에 노출되지는 않지만 개발자에 의해 확"
+"장/구현 된다."
 
-#: index.docbook:151
-msgid "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
-msgstr "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
+#. Tag: term
+#: architecture.xml:151
+#, no-c-format
+msgid ""
+"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
+msgstr ""
+"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
 
-#: index.docbook:153
-msgid "(Optional) A factory for <literal>Transaction</literal> instances. Not exposed to the application, but can be extended/implemented by the developer."
-msgstr "(옵션) <literal>Transaction</literal> 인스턴스들에 대한 팩토리. 어플리케이션에 노출되지는 않지만 개발자에 의해 확장/구현 된다."
+#. Tag: para
+#: architecture.xml:153
+#, no-c-format
+msgid ""
+"(Optional) A factory for <literal>Transaction</literal> instances. Not "
+"exposed to the application, but can be extended/implemented by the developer."
+msgstr ""
+"(옵션) <literal>Transaction</literal> 인스턴스들에 대한 팩토리. 어플리케이션"
+"에 노출되지는 않지만 개발자에 의해 확장/구현 된다."
 
-#: index.docbook:160
+#. Tag: emphasis
+#: architecture.xml:160
+#, no-c-format
 msgid "Extension Interfaces"
 msgstr "Extension Interfaces"
 
-#: index.docbook:162
-msgid "Hibernate offers many optional extension interfaces you can implement to customize the behavior of your persistence layer. See the API documentation for details."
-msgstr "Hibernate는 당신의 영속 계층의 특성을 맞춤화 시키기 위해 당신이 구현할 수 있는 선택적인 확장 인터페이스들을 제공한다. 상세한 것은 API 문서를 보라."
+#. Tag: para
+#: architecture.xml:162
+#, no-c-format
+msgid ""
+"Hibernate offers many optional extension interfaces you can implement to "
+"customize the behavior of your persistence layer. See the API documentation "
+"for details."
+msgstr ""
+"Hibernate는 당신의 영속 계층의 특성을 맞춤화 시키기 위해 당신이 구현할 수 있"
+"는 선택적인 확장 인터페이스들을 제공한다. 상세한 것은 API 문서를 보라."
 
-#: index.docbook:171
-msgid "Given a \"lite\" architecture, the application bypasses the <literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or <literal>ConnectionProvider</literal> APIs to talk to JTA or JDBC directly."
-msgstr "주어진 \"경량급\" 아키텍처의 경우, 어플리케이션은 JTA 또는 JDBC와 직접 대화하기 위해서 <literal>Transaction</literal>/<literal>TransactionFactory</literal> 그리고/또는 <literal>ConnectionProvider</literal> API들을 무시한다."
+#. Tag: para
+#: architecture.xml:171
+#, no-c-format
+msgid ""
+"Given a \"lite\" architecture, the application bypasses the "
+"<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or "
+"<literal>ConnectionProvider</literal> APIs to talk to JTA or JDBC directly."
+msgstr ""
+"주어진 \"경량급\" 아키텍처의 경우, 어플리케이션은 JTA 또는 JDBC와 직접 대화하"
+"기 위해서 <literal>Transaction</literal>/<literal>TransactionFactory</"
+"literal> 그리고/또는 <literal>ConnectionProvider</literal> API들을 무시한다."
 
-#: index.docbook:179
+#. Tag: title
+#: architecture.xml:179
+#, no-c-format
 msgid "Instance states"
 msgstr "인스턴스 상태들"
 
-#: index.docbook:180
-msgid "An instance of a persistent classes may be in one of three different states, which are defined with respect to a <emphasis>persistence context</emphasis>. The Hibernate <literal>Session</literal> object is the persistence context:"
-msgstr "영속 클래스들의 인스턴스는 세개의 상태들 중 하나 일 수 있다. 그것들(상태들)은 영속 컨텍스트(<emphasis>persistence context</emphasis>)에 대해 정의된다. Hibernate <literal>Session</literal> 객체는 영속 컨텍스트이다:"
+#. Tag: para
+#: architecture.xml:180
+#, no-c-format
+msgid ""
+"An instance of a persistent classes may be in one of three different states, "
+"which are defined with respect to a <emphasis>persistence context</"
+"emphasis>. The Hibernate <literal>Session</literal> object is the "
+"persistence context:"
+msgstr ""
+"영속 클래스들의 인스턴스는 세개의 상태들 중 하나 일 수 있다. 그것들(상태들)"
+"은 영속 컨텍스트(<emphasis>persistence context</emphasis>)에 대해 정의된다. "
+"Hibernate <literal>Session</literal> 객체는 영속 컨텍스트이다:"
 
-#: index.docbook:188
+#. Tag: term
+#: architecture.xml:188
+#, no-c-format
 msgid "transient"
 msgstr "transient"
 
-#: index.docbook:190
-msgid "The instance is not, and has never been associated with any persistence context. It has no persistent identity (primary key value)."
-msgstr "인스턴스는 임의의 컨텍스트와 연관되어 있지 않고, 결코 연관된 적이 없었다. 그것은 영속 식별자(프라이머리 키 값)을 갖지 않는다."
+#. Tag: para
+#: architecture.xml:190
+#, no-c-format
+msgid ""
+"The instance is not, and has never been associated with any persistence "
+"context. It has no persistent identity (primary key value)."
+msgstr ""
+"인스턴스는 임의의 컨텍스트와 연관되어 있지 않고, 결코 연관된 적이 없었다. 그"
+"것은 영속 식별자(프라이머리 키 값)을 갖지 않는다."
 
-#: index.docbook:198
+#. Tag: term
+#: architecture.xml:198
+#, no-c-format
 msgid "persistent"
 msgstr "persistent"
 
-#: index.docbook:200
-msgid "The instance is currently associated with a persistence context. It has a persistent identity (primary key value) and, perhaps, a corresponding row in the database. For a particular persistence context, Hibernate <emphasis>guarantees</emphasis> that persistent identity is equivalent to Java identity (in-memory location of the object)."
-msgstr "인스턴스는 현재 영속 컨텍스트와 연관되어 있다. 그것은 영속 식별자(프라이머리 키 값) 그리고 아마 데이터베이스 내에 있는 대응하는 행을 갖는다. 특별한 영속 컨텍스트의 경우, Hibernate는 영속 identity가 Java identity(객체의 메모리 내 위치)와 같다는 점을 <emphasis>보증한다</emphasis>."
+#. Tag: para
+#: architecture.xml:200
+#, no-c-format
+msgid ""
+"The instance is currently associated with a persistence context. It has a "
+"persistent identity (primary key value) and, perhaps, a corresponding row in "
+"the database. For a particular persistence context, Hibernate "
+"<emphasis>guarantees</emphasis> that persistent identity is equivalent to "
+"Java identity (in-memory location of the object)."
+msgstr ""
+"인스턴스는 현재 영속 컨텍스트와 연관되어 있다. 그것은 영속 식별자(프라이머리 "
+"키 값) 그리고 아마 데이터베이스 내에 있는 대응하는 행을 갖는다. 특별한 영속 "
+"컨텍스트의 경우, Hibernate는 영속 identity가 Java identity(객체의 메모리 내 "
+"위치)와 같다는 점을 <emphasis>보증한다</emphasis>."
 
-#: index.docbook:212
+#. Tag: term
+#: architecture.xml:212
+#, no-c-format
 msgid "detached"
 msgstr "detached"
 
-#: index.docbook:214
-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, perhaps, a corrsponding row in the database. For detached instances, Hibernate makes no guarantees about the relationship between persistent identity and Java identity."
-msgstr "인스턴스는 영속 컨텍스트와 한번 연관되었지만, 그 컨텍스트가 닫혔거나, 그 인스턴스가 또 다른 프로세스로 직렬화 되었다. 그것은 영속 identity 그리고, 아마 데이터베이스 내에 대응하는 행을 갖는다. detached 인스턴스들의 경우, Hibernate는 영속 identity과 Java identity 사이의 관계를 보증하지 않는다."
+#. Tag: para
+#: architecture.xml:214
+#, no-c-format
+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, perhaps, a corrsponding row in the database. "
+"For detached instances, Hibernate makes no guarantees about the relationship "
+"between persistent identity and Java identity."
+msgstr ""
+"인스턴스는 영속 컨텍스트와 한번 연관되었지만, 그 컨텍스트가 닫혔거나, 그 인스"
+"턴스가 또 다른 프로세스로 직렬화 되었다. 그것은 영속 identity 그리고, 아마 데"
+"이터베이스 내에 대응하는 행을 갖는다. detached 인스턴스들의 경우, Hibernate"
+"는 영속 identity과 Java identity 사이의 관계를 보증하지 않는다."
 
-#: index.docbook:229
+#. Tag: title
+#: architecture.xml:229
+#, no-c-format
 msgid "JMX Integration"
 msgstr "JMX 통합"
 
-#: index.docbook:231
-msgid "JMX is the J2EE standard for management of Java components. Hibernate may be managed via a JMX standard service. We provide an MBean implementation in the distribution, <literal>org.hibernate.jmx.HibernateService</literal>."
-msgstr "JMX는 자바 컴포넌트 관리를 위한 J2EE 표준이다. Hibernate는 JMX 표준 서비스를 통해 관리될 수도 있다. 우리는 배포본 내에 MBean 구현, <literal>org.hibernate.jmx.HibernateService</literal>를 제공한다."
+#. Tag: para
+#: architecture.xml:231
+#, no-c-format
+msgid ""
+"JMX is the J2EE standard for management of Java components. Hibernate may be "
+"managed via a JMX standard service. We provide an MBean implementation in "
+"the distribution, <literal>org.hibernate.jmx.HibernateService</literal>."
+msgstr ""
+"JMX는 자바 컴포넌트 관리를 위한 J2EE 표준이다. Hibernate는 JMX 표준 서비스를 "
+"통해 관리될 수도 있다. 우리는 배포본 내에 MBean 구현, <literal>org.hibernate."
+"jmx.HibernateService</literal>를 제공한다."
 
-#: index.docbook:237
-msgid "For an example how to deploy Hibernate as a JMX service on the JBoss Application Server, please see the JBoss User Guide. On JBoss AS, you also get these benefits if you deploy using JMX:"
-msgstr "JBoss 어플리케이션 서버 상에 Hibernae를 JMX 서비스로서 배치하는 방법에 대한 예제는 JBoss 사용자 가이드를 보길 바란다. JBoss 어플리케이션 서버 상에서, 만일 당신이 JMX를 사용하여 배치할 경우 당신은 또한 다음 이점들을 얻는다:"
+#. Tag: para
+#: architecture.xml:237
+#, no-c-format
+msgid ""
+"For an example how to deploy Hibernate as a JMX service on the JBoss "
+"Application Server, please see the JBoss User Guide. On JBoss AS, you also "
+"get these benefits if you deploy using JMX:"
+msgstr ""
+"JBoss 어플리케이션 서버 상에 Hibernae를 JMX 서비스로서 배치하는 방법에 대한 "
+"예제는 JBoss 사용자 가이드를 보길 바란다. JBoss 어플리케이션 서버 상에서, 만"
+"일 당신이 JMX를 사용하여 배치할 경우 당신은 또한 다음 이점들을 얻는다:"
 
-#: index.docbook:245
-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 you no longer have to manually open and close the <literal>Session</literal>, this becomes the job of a JBoss EJB interceptor. You also don't have to worry about transaction demarcation in your code anymore (unless you'd like to write a portable persistence layer of course, 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 관리:</emphasis> Hibernate <literal>Session</literal>의 생명주기가 JTA 트랜잭션의 영역 내에 자동적으로 바인드 될 수 있다. 이것은 당신이 더이상 <literal>Session</literal>을 수작업으로 열고 닫지 않아도 됨을 의미하고, 이것은 JBoss EJB 인터셉터의 업무가 된다. 당신은 또한 더 이상 당신의 코드 어느 곳에서든 트랜잭션 경계설정에 대해 걱정하지 않아도 된다(당신이 물론 이식성 있는 영속 계층을 작성하고자 원하지 않는한, 이를 위해 옵션 Hibernate <literal>Transaction</literal> API를 사용하라). 당신은 <literal>Session</literal>에 접근하기 위해 <literal>HibernateContext</literal>를 호출한다."
+#. Tag: para
+#: architecture.xml:245
+#, no-c-format
+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 you no longer have to manually open and close the "
+"<literal>Session</literal>, this becomes the job of a JBoss EJB interceptor. "
+"You also don't have to worry about transaction demarcation in your code "
+"anymore (unless you'd like to write a portable persistence layer of course, "
+"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 관리:</emphasis> Hibernate <literal>Session</literal>의 생"
+"명주기가 JTA 트랜잭션의 영역 내에 자동적으로 바인드 될 수 있다. 이것은 당신"
+"이 더이상 <literal>Session</literal>을 수작업으로 열고 닫지 않아도 됨을 의미"
+"하고, 이것은 JBoss EJB 인터셉터의 업무가 된다. 당신은 또한 더 이상 당신의 코"
+"드 어느 곳에서든 트랜잭션 경계설정에 대해 걱정하지 않아도 된다(당신이 물론 이"
+"식성 있는 영속 계층을 작성하고자 원하지 않는한, 이를 위해 옵션 Hibernate "
+"<literal>Transaction</literal> API를 사용하라). 당신은 <literal>Session</"
+"literal>에 접근하기 위해 <literal>HibernateContext</literal>를 호출한다."
 
-#: index.docbook:257
-msgid "<emphasis>HAR deployment:</emphasis> Usually you deploy the Hibernate JMX service using a JBoss service deployment descriptor (in an EAR and/or SAR file), it supports all the usual configuration options of a Hibernate <literal>SessionFactory</literal>. However, you still have to name all your mapping files in the deployment descriptor. If you decide to use the optional HAR deployment, JBoss will automatically detect all mapping files in your HAR file."
-msgstr "<emphasis>HAR 배치:</emphasis> 대개 당신은 JBoss 서비스 배치 디스크립터를 사용하여 Hibernate JMX 서비스를 (EAR 과/또는 SAR 파일로) 배치하고, 그것은 Hibernate <literal>SessionFactory</literal>의 통상적인 구성 옵션들 모두를 지원한다. 하지만 당신은 여전히 모든 당신의 매핑 파일들을 배치 디스크립터 속에 명명해야 한다. 만일 당신이 옵션 HAR 배치를 사용하고자 결정하는 경우, JBoss는 당신의 HAR 파일 내에 있는 모든 매핑 파일들을 자동적으로 검출해낼 것이다."
+#. Tag: para
+#: architecture.xml:257
+#, no-c-format
+msgid ""
+"<emphasis>HAR deployment:</emphasis> Usually you deploy the Hibernate JMX "
+"service using a JBoss service deployment descriptor (in an EAR and/or SAR "
+"file), it supports all the usual configuration options of a Hibernate "
+"<literal>SessionFactory</literal>. However, you still have to name all your "
+"mapping files in the deployment descriptor. If you decide to use the "
+"optional HAR deployment, JBoss will automatically detect all mapping files "
+"in your HAR file."
+msgstr ""
+"<emphasis>HAR 배치:</emphasis> 대개 당신은 JBoss 서비스 배치 디스크립터를 사"
+"용하여 Hibernate JMX 서비스를 (EAR 과/또는 SAR 파일로) 배치하고, 그것은 "
+"Hibernate <literal>SessionFactory</literal>의 통상적인 구성 옵션들 모두를 지"
+"원한다. 하지만 당신은 여전히 모든 당신의 매핑 파일들을 배치 디스크립터 속에 "
+"명명해야 한다. 만일 당신이 옵션 HAR 배치를 사용하고자 결정하는 경우, JBoss는 "
+"당신의 HAR 파일 내에 있는 모든 매핑 파일들을 자동적으로 검출해낼 것이다."
 
-#: index.docbook:268
-msgid "Consult the JBoss AS user guide for more information about these options."
-msgstr "이들 옵션들에 대한 추가 정보는 JBoss 어플리케이션 서버 사용자 가이드를 참조하라."
+#. Tag: para
+#: architecture.xml:268
+#, no-c-format
+msgid ""
+"Consult the JBoss AS user guide for more information about these options."
+msgstr ""
+"이들 옵션들에 대한 추가 정보는 JBoss 어플리케이션 서버 사용자 가이드를 참조하"
+"라."
 
-#: index.docbook:272
-msgid "Another feature available as a JMX service are runtime Hibernate statistics. See <xref linkend=\"configuration-optional-statistics\"/>."
-msgstr "JMX 서비스로서 이용 가능한 또다른 특징은 런타임 Hibernate 통계이다. <xref linkend=\"configuration-optional-statistics\"/>를 보라."
+#. Tag: para
+#: architecture.xml:272
+#, no-c-format
+msgid ""
+"Another feature available as a JMX service are runtime Hibernate statistics. "
+"See <xref linkend=\"configuration-optional-statistics\"/>."
+msgstr ""
+"JMX 서비스로서 이용 가능한 또다른 특징은 런타임 Hibernate 통계이다. <xref "
+"linkend=\"configuration-optional-statistics\"/>를 보라."
 
-#: index.docbook:279
+#. Tag: title
+#: architecture.xml:279
+#, no-c-format
 msgid "JCA Support"
 msgstr "JCA 지원"
 
-#: index.docbook:280
-msgid "Hibernate may also be configured as a JCA connector. Please see the website for more details. Please note that Hibernate JCA support is still considered experimental."
-msgstr "Hibernate는 JCA 커넥터로서 구성될 수도 있다. 상세한 것은 웹 사이트를 보길 바란다. Hibernate JCA 지원은 여전히 실험적으로 검토 중에 있음을 노트하길 바란다."
+#. Tag: para
+#: architecture.xml:280
+#, no-c-format
+msgid ""
+"Hibernate may also be configured as a JCA connector. Please see the website "
+"for more details. Please note that Hibernate JCA support is still considered "
+"experimental."
+msgstr ""
+"Hibernate는 JCA 커넥터로서 구성될 수도 있다. 상세한 것은 웹 사이트를 보길 바"
+"란다. Hibernate JCA 지원은 여전히 실험적으로 검토 중에 있음을 노트하길 바란"
+"다."
 
-#: index.docbook:287
+#. Tag: title
+#: architecture.xml:287
+#, no-c-format
 msgid "Contextual Sessions"
 msgstr "컨텍스트 상의 세션들"
 
-#: index.docbook:288
-msgid "Most applications using Hibernate need some form of \"contextual\" sessions, 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; and 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 "Hibernate를 사용하는 대부분의 어플리케이션들은 어떤 양식의 \"컨텍스트상의(contextual)\" 세션들을 필요로 한다. 여기서 주어진 세션은 주어진 컨텍스트의 영역에 걸쳐 활동을 한다. 하지만 어플리케이션들을 가로질러 컨텍스트를 구성하는 것에 대한 정의는 일반적으로 다르다; 그리고 다른 컨텍스트들은 현재라고 하는 개념에 대해 다른 영역들을 정의한다. 버전 3.0 전의 Hibernate를 사용하는 어플리케이션들은 자가생산된 <literal>ThreadLocal</literal>-기반의 컨텍스상의 세션들, <literal>HibernateUtil</literal>과 같은 helper 클래스들을 활용했거나 프락시/인터셉션 기반의 컨텍스트상의 세션들을 제공해주었던 (Spring 또는 Pico와 같은 )제 3의 프레임웍들을 활용하는 경향이 있었다."
+#. Tag: para
+#: architecture.xml:288
+#, no-c-format
+msgid ""
+"Most applications using Hibernate need some form of \"contextual\" sessions, "
+"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; and 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 ""
+"Hibernate를 사용하는 대부분의 어플리케이션들은 어떤 양식의 \"컨텍스트상의"
+"(contextual)\" 세션들을 필요로 한다. 여기서 주어진 세션은 주어진 컨텍스트의 "
+"영역에 걸쳐 활동을 한다. 하지만 어플리케이션들을 가로질러 컨텍스트를 구성하"
+"는 것에 대한 정의는 일반적으로 다르다; 그리고 다른 컨텍스트들은 현재라고 하"
+"는 개념에 대해 다른 영역들을 정의한다. 버전 3.0 전의 Hibernate를 사용하는 어"
+"플리케이션들은 자가생산된 <literal>ThreadLocal</literal>-기반의 컨텍스상의 세"
+"션들, <literal>HibernateUtil</literal>과 같은 helper 클래스들을 활용했거나 프"
+"락시/인터셉션 기반의 컨텍스트상의 세션들을 제공해주었던 (Spring 또는 Pico와 "
+"같은 )제 3의 프레임웍들을 활용하는 경향이 있었다."
 
-#: index.docbook:297
-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. The Hibernate team maintains that, given the maturity of the numerous stand-alone <literal>JTA TransactionManager</literal> implementations out there, 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 is all you should ever need to use."
-msgstr "버전 3.0.1에서부터 시작하여, Hibernate는 <literal>SessionFactory.getCurrentSession()</literal> 메소드를 추가했다. 초기에 이것은 <literal>JTA</literal> 트랜잭션들을 사용하는 것을 전제했다. 여기서 <literal>JTA</literal> 트랜잭션은 현재 세션의 영역과 컨텍스트를 정의했다. Hibernate 팀은 성숙된 다수의 스탠드얼론 <literal>JTA TransactionManager</literal> 구현들이 발표되면, (전부는 아니겠지만) 대부분의 어플리케이션들이 그것들이 <literal>J2EE</literal> 컨테이너 내로 배치되든 그렇지 않든 간에 <literal>JTA</literal> 트랜잭션 관리를 사용하게 될 것이라고 주장한다. 그것에 기초하여, <literal>JTA</literal>에 기반한 컨텍스트상의 세션들은 언젠가 당신이 사용을 필요로 하게 될 전부다."
+#. Tag: para
+#: architecture.xml:297
+#, 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. The "
+"Hibernate team maintains that, given the maturity of the numerous stand-"
+"alone <literal>JTA TransactionManager</literal> implementations out there, "
+"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 is all you should ever need to use."
+msgstr ""
+"버전 3.0.1에서부터 시작하여, Hibernate는 <literal>SessionFactory."
+"getCurrentSession()</literal> 메소드를 추가했다. 초기에 이것은 <literal>JTA</"
+"literal> 트랜잭션들을 사용하는 것을 전제했다. 여기서 <literal>JTA</literal> "
+"트랜잭션은 현재 세션의 영역과 컨텍스트를 정의했다. Hibernate 팀은 성숙된 다수"
+"의 스탠드얼론 <literal>JTA TransactionManager</literal> 구현들이 발표되면, "
+"(전부는 아니겠지만) 대부분의 어플리케이션들이 그것들이 <literal>J2EE</"
+"literal> 컨테이너 내로 배치되든 그렇지 않든 간에 <literal>JTA</literal> 트랜"
+"잭션 관리를 사용하게 될 것이라고 주장한다. 그것에 기초하여, <literal>JTA</"
+"literal>에 기반한 컨텍스트상의 세션들은 언젠가 당신이 사용을 필요로 하게 될 "
+"전부다."
 
-#: index.docbook:307
-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 "하지만 버전 3.1 이후로 <literal>SessionFactory.getCurrentSession()</literal> 이면의 처리과정은 이제 플러그 가능하다. 그것을 끝내기 위해, 하나의 새로운 확장 인터페이스 (<literal>org.hibernate.context.CurrentSessionContext</literal>)와 하나의 새로운 구성 파라미터(<literal>hibernate.current_session_context_class</literal>)가 현재 세션들을 정의하는 영역과 컨텍스트의 플러그 가능성을 허용하기 위해 추가되었다."
+#. Tag: para
+#: architecture.xml:307
+#, 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 ""
+"하지만 버전 3.1 이후로 <literal>SessionFactory.getCurrentSession()</literal> "
+"이면의 처리과정은 이제 플러그 가능하다. 그것을 끝내기 위해, 하나의 새로운 확"
+"장 인터페이스 (<literal>org.hibernate.context.CurrentSessionContext</"
+"literal>)와 하나의 새로운 구성 파라미터(<literal>hibernate."
+"current_session_context_class</literal>)가 현재 세션들을 정의하는 영역과 컨텍"
+"스트의 플러그 가능성을 허용하기 위해 추가되었다."
 
-#: index.docbook:314
-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 "그것의 계약에 대한 상세한 논의는 <literal>org.hibernate.context.CurrentSessionContext</literal> 인터페이스에 관한 javadocs를 보라. 그것은 하나의 메소드, <literal>currentSession()</literal>를 정의하며, 그 구현은 현재의 컨텍스트 상의 세션을 추적할 책임이 있다. 비공식적으로, Hibernate는 이 인터페이스에 대한 세 개의 구현들을 부수적으로 포함하고 있다."
+#. Tag: para
+#: architecture.xml:314
+#, 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 ""
+"그것의 계약에 대한 상세한 논의는 <literal>org.hibernate.context."
+"CurrentSessionContext</literal> 인터페이스에 관한 javadocs를 보라. 그것은 하"
+"나의 메소드, <literal>currentSession()</literal>를 정의하며, 그 구현은 현재"
+"의 컨텍스트 상의 세션을 추적할 책임이 있다. 비공식적으로, Hibernate는 이 인터"
+"페이스에 대한 세 개의 구현들을 부수적으로 포함하고 있다."
 
-#: index.docbook:324
-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> - 현재의 세션들은 하나의 <literal>JTA</literal>에 의해 추적되고 영역화 된다. 여기서 처리과정은 이전의 JTA-전용 접근과 정확하게 동일하다. 상세한 것은 javadocs를 보라."
+#. Tag: para
+#: architecture.xml:324
+#, 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> - 현재의 세션들은 "
+"하나의 <literal>JTA</literal>에 의해 추적되고 영역화 된다. 여기서 처리과정은 "
+"이전의 JTA-전용 접근과 정확하게 동일하다. 상세한 것은 javadocs를 보라."
 
-#: index.docbook:332
-msgid "<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current sessions are tracked by thread of execution. Again, see the Javadocs for details."
-msgstr "<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - 현재의 세션들은 실행 쓰레드에 의해 추적된다. 상세한 것은 다시 javadocs를 보라."
+#. Tag: para
+#: architecture.xml:332
+#, no-c-format
+msgid ""
+"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current "
+"sessions are tracked by thread of execution. Again, see the Javadocs for "
+"details."
+msgstr ""
+"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - 현재의 "
+"세션들은 실행 쓰레드에 의해 추적된다. 상세한 것은 다시 javadocs를 보라."
 
-#: index.docbook:338
-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 never open, flush, or close a <literal>Session</literal>."
-msgstr "처음의 두 구현들은 <emphasis>session-per-request</emphasis>로 알려지고 사용되고 있는 \"하나의 세션 - 하나의 데이터베이스 트랜잭션\" 프로그래밍 모형을 제공한다. 하나의 Hibernate 세션의 시작과 끝은 데이터베이스 트랜잭션의 존속 기간에 의해 정의된다. 만일 (예를 들면 순수 J2SE에서 또는 JTA/UserTransaction/BMT의 경우에) 당신이 프로그램 상의 트랜잭션 경계구분을 사용할 경우, 당신은 당신의 코드로부터 기본 트랜잭션 시스템을 은폐시키는데 Hibernate <literal>Transaction</literal> API를 사용하는 것이 권장된다. 만일 당신이 CMT를 지원하는 하나의 EJB 컨테이너에서 실행할 경우, 트랜잭션 경계들이 선언적으로 정의되고 당신은 당신의 코드 내에 어떤 트랜잭션도 세션 경계구분 오퍼레이션들을 필요로 하지 않는다. 추가 정보와 코드 예제들은 <xref linken!
 d=\"transactions\"/>를 참조하라."
+#. Tag: para
+#: architecture.xml:338
+#, 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 never open, flush, or close a <literal>Session</literal>."
+msgstr ""
+"NOT TRANSLATED! <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 never open, flush, or close a "
+"<literal>Session</literal>."
 
-#: index.docbook:347
-msgid "The first two implementations provide a \"one session - one database transaction\" programming model, 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 programatic transaction demarcation in plain JSE without JTA, you are adviced to use the Hibernate <literal>Transaction</literal> API to hide the underlying transaction system from your code. If you use JTA, use the JTA interfaces to demarcate transactions. If you execute in an EJB container that supports CMT, transaction boundaries are defined declaratively and you don't need any transaction or session demarcation operations in your code. Refer to <xref linkend=\"transactions\"/> for more information and code examples."
-msgstr "<literal>hibernate.current_session_context_class</literal> 구성 파라미터는 <literal>org.hibernate.context.CurrentSessionContext</literal> 구현이 사용될 것임을 정의한다. 역호환을 위해. 만일 이 구성 파라미터가 설정되지 않았지만 하나의 <literal>org.hibernate.transaction.TransactionManagerLookup</literal>이 구성되어 있을 경우, Hibernate는 <literal>org.hibernate.context.JTASessionContext</literal>를 사용할 것임을 노트하라. 일반적으로, 이 파라미터의 값은 단지 사용할 구현 클래스를 명명할 것이다; 하지만 두 가지 비공식적인 구현들로서 두 개의 대응하는 짧은 이름들 \"jta\"와 \"thread\"이 존재한다."
+#. Tag: para
+#: architecture.xml:347
+#, no-c-format
+msgid ""
+"The first two implementations provide a \"one session - one database "
+"transaction\" programming model, 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 programatic "
+"transaction demarcation in plain JSE without JTA, you are adviced to use the "
+"Hibernate <literal>Transaction</literal> API to hide the underlying "
+"transaction system from your code. If you use JTA, use the JTA interfaces to "
+"demarcate transactions. If you execute in an EJB container that supports "
+"CMT, transaction boundaries are defined declaratively and you don't need any "
+"transaction or session demarcation operations in your code. Refer to <xref "
+"linkend=\"transactions\"/> for more information and code examples."
+msgstr ""
+"처음의 두 구현들은 <emphasis>session-per-request</emphasis>로 알려지고 사용되"
+"고 있는 \"하나의 세션 - 하나의 데이터베이스 트랜잭션\" 프로그래밍 모형을 제공"
+"한다. 하나의 Hibernate 세션의 시작과 끝은 데이터베이스 트랜잭션의 존속 기간"
+"에 의해 정의된다. 만일 (예를 들면 순수 J2SE에서 또는 JTA/UserTransaction/BMT"
+"의 경우에) 당신이 프로그램 상의 트랜잭션 경계구분을 사용할 경우, 당신은 당신"
+"의 코드로부터 기본 트랜잭션 시스템을 은폐시키는데 Hibernate "
+"<literal>Transaction</literal> API를 사용하는 것이 권장된다. 만일 당신이 CMT"
+"를 지원하는 하나의 EJB 컨테이너에서 실행할 경우, 트랜잭션 경계들이 선언적으"
+"로 정의되고 당신은 당신의 코드 내에 어떤 트랜잭션도 세션 경계구분 오퍼레이션"
+"들을 필요로 하지 않는다. 추가 정보와 코드 예제들은 <xref linkend="
+"\"transactions\"/>를 참조하라."
 
-#: index.docbook:359
-msgid "The <literal>hibernate.current_session_context_class</literal> configuration parameter defines which <literal>org.hibernate.context.CurrentSessionContext</literal> implementation should be used. Note that for backwards compatibility, if this config param 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\"."
+#. Tag: para
+#: architecture.xml:359
+#, 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. Note that for "
+"backwards compatibility, if this config param 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 ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+"<literal>hibernate.current_session_context_class</literal> 구성 파라미터는 "
+"<literal>org.hibernate.context.CurrentSessionContext</literal> 구현이 사용될 "
+"것임을 정의한다. 역호환을 위해. 만일 이 구성 파라미터가 설정되지 않았지만 하"
+"나의 <literal>org.hibernate.transaction.TransactionManagerLookup</literal>이 "
+"구성되어 있을 경우, Hibernate는 <literal>org.hibernate.context."
+"JTASessionContext</literal>를 사용할 것임을 노트하라. 일반적으로, 이 파라미터"
+"의 값은 단지 사용할 구현 클래스를 명명할 것이다; 하지만 두 가지 비공식적인 구"
+"현들로서 두 개의 대응하는 짧은 이름들 \"jta\"와 \"thread\"이 존재한다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/association_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/association_mapping.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/association_mapping.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,952 +1,883 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:6
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: association_mapping.xml:6
+#, no-c-format
 msgid "Association Mappings"
 msgstr "연관 매핑들"
 
-#: index.docbook:9
+#. Tag: title
+#: association_mapping.xml:9
+#, no-c-format
 msgid "Introduction"
-msgstr "<title>개요</title>"
+msgstr "개요"
 
-#: index.docbook:11
-msgid "Association mappings are the often most difficult thing to get right. In this section we'll go through the canonical cases one by one, starting with unidirectional mappings, and then considering the bidirectional cases. We'll use <literal>Person</literal> and <literal>Address</literal> in all the examples."
-msgstr "연관 매핑들은 올바른 것을 얻기가 종종 가장 어려운 것이다. 이 절에서 우리는 단방향 매핑들에서 시작하고, 그런 다음 양방향 경우들을 검토함으로써, 하나씩 표준적인 경우들을 상세히 논의할 것이다. 우리는 모든 예제들에서 <literal>Person</literal>과 <literal>Address</literal>를 사용할 것이다."
+#. Tag: para
+#: association_mapping.xml:11
+#, no-c-format
+msgid ""
+"Association mappings are the often most difficult thing to get right. In "
+"this section we'll go through the canonical cases one by one, starting with "
+"unidirectional mappings, and then considering the bidirectional cases. We'll "
+"use <literal>Person</literal> and <literal>Address</literal> in all the "
+"examples."
+msgstr ""
+"연관 매핑들은 올바른 것을 얻기가 종종 가장 어려운 것이다. 이 절에서 우리는 단"
+"방향 매핑들에서 시작하고, 그런 다음 양방향 경우들을 검토함으로써, 하나씩 표준"
+"적인 경우들을 상세히 논의할 것이다. 우리는 모든 예제들에서 <literal>Person</"
+"literal>과 <literal>Address</literal>를 사용할 것이다."
 
-#: index.docbook:19
-msgid "We'll classify associations by whether or not they map to an intervening join table, and by multiplicity."
-msgstr "우리는 연관들을 중재하는 join 테이블로 매핑시킬 것인지 여부에 따라, 그리고 multiplicity(다중성)에 따라 연관들을 분류할 것이다."
+#. Tag: para
+#: association_mapping.xml:19
+#, no-c-format
+msgid ""
+"We'll classify associations by whether or not they map to an intervening "
+"join table, and by multiplicity."
+msgstr ""
+"우리는 연관들을 중재하는 join 테이블로 매핑시킬 것인지 여부에 따라, 그리고 "
+"multiplicity(다중성)에 따라 연관들을 분류할 것이다."
 
-#: index.docbook:24
-msgid "Nullable foreign keys are not considered good practice in traditional data modelling, so all our examples use not null foreign keys. This is not a requirement of Hibernate, and the mappings will all work if you drop the nullability constraints."
-msgstr "null 허용 가능한 foreign 키들은 전통적인 데이터 모델링에서 좋은 실례로 간주되지 않아서, 모든 우리의 예제들은 not null foreign 키들을 사용한다. 이것은 Hibernate에서 필수가 아니고, 당신이 null 허용 가능 컨스트레인트들을 드롭시킬 경우 매핑들은 모두 동작할 것이다."
+#. Tag: para
+#: association_mapping.xml:24
+#, no-c-format
+msgid ""
+"Nullable foreign keys are not considered good practice in traditional data "
+"modelling, so all our examples use not null foreign keys. This is not a "
+"requirement of Hibernate, and the mappings will all work if you drop the "
+"nullability constraints."
+msgstr ""
+"null 허용 가능한 foreign 키들은 전통적인 데이터 모델링에서 좋은 실례로 간주되"
+"지 않아서, 모든 우리의 예제들은 not null foreign 키들을 사용한다. 이것은 "
+"Hibernate에서 필수가 아니고, 당신이 null 허용 가능 컨스트레인트들을 드롭시킬 "
+"경우 매핑들은 모두 동작할 것이다."
 
-#: index.docbook:34
+#. Tag: title
+#: association_mapping.xml:34
+#, no-c-format
 msgid "Unidirectional associations"
 msgstr "단방향 연관들"
 
-#: index.docbook:37, index.docbook:108
+#. Tag: title
+#: association_mapping.xml:37 association_mapping.xml:108
+#, no-c-format
 msgid "many to one"
 msgstr "many to one"
 
-#: index.docbook:39
-msgid "A <emphasis>unidirectional many-to-one association</emphasis> is the most common kind of unidirectional association."
-msgstr "<emphasis>단방향 many-to-one 연관</emphasis>은 가장 공통적인 종류의 단방향 연관이다."
+#. Tag: para
+#: association_mapping.xml:39
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional many-to-one association</emphasis> is the most "
+"common kind of unidirectional association."
+msgstr ""
+"<emphasis>단방향 many-to-one 연관</emphasis>은 가장 공통적인 종류의 단방향 연"
+"관이다."
 
-#: index.docbook:44
+#. Tag: programlisting
+#: association_mapping.xml:44
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <many-to-one name=\"address\" \n"
+"        column=\"addressId\"\n"
+"        not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:45, index.docbook:161
+#. Tag: programlisting
+#: association_mapping.xml:45 association_mapping.xml:161
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key, addressId bigint "
+"not null )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:50, index.docbook:121, index.docbook:185, index.docbook:225
+#. Tag: title
+#: association_mapping.xml:50 association_mapping.xml:121
+#: association_mapping.xml:185 association_mapping.xml:225
+#, no-c-format
 msgid "one to one"
 msgstr "one to one"
 
-#: index.docbook:52
-msgid "A <emphasis>unidirectional one-to-one association on a foreign key</emphasis> is almost identical. The only difference is the column unique constraint."
-msgstr "<emphasis>foreign 키에 대한 단방향 one-to-one 연관은 대개 아주 동일하다.</emphasis> 유일한 차이점은 컬럼 유일(unique) 컨스트레인트이다."
+#. Tag: para
+#: association_mapping.xml:52
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-one association on a foreign key</"
+"emphasis> is almost identical. The only difference is the column unique "
+"constraint."
+msgstr ""
+"<emphasis>foreign 키에 대한 단방향 one-to-one 연관은 대개 아주 동일하다.</"
+"emphasis> 유일한 차이점은 컬럼 유일(unique) 컨스트레인트이다."
 
-#: index.docbook:57
+#. Tag: programlisting
+#: association_mapping.xml:57
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\" \n"
-      "        unique=\"true\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <many-to-one name=\"address\" \n"
+"        column=\"addressId\" \n"
+"        unique=\"true\"\n"
+"        not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\" \n"
-      "        unique=\"true\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:58, index.docbook:193
+#. Tag: programlisting
+#: association_mapping.xml:58 association_mapping.xml:193
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key, addressId bigint "
+"not null unique )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:60
-msgid "A <emphasis>unidirectional one-to-one association on a primary key</emphasis> usually uses a special id generator. (Notice that we've reversed the direction of the association in this example.)"
-msgstr "<emphasis>하나의 프라이머리 키에 대한 단방향 one-to-one 연관</emphasis>은 대개 특별한 id 생성기를 사용한다. (이 예제에서 연관의 방향이 역전되었음을 주목하라.)"
+#. Tag: para
+#: association_mapping.xml:60
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-one association on a primary key</"
+"emphasis> usually uses a special id generator. (Notice that we've reversed "
+"the direction of the association in this example.)"
+msgstr ""
+"<emphasis>하나의 프라이머리 키에 대한 단방향 one-to-one 연관</emphasis>은 대"
+"개 특별한 id 생성기를 사용한다. (이 예제에서 연관의 방향이 역전되었음을 주목"
+"하라.)"
 
-#: index.docbook:66
+#. Tag: programlisting
+#: association_mapping.xml:66
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">person</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"person\" constrained=\"true\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"foreign\">\n"
+"            <param name=\"property\">person</param>\n"
+"        </generator>\n"
+"    </id>\n"
+"    <one-to-one name=\"person\" constrained=\"true\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">person</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"person\" constrained=\"true\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:67, index.docbook:201
+#. Tag: programlisting
+#: association_mapping.xml:67 association_mapping.xml:201
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( personId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table Address ( personId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( personId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:72, index.docbook:94
+#. Tag: title
+#: association_mapping.xml:72 association_mapping.xml:94
+#, no-c-format
 msgid "one to many"
 msgstr "one to many"
 
-#: index.docbook:74
-msgid "A <emphasis>unidirectional one-to-many association on a foreign key</emphasis> is a very unusual case, and is not really recommended."
-msgstr "<emphasis>하나의 foreign 키에 대한 단방향 one-to-many 연관</emphasis>은 매우 색다른 경우이고, 실제로 권장되지 않는다."
+#. Tag: para
+#: association_mapping.xml:74
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-many association on a foreign key</"
+"emphasis> is a very unusual case, and is not really recommended."
+msgstr ""
+"<emphasis>하나의 foreign 키에 대한 단방향 one-to-many 연관</emphasis>은 매우 "
+"색다른 경우이고, 실제로 권장되지 않는다."
 
-#: index.docbook:79
+#. Tag: programlisting
+#: association_mapping.xml:79
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\">\n"
-      "        <key column=\"personId\" \n"
-      "            not-null=\"true\"/>\n"
-      "        <one-to-many class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\">\n"
+"        <key column=\"personId\" \n"
+"            not-null=\"true\"/>\n"
+"        <one-to-many class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\">\n"
-      "        <key column=\"personId\" \n"
-      "            not-null=\"true\"/>\n"
-      "        <one-to-many class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:80
+#. Tag: programlisting
+#: association_mapping.xml:80
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key, personId bigint not null )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table Address ( addressId bigint not null primary key, personId "
+"bigint not null )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key, personId bigint not null )\n"
-      "        ]]>"
 
-#: index.docbook:82
+#. Tag: para
+#: association_mapping.xml:82
+#, no-c-format
 msgid "We think it's better to use a join table for this kind of association."
-msgstr "우리는 이런 종류의 연관에 대해 하나의 join 테이블을 사용하는 것이 더 좋다고 생각한다."
+msgstr ""
+"우리는 이런 종류의 연관에 대해 하나의 join 테이블을 사용하는 것이 더 좋다고 "
+"생각한다."
 
-#: index.docbook:91
+#. Tag: title
+#: association_mapping.xml:91
+#, no-c-format
 msgid "Unidirectional associations with join tables"
 msgstr "join 테이블들에 대한 단방향 연관들"
 
-#: index.docbook:96
-msgid "A <emphasis>unidirectional one-to-many association on a join table</emphasis> is much preferred. Notice that by specifying <literal>unique=\"true\"</literal>, we have changed the multiplicity from many-to-many to one-to-many."
-msgstr "<emphasis>하나의 join 테이블에 대한 단방향 one-to-many 연관</emphasis>이 보다 더 선호된다. <literal>unique=\"true\"</literal>를 지정함으로써 우리는 many-to-many에서 one-to-many로 아중성(multiplicity)를 변경시켰음을 주목하라."
+#. Tag: para
+#: association_mapping.xml:96
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-many association on a join table</"
+"emphasis> is much preferred. Notice that by specifying <literal>unique=\"true"
+"\"</literal>, we have changed the multiplicity from many-to-many to one-to-"
+"many."
+msgstr ""
+"<emphasis>하나의 join 테이블에 대한 단방향 one-to-many 연관</emphasis>이 보"
+"다 더 선호된다. <literal>unique=\"true\"</literal>를 지정함으로써 우리는 "
+"many-to-many에서 one-to-many로 아중성(multiplicity)를 변경시켰음을 주목하라."
 
-#: index.docbook:102
+#. Tag: programlisting
+#: association_mapping.xml:102
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            unique=\"true\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\" table=\"PersonAddress\">\n"
+"        <key column=\"personId\"/>\n"
+"        <many-to-many column=\"addressId\"\n"
+"            unique=\"true\"\n"
+"            class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            unique=\"true\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:103
+#. Tag: programlisting
+#: association_mapping.xml:103
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId not null, addressId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId not null, addressId bigint not null "
+"primary key )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId not null, addressId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:110
-msgid "A <emphasis>unidirectional many-to-one association on a join table</emphasis> is quite common when the association is optional."
-msgstr "<emphasis>하나의 join 테이블에 대한 단방향 many-to-one 연관</emphasis>은 그 연관이 선택적일 때 매우 공통적이다."
+#. Tag: para
+#: association_mapping.xml:110
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional many-to-one association on a join table</"
+"emphasis> is quite common when the association is optional."
+msgstr ""
+"<emphasis>하나의 join 테이블에 대한 단방향 many-to-one 연관</emphasis>은 그 "
+"연관이 선택적일 때 매우 공통적이다."
 
-#: index.docbook:115
+#. Tag: programlisting
+#: association_mapping.xml:115
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <join table=\"PersonAddress\" \n"
+"        optional=\"true\">\n"
+"        <key column=\"personId\" unique=\"true\"/>\n"
+"        <many-to-one name=\"address\"\n"
+"            column=\"addressId\" \n"
+"            not-null=\"true\"/>\n"
+"    </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:116
+#. Tag: programlisting
+#: association_mapping.xml:116
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null primary key, addressId "
+"bigint not null )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:123
-msgid "A <emphasis>unidirectional one-to-one association on a join table</emphasis> is extremely unusual, but possible."
-msgstr "<emphasis>하나의 join 테이블에 대한 단방향 one-to-one 연관</emphasis>은 극히 통상적이지 않지만 가능하다."
+#. Tag: para
+#: association_mapping.xml:123
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-one association on a join table</emphasis> "
+"is extremely unusual, but possible."
+msgstr ""
+"<emphasis>하나의 join 테이블에 대한 단방향 one-to-one 연관</emphasis>은 극히 "
+"통상적이지 않지만 가능하다."
 
-#: index.docbook:128
+#. Tag: programlisting
+#: association_mapping.xml:128
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <join table=\"PersonAddress\" \n"
+"        optional=\"true\">\n"
+"        <key column=\"personId\" \n"
+"            unique=\"true\"/>\n"
+"        <many-to-one name=\"address\"\n"
+"            column=\"addressId\" \n"
+"            not-null=\"true\"\n"
+"            unique=\"true\"/>\n"
+"    </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:129, index.docbook:233
+#. Tag: programlisting
+#: association_mapping.xml:129 association_mapping.xml:233
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null primary key, addressId "
+"bigint not null unique )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:134, index.docbook:238
+#. Tag: title
+#: association_mapping.xml:134 association_mapping.xml:238
+#, no-c-format
 msgid "many to many"
 msgstr "many to many"
 
-#: index.docbook:136
-msgid "Finally, we have a <emphasis>unidirectional many-to-many association</emphasis>."
-msgstr "마지막으로, 우리는 <emphasis>단방향 many-to-many 연관</emphasis>을 갖는다."
+#. Tag: para
+#: association_mapping.xml:136
+#, no-c-format
+msgid ""
+"Finally, we have a <emphasis>unidirectional many-to-many association</"
+"emphasis>."
+msgstr ""
+"마지막으로, 우리는 <emphasis>단방향 many-to-many 연관</emphasis>을 갖는다."
 
-#: index.docbook:140
+#. Tag: programlisting
+#: association_mapping.xml:140
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\" table=\"PersonAddress\">\n"
+"        <key column=\"personId\"/>\n"
+"        <many-to-many column=\"addressId\"\n"
+"            class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:141, index.docbook:246
+#. Tag: programlisting
+#: association_mapping.xml:141 association_mapping.xml:246
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null, addressId bigint not null, primary key (personId, addressId) )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null, addressId bigint not "
+"null, primary key (personId, addressId) )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null, addressId bigint not null, primary key (personId, addressId) )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:148
+#. Tag: title
+#: association_mapping.xml:148
+#, no-c-format
 msgid "Bidirectional associations"
 msgstr "양방향 연관들"
 
-#: index.docbook:151, index.docbook:211
+#. Tag: title
+#: association_mapping.xml:151 association_mapping.xml:211
+#, no-c-format
 msgid "one to many / many to one"
 msgstr "one to many / many to one"
 
-#: index.docbook:153
-msgid "A <emphasis>bidirectional many-to-one association</emphasis> is the most common kind of association. (This is the standard parent/child relationship.)"
-msgstr "<emphasis>양방향 many-to-one 연관</emphasis>은 가장 공통된 종류의 연관이다.(이것은 표준 부모/자식 관계이다. )"
+#. Tag: para
+#: association_mapping.xml:153
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional many-to-one association</emphasis> is the most "
+"common kind of association. (This is the standard parent/child relationship.)"
+msgstr ""
+"<emphasis>양방향 many-to-one 연관</emphasis>은 가장 공통된 종류의 연관이다."
+"(이것은 표준 부모/자식 관계이다. )"
 
-#: index.docbook:159
+#. Tag: programlisting
+#: association_mapping.xml:159
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"people\" inverse=\"true\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <one-to-many class=\"Person\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <many-to-one name=\"address\" \n"
+"        column=\"addressId\"\n"
+"        not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"people\" inverse=\"true\">\n"
+"        <key column=\"addressId\"/>\n"
+"        <one-to-many class=\"Person\"/>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"people\" inverse=\"true\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <one-to-many class=\"Person\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:163
-msgid "If you use a <literal>List</literal> (or other indexed collection) you need to set the <literal>key</literal> column of the foreign key to <literal>not null</literal>, and let Hibernate manage the association from the collections side to maintain the index of each element (making the other side virtually inverse by setting <literal>update=\"false\"</literal> and <literal>insert=\"false\"</literal>):"
-msgstr "만일 당신이 <literal>List</literal>(또는 다른 인덱싱 된 콜렉션)을 사용할 경우 당신은 foreign key의 <literal>key</literal> 컬럼을 <literal>not null</literal>로 설정하고, Hibernate로 하여금 각각의 요소의 인덱스를 유지관리하기 위해 (<literal>update=\"false\"</literal>와 <literal>insert=\"false\"</literal>를 설정함으로써 다른 측을 가상적으로 inverse로 만들어) 그 콜렉션들 측으로부터 연관을 관리하도록 할 필요가 있다:"
+#. Tag: para
+#: association_mapping.xml:163
+#, no-c-format
+msgid ""
+"If you use a <literal>List</literal> (or other indexed collection) you need "
+"to set the <literal>key</literal> column of the foreign key to <literal>not "
+"null</literal>, and let Hibernate manage the association from the "
+"collections side to maintain the index of each element (making the other "
+"side virtually inverse by setting <literal>update=\"false\"</literal> and "
+"<literal>insert=\"false\"</literal>):"
+msgstr ""
+"만일 당신이 <literal>List</literal>(또는 다른 인덱싱 된 콜렉션)을 사용할 경"
+"우 당신은 foreign key의 <literal>key</literal> 컬럼을 <literal>not null</"
+"literal>로 설정하고, Hibernate로 하여금 각각의 요소의 인덱스를 유지관리하기 "
+"위해 (<literal>update=\"false\"</literal>와 <literal>insert=\"false\"</"
+"literal>를 설정함으로써 다른 측을 가상적으로 inverse로 만들어) 그 콜렉션들 측"
+"으로부터 연관을 관리하도록 할 필요가 있다:"
 
-#: index.docbook:171
+#. Tag: programlisting
+#: association_mapping.xml:171
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "   <id name=\"id\"/>\n"
-      "   ...\n"
-      "   <many-to-one name=\"address\"\n"
-      "      column=\"addressId\"\n"
-      "      not-null=\"true\"\n"
-      "      insert=\"false\"\n"
-      "      update=\"false\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "   <id name=\"id\"/>\n"
-      "   ...\n"
-      "   <list name=\"people\">\n"
-      "      <key column=\"addressId\" not-null=\"true\"/>\n"
-      "      <list-index column=\"peopleIdx\"/>\n"
-      "      <one-to-many class=\"Person\"/>\n"
-      "   </list>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"   <id name=\"id\"/>\n"
+"   ...\n"
+"   <many-to-one name=\"address\"\n"
+"      column=\"addressId\"\n"
+"      not-null=\"true\"\n"
+"      insert=\"false\"\n"
+"      update=\"false\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"   <id name=\"id\"/>\n"
+"   ...\n"
+"   <list name=\"people\">\n"
+"      <key column=\"addressId\" not-null=\"true\"/>\n"
+"      <list-index column=\"peopleIdx\"/>\n"
+"      <one-to-many class=\"Person\"/>\n"
+"   </list>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "   <id name=\"id\"/>\n"
-      "   ...\n"
-      "   <many-to-one name=\"address\"\n"
-      "      column=\"addressId\"\n"
-      "      not-null=\"true\"\n"
-      "      insert=\"false\"\n"
-      "      update=\"false\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "   <id name=\"id\"/>\n"
-      "   ...\n"
-      "   <list name=\"people\">\n"
-      "      <key column=\"addressId\" not-null=\"true\"/>\n"
-      "      <list-index column=\"peopleIdx\"/>\n"
-      "      <one-to-many class=\"Person\"/>\n"
-      "   </list>\n"
-      "</class>]]>"
 
-#: index.docbook:173
-msgid "It is important that you define <literal>not-null=\"true\"</literal> on the <literal>&lt;key&gt;</literal> element of the collection mapping if the underlying foreign key column is <literal>NOT NULL</literal>. Don't only declare <literal>not-null=\"true\"</literal> on a possible nested <literal>&lt;column&gt;</literal> element, but on the <literal>&lt;key&gt;</literal> element."
-msgstr "만일 기본 외래 키 컬럼이 <literal>NOT NULL</literal>일 경우 콜렉션 매핑의 <literal>&lt;key&gt;</literal> 요소 상에 <literal>not-null=\"true\"</literal>를 정의하는 것이 중요하다. 내포된 <literal>&lt;column&gt;</literal> 요소 상에 <literal>not-null=\"true\"</literal>를 선언하지 말고, <literal>&lt;key&gt;</literal> 요소 상에 선언하라."
+#. Tag: para
+#: association_mapping.xml:173
+#, no-c-format
+msgid ""
+"It is important that you define <literal>not-null=\"true\"</literal> on the "
+"<literal>&lt;key&gt;</literal> element of the collection mapping if the "
+"underlying foreign key column is <literal>NOT NULL</literal>. Don't only "
+"declare <literal>not-null=\"true\"</literal> on a possible nested "
+"<literal>&lt;column&gt;</literal> element, but on the <literal>&lt;key&gt;</"
+"literal> element."
+msgstr ""
+"만일 기본 외래 키 컬럼이 <literal>NOT NULL</literal>일 경우 콜렉션 매핑의 "
+"<literal>&lt;key&gt;</literal> 요소 상에 <literal>not-null=\"true\"</literal>"
+"를 정의하는 것이 중요하다. 내포된 <literal>&lt;column&gt;</literal> 요소 상"
+"에 <literal>not-null=\"true\"</literal>를 선언하지 말고, <literal>&lt;key&gt;"
+"</literal> 요소 상에 선언하라."
 
-#: index.docbook:187
-msgid "A <emphasis>bidirectional one-to-one association on a foreign key</emphasis> is quite common."
-msgstr "<emphasis>foreign에 대한 양방향 one-to-one 연관</emphasis>은 꽤 공통적이다."
+#. Tag: para
+#: association_mapping.xml:187
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional one-to-one association on a foreign key</emphasis> "
+"is quite common."
+msgstr ""
+"<emphasis>foreign에 대한 양방향 one-to-one 연관</emphasis>은 꽤 공통적이다."
 
-#: index.docbook:192
+#. Tag: programlisting
+#: association_mapping.xml:192
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\" \n"
-      "        unique=\"true\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "   <one-to-one name=\"person\" \n"
-      "        property-ref=\"address\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <many-to-one name=\"address\" \n"
+"        column=\"addressId\" \n"
+"        unique=\"true\"\n"
+"        not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"   <one-to-one name=\"person\" \n"
+"        property-ref=\"address\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\" \n"
-      "        unique=\"true\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "   <one-to-one name=\"person\" \n"
-      "        property-ref=\"address\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:195
-msgid "A <emphasis>bidirectional one-to-one association on a primary key</emphasis> uses the special id generator."
-msgstr "<emphasis>하나의 프라이머리 키에 대한 양방향 one-to-one 연관</emphasis>은 특별한 id 생성기를 사용한다."
+#. Tag: para
+#: association_mapping.xml:195
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional one-to-one association on a primary key</emphasis> "
+"uses the special id generator."
+msgstr ""
+"<emphasis>하나의 프라이머리 키에 대한 양방향 one-to-one 연관</emphasis>은 특"
+"별한 id 생성기를 사용한다."
 
-#: index.docbook:200
+#. Tag: programlisting
+#: association_mapping.xml:200
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"address\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">person</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"person\" \n"
-      "        constrained=\"true\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <one-to-one name=\"address\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"foreign\">\n"
+"            <param name=\"property\">person</param>\n"
+"        </generator>\n"
+"    </id>\n"
+"    <one-to-one name=\"person\" \n"
+"        constrained=\"true\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"address\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">person</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"person\" \n"
-      "        constrained=\"true\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:208
+#. Tag: title
+#: association_mapping.xml:208
+#, no-c-format
 msgid "Bidirectional associations with join tables"
 msgstr "join 테이블들에 대한 양방향 연관들"
 
-#: index.docbook:213
-msgid "A <emphasis>bidirectional one-to-many association on a join table</emphasis>. Note that the <literal>inverse=\"true\"</literal> can go on either end of the association, on the collection, or on the join."
-msgstr "<emphasis>하나의 join 테이블에 대한 양방향 one-to-many 연관</emphasis>. <literal>inverse=\"true\"</literal>는 연관의 어느 쪽 끝이든 콜렉션 측으로 또는 join 측으로 갈 수 있다."
+#. Tag: para
+#: association_mapping.xml:213
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional one-to-many association on a join table</"
+"emphasis>. Note that the <literal>inverse=\"true\"</literal> can go on "
+"either end of the association, on the collection, or on the join."
+msgstr ""
+"<emphasis>하나의 join 테이블에 대한 양방향 one-to-many 연관</emphasis>. "
+"<literal>inverse=\"true\"</literal>는 연관의 어느 쪽 끝이든 콜렉션 측으로 또"
+"는 join 측으로 갈 수 있다."
 
-#: index.docbook:219
+#. Tag: programlisting
+#: association_mapping.xml:219
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" \n"
-      "        table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            unique=\"true\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        inverse=\"true\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <many-to-one name=\"person\"\n"
-      "            column=\"personId\"\n"
-      "            not-null=\"true\"/>\n"
-      "    </join>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\" \n"
+"        table=\"PersonAddress\">\n"
+"        <key column=\"personId\"/>\n"
+"        <many-to-many column=\"addressId\"\n"
+"            unique=\"true\"\n"
+"            class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <join table=\"PersonAddress\" \n"
+"        inverse=\"true\" \n"
+"        optional=\"true\">\n"
+"        <key column=\"addressId\"/>\n"
+"        <many-to-one name=\"person\"\n"
+"            column=\"personId\"\n"
+"            not-null=\"true\"/>\n"
+"    </join>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" \n"
-      "        table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            unique=\"true\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        inverse=\"true\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <many-to-one name=\"person\"\n"
-      "            column=\"personId\"\n"
-      "            not-null=\"true\"/>\n"
-      "    </join>\n"
-      "</class>]]>"
 
-#: index.docbook:220
+#. Tag: programlisting
+#: association_mapping.xml:220
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null, addressId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null, addressId bigint not "
+"null primary key )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null, addressId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:227
-msgid "A <emphasis>bidirectional one-to-one association on a join table</emphasis> is extremely unusual, but possible."
-msgstr "<emphasis>하나의 join 테이블에 대한 양방향 one-to-one 연관</emphasis>은 극히 통상적이지 않지만, 가능하다."
+#. Tag: para
+#: association_mapping.xml:227
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional one-to-one association on a join table</emphasis> "
+"is extremely unusual, but possible."
+msgstr ""
+"<emphasis>하나의 join 테이블에 대한 양방향 one-to-one 연관</emphasis>은 극히 "
+"통상적이지 않지만, 가능하다."
 
-#: index.docbook:232
+#. Tag: programlisting
+#: association_mapping.xml:232
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\"\n"
-      "        inverse=\"true\">\n"
-      "        <key column=\"addressId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"person\"\n"
-      "            column=\"personId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <join table=\"PersonAddress\" \n"
+"        optional=\"true\">\n"
+"        <key column=\"personId\" \n"
+"            unique=\"true\"/>\n"
+"        <many-to-one name=\"address\"\n"
+"            column=\"addressId\" \n"
+"            not-null=\"true\"\n"
+"            unique=\"true\"/>\n"
+"    </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <join table=\"PersonAddress\" \n"
+"        optional=\"true\"\n"
+"        inverse=\"true\">\n"
+"        <key column=\"addressId\" \n"
+"            unique=\"true\"/>\n"
+"        <many-to-one name=\"person\"\n"
+"            column=\"personId\" \n"
+"            not-null=\"true\"\n"
+"            unique=\"true\"/>\n"
+"    </join>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\"\n"
-      "        inverse=\"true\">\n"
-      "        <key column=\"addressId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"person\"\n"
-      "            column=\"personId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>]]>"
 
-#: index.docbook:240
-msgid "Finally, we have a <emphasis>bidirectional many-to-many association</emphasis>."
-msgstr "마지막으로, 우리는 하나의 <emphasis>양방향 many-to-many 연관</emphasis>을 갖는다."
+#. Tag: para
+#: association_mapping.xml:240
+#, no-c-format
+msgid ""
+"Finally, we have a <emphasis>bidirectional many-to-many association</"
+"emphasis>."
+msgstr ""
+"마지막으로, 우리는 하나의 <emphasis>양방향 many-to-many 연관</emphasis>을 갖"
+"는다."
 
-#: index.docbook:244
+#. Tag: programlisting
+#: association_mapping.xml:244
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <many-to-many column=\"personId\"\n"
-      "            class=\"Person\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\" table=\"PersonAddress\">\n"
+"        <key column=\"personId\"/>\n"
+"        <many-to-many column=\"addressId\"\n"
+"            class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
+"        <key column=\"addressId\"/>\n"
+"        <many-to-many column=\"personId\"\n"
+"            class=\"Person\"/>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <many-to-many column=\"personId\"\n"
-      "            class=\"Person\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:253
+#. Tag: title
+#: association_mapping.xml:253
+#, no-c-format
 msgid "More complex association mappings"
 msgstr "보다 복잡한 연관 매핑들"
 
-#: index.docbook:255
-msgid "More complex association joins are <emphasis>extremely</emphasis> rare. Hibernate makes it possible to handle more complex situations using SQL fragments embedded in the mapping document. For example, if a table with historical account information data defines <literal>accountNumber</literal>, <literal>effectiveEndDate</literal> and <literal>effectiveStartDate</literal>columns, mapped as follows:"
-msgstr "보다 복잡한 연관 조인들은 <emphasis>극기</emphasis> 드물다. Hibernate는 매핑 문서들 내에 삽입된 SQL 조각들을 사용하여 보다 복잡한 상황을 처리하는 것을 가능하도록 해준다. 예를 들어, 만일 계좌 내역 정보 데이터를 가진 하나이 테이블이 <literal>accountNumber</literal>, <literal>effectiveEndDate</literal> 그리고 <literal>effectiveStartDate</literal> 컬럼들을 정의할 경우, 다음과 같이 매핑된다:"
+#. Tag: para
+#: association_mapping.xml:255
+#, no-c-format
+msgid ""
+"More complex association joins are <emphasis>extremely</emphasis> rare. "
+"Hibernate makes it possible to handle more complex situations using SQL "
+"fragments embedded in the mapping document. For example, if a table with "
+"historical account information data defines <literal>accountNumber</"
+"literal>, <literal>effectiveEndDate</literal> and "
+"<literal>effectiveStartDate</literal>columns, mapped as follows:"
+msgstr ""
+"보다 복잡한 연관 조인들은 <emphasis>극기</emphasis> 드물다. Hibernate는 매핑 "
+"문서들 내에 삽입된 SQL 조각들을 사용하여 보다 복잡한 상황을 처리하는 것을 가"
+"능하도록 해준다. 예를 들어, 만일 계좌 내역 정보 데이터를 가진 하나이 테이블"
+"이 <literal>accountNumber</literal>, <literal>effectiveEndDate</literal> 그리"
+"고 <literal>effectiveStartDate</literal> 컬럼들을 정의할 경우, 다음과 같이 매"
+"핑된다:"
 
-#: index.docbook:264
+#. Tag: programlisting
+#: association_mapping.xml:264
+#, no-c-format
 msgid ""
-      "<![CDATA[<properties name=\"currentAccountKey\">\n"
-      "    <property name=\"accountNumber\" type=\"string\" not-null=\"true\"/>\n"
-      "    <property name=\"currentAccount\" type=\"boolean\">\n"
-      "        <formula>case when effectiveEndDate is null then 1 else 0 end</formula>\n"
-      "    </property>\n"
-      "</properties>\n"
-      "<property name=\"effectiveEndDate\" type=\"date\"/>\n"
-      "<property name=\"effectiveStateDate\" type=\"date\" not-null=\"true\"/>]]>"
+"<![CDATA[<properties name=\"currentAccountKey\">\n"
+"    <property name=\"accountNumber\" type=\"string\" not-null=\"true\"/>\n"
+"    <property name=\"currentAccount\" type=\"boolean\">\n"
+"        <formula>case when effectiveEndDate is null then 1 else 0 end</"
+"formula>\n"
+"    </property>\n"
+"</properties>\n"
+"<property name=\"effectiveEndDate\" type=\"date\"/>\n"
+"<property name=\"effectiveStateDate\" type=\"date\" not-null=\"true\"/>]]>"
 msgstr ""
-      "<![CDATA[<properties name=\"currentAccountKey\">\n"
-      "    <property name=\"accountNumber\" type=\"string\" not-null=\"true\"/>\n"
-      "    <property name=\"currentAccount\" type=\"boolean\">\n"
-      "        <formula>case when effectiveEndDate is null then 1 else 0 end</formula>\n"
-      "    </property>\n"
-      "</properties>\n"
-      "<property name=\"effectiveEndDate\" type=\"date\"/>\n"
-      "<property name=\"effectiveStateDate\" type=\"date\" not-null=\"true\"/>]]>"
 
-#: index.docbook:266
-msgid "Then we can map an association to the <emphasis>current</emphasis> instance (the one with null <literal>effectiveEndDate</literal>) using:"
-msgstr "그때 우리는 다음을 사용하여 하나의 연관을 <emphasis>현재</emphasis> 인스턴스 (null <literal>effectiveEndDate</literal>을 가진 인스턴스)로 매핑시킬 수 있다:"
+#. Tag: para
+#: association_mapping.xml:266
+#, no-c-format
+msgid ""
+"Then we can map an association to the <emphasis>current</emphasis> instance "
+"(the one with null <literal>effectiveEndDate</literal>) using:"
+msgstr ""
+"그때 우리는 다음을 사용하여 하나의 연관을 <emphasis>현재</emphasis> 인스턴스 "
+"(null <literal>effectiveEndDate</literal>을 가진 인스턴스)로 매핑시킬 수 있"
+"다:"
 
-#: index.docbook:271
+#. Tag: programlisting
+#: association_mapping.xml:271
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
-      "        property-ref=\"currentAccountKey\"\n"
-      "        class=\"AccountInfo\">\n"
-      "    <column name=\"accountNumber\"/>\n"
-      "    <formula>'1'</formula>\n"
-      "</many-to-one>]]>"
+"<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
+"        property-ref=\"currentAccountKey\"\n"
+"        class=\"AccountInfo\">\n"
+"    <column name=\"accountNumber\"/>\n"
+"    <formula>'1'</formula>\n"
+"</many-to-one>]]>"
 msgstr ""
-      "<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
-      "        property-ref=\"currentAccountKey\"\n"
-      "        class=\"AccountInfo\">\n"
-      "    <column name=\"accountNumber\"/>\n"
-      "    <formula>'1'</formula>\n"
-      "</many-to-one>]]>"
 
-#: index.docbook:273
-msgid "In a more complex example, imagine that the association between <literal>Employee</literal> and <literal>Organization</literal> is maintained in an <literal>Employment</literal> table full of historical employment data. Then an association to the employee's <emphasis>most recent</emphasis> employer (the one with the most recent <literal>startDate</literal>) might be mapped this way:"
-msgstr "보다 복잡한 예제에서, <literal>Employee</literal>와 <literal>Organization</literal> 사이의 연관이 전체 고용 내역 데이터를 가진 <literal>Employment</literal> 테이블 내에 유지된다고 가정하자. 그때 종업원의 <emphasis>가장 최근의</emphasis> 고용주에 대한 하나의 연관(가장 최근의 <literal>startDate</literal>를 갖고 있는 것)이 다음 방법으로 매핑될 수 있다:"
+#. Tag: para
+#: association_mapping.xml:273
+#, no-c-format
+msgid ""
+"In a more complex example, imagine that the association between "
+"<literal>Employee</literal> and <literal>Organization</literal> is "
+"maintained in an <literal>Employment</literal> table full of historical "
+"employment data. Then an association to the employee's <emphasis>most "
+"recent</emphasis> employer (the one with the most recent <literal>startDate</"
+"literal>) might be mapped this way:"
+msgstr ""
+"보다 복잡한 예제에서, <literal>Employee</literal>와 <literal>Organization</"
+"literal> 사이의 연관이 전체 고용 내역 데이터를 가진 <literal>Employment</"
+"literal> 테이블 내에 유지된다고 가정하자. 그때 종업원의 <emphasis>가장 최근의"
+"</emphasis> 고용주에 대한 하나의 연관(가장 최근의 <literal>startDate</"
+"literal>를 갖고 있는 것)이 다음 방법으로 매핑될 수 있다:"
 
-#: index.docbook:281
+#. Tag: programlisting
+#: association_mapping.xml:281
+#, no-c-format
 msgid ""
-      "<![CDATA[<join>\n"
-      "    <key column=\"employeeId\"/>\n"
-      "    <subselect>\n"
-      "        select employeeId, orgId \n"
-      "        from Employments \n"
-      "        group by orgId \n"
-      "        having startDate = max(startDate)\n"
-      "    </subselect>\n"
-      "    <many-to-one name=\"mostRecentEmployer\" \n"
-      "            class=\"Organization\" \n"
-      "            column=\"orgId\"/>\n"
-      "</join>]]>"
+"<![CDATA[<join>\n"
+"    <key column=\"employeeId\"/>\n"
+"    <subselect>\n"
+"        select employeeId, orgId \n"
+"        from Employments \n"
+"        group by orgId \n"
+"        having startDate = max(startDate)\n"
+"    </subselect>\n"
+"    <many-to-one name=\"mostRecentEmployer\" \n"
+"            class=\"Organization\" \n"
+"            column=\"orgId\"/>\n"
+"</join>]]>"
 msgstr ""
-      "<![CDATA[<join>\n"
-      "    <key column=\"employeeId\"/>\n"
-      "    <subselect>\n"
-      "        select employeeId, orgId \n"
-      "        from Employments \n"
-      "        group by orgId \n"
-      "        having startDate = max(startDate)\n"
-      "    </subselect>\n"
-      "    <many-to-one name=\"mostRecentEmployer\" \n"
-      "            class=\"Organization\" \n"
-      "            column=\"orgId\"/>\n"
-      "</join>]]>"
 
-#: index.docbook:283
-msgid "You can get quite creative with this functionality, but it is usually more practical to handle these kinds of cases using HQL or a criteria query."
-msgstr "당신은 이 기능으로 아주 생산성을 얻을 수 있지만, 그것은 대개 HQL 또는 criteria 질의를 사용하여 이들 종류의 경우들을 처리하는 것이 보다 실용적이다."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: association_mapping.xml:283
+#, no-c-format
+msgid ""
+"You can get quite creative with this functionality, but it is usually more "
+"practical to handle these kinds of cases using HQL or a criteria query."
+msgstr ""
+"당신은 이 기능으로 아주 생산성을 얻을 수 있지만, 그것은 대개 HQL 또는 "
+"criteria 질의를 사용하여 이들 종류의 경우들을 처리하는 것이 보다 실용적이다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/basic_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/basic_mapping.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/basic_mapping.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,3067 +1,5624 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: basic_mapping.xml:5
+#, no-c-format
 msgid "Basic O/R Mapping"
 msgstr "기본 O/R 매핑"
 
-#: index.docbook:8
+#. Tag: title
+#: basic_mapping.xml:8
+#, no-c-format
 msgid "Mapping declaration"
 msgstr "매핑 선언"
 
-#: index.docbook:10
-msgid "Object/relational mappings are usually defined in an XML document. The mapping document is designed to be readable and hand-editable. The mapping language is Java-centric, meaning that mappings are constructed around persistent class declarations, not table declarations."
-msgstr "객체/관계형 매핑들은 대개 XML 문서 내에 정의된다. 매핑 문서는 가독성이 있고 수작업 편집이 가능하도록 설계되어 있다. 매핑 언어는 매핑들이 테이블 선언들이 아닌, 영속 클래스 선언들로 생성된다는 의미에서 자바 중심적이다."
+#. Tag: para
+#: basic_mapping.xml:10
+#, no-c-format
+msgid ""
+"Object/relational mappings are usually defined in an XML document. The "
+"mapping document is designed to be readable and hand-editable. The mapping "
+"language is Java-centric, meaning that mappings are constructed around "
+"persistent class declarations, not table declarations."
+msgstr ""
+"객체/관계형 매핑들은 대개 XML 문서 내에 정의된다. 매핑 문서는 가독성이 있고 "
+"수작업 편집이 가능하도록 설계되어 있다. 매핑 언어는 매핑들이 테이블 선언들이 "
+"아닌, 영속 클래스 선언들로 생성된다는 의미에서 자바 중심적이다."
 
-#: index.docbook:17
-msgid "Note that, even though many Hibernate users choose to write the XML by hand, a number of tools exist to generate the mapping document, including XDoclet, Middlegen and AndroMDA."
-msgstr "심지어 많은 Hibernate 사용자들이 수작업으로 XML을 작성하고자 선택할지라도, XDoclet, Middlegen, 그리고 AndroMDA를 포함하는, 매핑 문서를 생성시키는 많은 도구들이 존재한다는 점을 노트하라."
+#. Tag: para
+#: basic_mapping.xml:17
+#, no-c-format
+msgid ""
+"Note that, even though many Hibernate users choose to write the XML by hand, "
+"a number of tools exist to generate the mapping document, including XDoclet, "
+"Middlegen and AndroMDA."
+msgstr ""
+"심지어 많은 Hibernate 사용자들이 수작업으로 XML을 작성하고자 선택할지라도, "
+"XDoclet, Middlegen, 그리고 AndroMDA를 포함하는, 매핑 문서를 생성시키는 많은 "
+"도구들이 존재한다는 점을 노트하라."
 
-#: index.docbook:23
+#. Tag: para
+#: basic_mapping.xml:23
+#, no-c-format
 msgid "Lets kick off with an example mapping:"
 msgstr "예제 매핑으로 시작하자:"
 
-#: index.docbook:27
+#. Tag: programlisting
+#: basic_mapping.xml:27
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "      \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "          \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "        <class name=\"Cat\"\n"
-      "            table=\"cats\"\n"
-      "            discriminator-value=\"C\">\n"
-      "\n"
-      "                <id name=\"id\">\n"
-      "                        <generator class=\"native\"/>\n"
-      "                </id>\n"
-      "\n"
-      "                <discriminator column=\"subclass\"\n"
-      "                     type=\"character\"/>\n"
-      "\n"
-      "                <property name=\"weight\"/>\n"
-      "\n"
-      "                <property name=\"birthdate\"\n"
-      "                    type=\"date\"\n"
-      "                    not-null=\"true\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"color\"\n"
-      "                    type=\"eg.types.ColorUserType\"\n"
-      "                    not-null=\"true\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"sex\"\n"
-      "                    not-null=\"true\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"litterId\"\n"
-      "                    column=\"litterId\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <many-to-one name=\"mother\"\n"
-      "                    column=\"mother_id\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <set name=\"kittens\"\n"
-      "                    inverse=\"true\"\n"
-      "                    order-by=\"litter_id\">\n"
-      "                        <key column=\"mother_id\"/>\n"
-      "                        <one-to-many class=\"Cat\"/>\n"
-      "                </set>\n"
-      "\n"
-      "                <subclass name=\"DomesticCat\"\n"
-      "                    discriminator-value=\"D\">\n"
-      "\n"
-      "                        <property name=\"name\"\n"
-      "                            type=\"string\"/>\n"
-      "\n"
-      "                </subclass>\n"
-      "\n"
-      "        </class>\n"
-      "\n"
-      "        <class name=\"Dog\">\n"
-      "                <!-- mapping for Dog could go here -->\n"
-      "        </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"      \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"          \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+"        <class name=\"Cat\"\n"
+"            table=\"cats\"\n"
+"            discriminator-value=\"C\">\n"
+"\n"
+"                <id name=\"id\">\n"
+"                        <generator class=\"native\"/>\n"
+"                </id>\n"
+"\n"
+"                <discriminator column=\"subclass\"\n"
+"                     type=\"character\"/>\n"
+"\n"
+"                <property name=\"weight\"/>\n"
+"\n"
+"                <property name=\"birthdate\"\n"
+"                    type=\"date\"\n"
+"                    not-null=\"true\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <property name=\"color\"\n"
+"                    type=\"eg.types.ColorUserType\"\n"
+"                    not-null=\"true\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <property name=\"sex\"\n"
+"                    not-null=\"true\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <property name=\"litterId\"\n"
+"                    column=\"litterId\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <many-to-one name=\"mother\"\n"
+"                    column=\"mother_id\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <set name=\"kittens\"\n"
+"                    inverse=\"true\"\n"
+"                    order-by=\"litter_id\">\n"
+"                        <key column=\"mother_id\"/>\n"
+"                        <one-to-many class=\"Cat\"/>\n"
+"                </set>\n"
+"\n"
+"                <subclass name=\"DomesticCat\"\n"
+"                    discriminator-value=\"D\">\n"
+"\n"
+"                        <property name=\"name\"\n"
+"                            type=\"string\"/>\n"
+"\n"
+"                </subclass>\n"
+"\n"
+"        </class>\n"
+"\n"
+"        <class name=\"Dog\">\n"
+"                <!-- mapping for Dog could go here -->\n"
+"        </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "      \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "          \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "        <class name=\"Cat\" \n"
-      "            table=\"cats\"\n"
-      "            discriminator-value=\"C\">\n"
-      "                \n"
-      "                <id name=\"id\">\n"
-      "                        <generator class=\"native\"/>\n"
-      "                </id>\n"
-      "\n"
-      "                <discriminator column=\"subclass\" \n"
-      "                     type=\"character\"/>\n"
-      "\n"
-      "                <property name=\"weight\"/>\n"
-      "\n"
-      "                <property name=\"birthdate\"\n"
-      "                    type=\"date\" \n"
-      "                    not-null=\"true\" \n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"color\"\n"
-      "                    type=\"eg.types.ColorUserType\"\n"
-      "                    not-null=\"true\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"sex\"\n"
-      "                    not-null=\"true\" \n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"litterId\"\n"
-      "                    column=\"litterId\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <many-to-one name=\"mother\"\n"
-      "                    column=\"mother_id\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <set name=\"kittens\"\n"
-      "                    inverse=\"true\"\n"
-      "                    order-by=\"litter_id\">\n"
-      "                        <key column=\"mother_id\"/>\n"
-      "                        <one-to-many class=\"Cat\"/>\n"
-      "                </set>\n"
-      "\n"
-      "                <subclass name=\"DomesticCat\"\n"
-      "                    discriminator-value=\"D\">\n"
-      "\n"
-      "                        <property name=\"name\" \n"
-      "                            type=\"string\"/>\n"
-      "\n"
-      "                </subclass>\n"
-      "\n"
-      "        </class>\n"
-      "\n"
-      "        <class name=\"Dog\">\n"
-      "                <!-- mapping for Dog could go here -->\n"
-      "        </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:29
-msgid "We will now discuss the content of the mapping document. We will only describe the document elements and attributes that are used by Hibernate at runtime. The mapping document also contains some extra optional attributes and elements that affect the database schemas exported by the schema export tool. (For example the <literal> not-null</literal> attribute.)"
-msgstr "우리는 이제 매핑 문서의 내용을 논의할 것이다. 우리는 Hibernate에 의해 실행 시에 사용되는 문서 요소들과 속성들 만을 설명할 것이다. 매핑 문서는 또한 스키마 내보내기 도구에 의해 내보내진 데이터베이스 스키마에 영향을 주는 어떤 특별한 옵션 속성들과 요소들을 포함한다. (예를 들어 <literal>not-null</literal> 속성.)"
+#. Tag: para
+#: basic_mapping.xml:29
+#, no-c-format
+msgid ""
+"We will now discuss the content of the mapping document. We will only "
+"describe the document elements and attributes that are used by Hibernate at "
+"runtime. The mapping document also contains some extra optional attributes "
+"and elements that affect the database schemas exported by the schema export "
+"tool. (For example the <literal> not-null</literal> attribute.)"
+msgstr ""
+"우리는 이제 매핑 문서의 내용을 논의할 것이다. 우리는 Hibernate에 의해 실행 시"
+"에 사용되는 문서 요소들과 속성들 만을 설명할 것이다. 매핑 문서는 또한 스키마 "
+"내보내기 도구에 의해 내보내진 데이터베이스 스키마에 영향을 주는 어떤 특별한 "
+"옵션 속성들과 요소들을 포함한다. (예를 들어 <literal>not-null</literal> 속"
+"성.)"
 
-#: index.docbook:40
+#. Tag: title
+#: basic_mapping.xml:40
+#, no-c-format
 msgid "Doctype"
 msgstr "Doctype"
 
-#: index.docbook:42
-msgid "All XML mappings should declare the doctype shown. The actual DTD may be found at the URL above, in the directory <literal>hibernate-x.x.x/src/org/hibernate </literal> or in <literal>hibernate3.jar</literal>. Hibernate will always look for the DTD in its classpath first. If you experience lookups of the DTD using an Internet connection, check your DTD declaration against the contents of your claspath."
-msgstr "모든 XML 매핑들은 doctype이 보이게 선언해야 한다. 실제 DTD는 위의 URL에서, <literal>hibernate-x.x.x/src/org/hibernate</literal> 디렉토리 내에서 또는 <literal>hibernate3.jar</literal> 내에서 찾을 수 있다. Hibernate는 항상 첫 번째로 그것의 classpath 속에서 DTD를 찾게 될 것이다. 만일 당신이 인터넷 연결을 사용하는 DTD에 대한 룩업들을 겪게 될 경우, 당신의 classpath의 컨텐츠에 대해 당신의 DTD 선언을 체크하라."
+#. Tag: para
+#: basic_mapping.xml:42
+#, no-c-format
+msgid ""
+"All XML mappings should declare the doctype shown. The actual DTD may be "
+"found at the URL above, in the directory <literal>hibernate-x.x.x/src/org/"
+"hibernate </literal> or in <literal>hibernate3.jar</literal>. Hibernate will "
+"always look for the DTD in its classpath first. If you experience lookups of "
+"the DTD using an Internet connection, check your DTD declaration against the "
+"contents of your claspath."
+msgstr ""
+"모든 XML 매핑들은 doctype이 보이게 선언해야 한다. 실제 DTD는 위의 URL에서, "
+"<literal>hibernate-x.x.x/src/org/hibernate</literal> 디렉토리 내에서 또는 "
+"<literal>hibernate3.jar</literal> 내에서 찾을 수 있다. Hibernate는 항상 첫 번"
+"째로 그것의 classpath 속에서 DTD를 찾게 될 것이다. 만일 당신이 인터넷 연결을 "
+"사용하는 DTD에 대한 룩업들을 겪게 될 경우, 당신의 classpath의 컨텐츠에 대해 "
+"당신의 DTD 선언을 체크하라."
 
-#: index.docbook:52
+#. Tag: title
+#: basic_mapping.xml:52
+#, no-c-format
 msgid "EntityResolver"
 msgstr "EntityResolver"
 
-#: index.docbook:53
-msgid "As mentioned previously, Hibernate will first attempt to resolve DTDs in its classpath. The manner in which it does this is by registering a custom <literal>org.xml.sax.EntityResolver</literal> implementation with the SAXReader it uses to read in the xml files. This custom <literal>EntityResolver</literal> recognizes two different systemId namespaces."
-msgstr "앞서 언급했듯이, Hibernate는 먼저 그것의 classpath에서 DTD들을 해석하려고 시도할 것이다. Hibernate가 이것을 행하는 방법은 그것이 xml 파일들을 읽어들이는데 사용하는 SAXReader에 맞춤형 <literal>org.xml.sax.EntityResolver</literal> 구현을 등록하는 것이다. 이 맞춤형 <literal>EntityResolver</literal>는 두 개의 다른 systemId namespace들을 인지해낸다."
+#. Tag: para
+#: basic_mapping.xml:53
+#, no-c-format
+msgid ""
+"As mentioned previously, Hibernate will first attempt to resolve DTDs in its "
+"classpath. The manner in which it does this is by registering a custom "
+"<literal>org.xml.sax.EntityResolver</literal> implementation with the "
+"SAXReader it uses to read in the xml files. This custom "
+"<literal>EntityResolver</literal> recognizes two different systemId "
+"namespaces."
+msgstr ""
+"앞서 언급했듯이, Hibernate는 먼저 그것의 classpath에서 DTD들을 해석하려고 시"
+"도할 것이다. Hibernate가 이것을 행하는 방법은 그것이 xml 파일들을 읽어들이는"
+"데 사용하는 SAXReader에 맞춤형 <literal>org.xml.sax.EntityResolver</literal> "
+"구현을 등록하는 것이다. 이 맞춤형 <literal>EntityResolver</literal>는 두 개"
+"의 다른 systemId namespace들을 인지해낸다."
 
-#: index.docbook:61
-msgid "a <literal>hibernate namespace</literal> is recognized whenever the resolver encounteres a systemId starting with <literal>http://hibernate.sourceforge.net/</literal>; the resolver attempts to resolve these entities via the classlaoder which loaded the Hibernate classes."
-msgstr "<literal>hibernate namespace</literal>는 resolver가 <literal>http://hibernate.sourceforge.net/</literal>로 시작하는 하나의 systemId와 만날때마다 인지된다; resolver는 Hibernate 클래스들을 로드시켰던 클래스로더를 통해 이들 엔티티들을 해석하려고 시도한다."
+#. Tag: para
+#: basic_mapping.xml:61
+#, no-c-format
+msgid ""
+"a <literal>hibernate namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId starting with <literal>http://hibernate.sourceforge."
+"net/</literal>; the resolver attempts to resolve these entities via the "
+"classlaoder which loaded the Hibernate classes."
+msgstr ""
+"<literal>hibernate namespace</literal>는 resolver가 <literal>http://"
+"hibernate.sourceforge.net/</literal>로 시작하는 하나의 systemId와 만날때마다 "
+"인지된다; resolver는 Hibernate 클래스들을 로드시켰던 클래스로더를 통해 이들 "
+"엔티티들을 해석하려고 시도한다."
 
-#: index.docbook:70
-msgid "a <literal>user namespace</literal> is recognized whenever the resolver encounteres a systemId using a <literal>classpath://</literal> URL protocol; the resolver will attempt to resolve these entities via (1) the current thread context classloader and (2) the classloader which loaded the Hibernate classes."
-msgstr "<literal>user namespace</literal>는 resolver가 <literal>classpath://</literal> URL 프로토콜을 사용하는 systemId를 만날때마다 인지된다; resolver는 (1)현재 쓰레드 컨텍스트 클래스로더와 (2)Hibernate 클래스들을 로드시켰던 클래스로더를 통해 이들 엔티티들을 해석하려고 시도할 것이다."
+#. Tag: para
+#: basic_mapping.xml:70
+#, no-c-format
+msgid ""
+"a <literal>user namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId using a <literal>classpath://</literal> URL protocol; "
+"the resolver will attempt to resolve these entities via (1) the current "
+"thread context classloader and (2) the classloader which loaded the "
+"Hibernate classes."
+msgstr ""
+"<literal>user namespace</literal>는 resolver가 <literal>classpath://</"
+"literal> URL 프로토콜을 사용하는 systemId를 만날때마다 인지된다; resolver는 "
+"(1)현재 쓰레드 컨텍스트 클래스로더와 (2)Hibernate 클래스들을 로드시켰던 클래"
+"스로더를 통해 이들 엔티티들을 해석하려고 시도할 것이다."
 
-#: index.docbook:79
+#. Tag: para
+#: basic_mapping.xml:79
+#, no-c-format
 msgid "An example of utilizing user namespacing:"
 msgstr "user namespacing을 활용하는 예제:"
 
-#: index.docbook:82
+#. Tag: programlisting
+#: basic_mapping.xml:82
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\" [\n"
-      "    <!ENTITY types SYSTEM \"classpath://your/domain/types.xml\">\n"
-      "]>\n"
-      "\n"
-      "<hibernate-mapping package=\"your.domain\">\n"
-      "    <class name=\"MyEntity\">\n"
-      "        <id name=\"id\" type=\"my-custom-id-type\">\n"
-      "            ...\n"
-      "        </id>\n"
-      "    <class>\n"
-      "    &types;\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\" [\n"
+"    <!ENTITY types SYSTEM \"classpath://your/domain/types.xml\">\n"
+"]>\n"
+"\n"
+"<hibernate-mapping package=\"your.domain\">\n"
+"    <class name=\"MyEntity\">\n"
+"        <id name=\"id\" type=\"my-custom-id-type\">\n"
+"            ...\n"
+"        </id>\n"
+"    <class>\n"
+"    &types;\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\" [\n"
-      "    <!ENTITY types SYSTEM \"classpath://your/domain/types.xml\">\n"
-      "]>\n"
-      "\n"
-      "<hibernate-mapping package=\"your.domain\">\n"
-      "    <class name=\"MyEntity\">\n"
-      "        <id name=\"id\" type=\"my-custom-id-type\">\n"
-      "            ...\n"
-      "        </id>\n"
-      "    <class>\n"
-      "    &types;\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:83
-msgid "Where <literal>types.xml</literal> is a resource in the <literal>your.domain</literal> package and contains a custom <xref linkend=\"mapping-types-custom\"/>typedef."
-msgstr "여기서 <literal>types.xml</literal>은 <literal>your.domain</literal> 패키지 내에 있는 리소스이고 맞춤형 <xref linkend=\"mapping-types-custom\"/>typedef를 포함한다."
+#. Tag: para
+#: basic_mapping.xml:83
+#, no-c-format
+msgid ""
+"Where <literal>types.xml</literal> is a resource in the <literal>your."
+"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
+"custom\">typedef</link>."
+msgstr ""
+"여기서 <literal>types.xml</literal>은 <literal>your.domain</literal> 패키지 "
+"내에 있는 리소스이고 맞춤형 <xref linkend=\"mapping-types-custom\">typedef</"
+"xref>를 포함한다."
 
-#: index.docbook:91
+#. Tag: title
+#: basic_mapping.xml:91
+#, no-c-format
 msgid "hibernate-mapping"
 msgstr "hibernate-mapping"
 
-#: index.docbook:93
-msgid "This element has several optional attributes. The <literal>schema</literal> and <literal>catalog</literal> attributes specify that tables referred to in this mapping belong to the named schema and/or catalog. If specified, tablenames will be qualified by the given schema and catalog names. If missing, tablenames will be unqualified. The <literal>default-cascade</literal> attribute specifies what cascade style should be assumed for properties and collections which do not specify a <literal>cascade</literal> attribute. The <literal>auto-import</literal> attribute lets us use unqualified class names in the query language, by default."
-msgstr "이 요소는 몇 개의 선택적인 속성들을 갖는다. <literal>schema</literal> 속성과 <literal>catalog</literal> 속성은 이 매핑 내에서 참조된 테이블들이 명명된 schema 와/또는 catalog에 속한다는 점을 지정한다. 만일 지정될 경우, 테이블 이름들은 주어진 schema 이름과 catalog 이름에 의해 한정(수식)될 것이다. 누락될 경우, 테이블 이름들은 한정되지((수식어가 붙지) 않을 것이다. <literal>default-cascade</literal> 속성은 <literal>cascade</literal> 속성을 지정하지 않은 프로퍼티들과 콜렉션들에 대해 전제될 <literal>cascade</literal> 스타일이 무엇인지를 지정한다. <literal>auto-import</literal> 속성은 디폴트로 우리가 질의 언어 속에서 수식어가 붙지 않은(unqualified) 클래스 이름들을 사용하게 할 것이다."
+#. Tag: para
+#: basic_mapping.xml:93
+#, no-c-format
+msgid ""
+"This element has several optional attributes. The <literal>schema</literal> "
+"and <literal>catalog</literal> attributes specify that tables referred to in "
+"this mapping belong to the named schema and/or catalog. If specified, "
+"tablenames will be qualified by the given schema and catalog names. If "
+"missing, tablenames will be unqualified. The <literal>default-cascade</"
+"literal> attribute specifies what cascade style should be assumed for "
+"properties and collections which do not specify a <literal>cascade</literal> "
+"attribute. The <literal>auto-import</literal> attribute lets us use "
+"unqualified class names in the query language, by default."
+msgstr ""
+"이 요소는 몇 개의 선택적인 속성들을 갖는다. <literal>schema</literal> 속성과 "
+"<literal>catalog</literal> 속성은 이 매핑 내에서 참조된 테이블들이 명명된 "
+"schema 와/또는 catalog에 속한다는 점을 지정한다. 만일 지정될 경우, 테이블 이"
+"름들은 주어진 schema 이름과 catalog 이름에 의해 한정(수식)될 것이다. 누락될 "
+"경우, 테이블 이름들은 한정되지((수식어가 붙지) 않을 것이다. <literal>default-"
+"cascade</literal> 속성은 <literal>cascade</literal> 속성을 지정하지 않은 프로"
+"퍼티들과 콜렉션들에 대해 전제될 <literal>cascade</literal> 스타일이 무엇인지"
+"를 지정한다. <literal>auto-import</literal> 속성은 디폴트로 우리가 질의 언어 "
+"속에서 수식어가 붙지 않은(unqualified) 클래스 이름들을 사용하게 할 것이다."
 
-#: index.docbook:114
+#. Tag: programlisting
+#: basic_mapping.xml:114
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping\n"
-      "         schema=\"schemaName\"\n"
-      "         catalog=\"catalogName\"\n"
-      "         default-cascade=\"cascade_style\"\n"
-      "         default-access=\"field|property|ClassName\"\n"
-      "         default-lazy=\"true|false\"\n"
-      "         auto-import=\"true|false\"\n"
-      "         package=\"package.name\"\n"
-      " />]]>"
+"<![CDATA[<hibernate-mapping\n"
+"         schema=\"schemaName\"\n"
+"         catalog=\"catalogName\"\n"
+"         default-cascade=\"cascade_style\"\n"
+"         default-access=\"field|property|ClassName\"\n"
+"         default-lazy=\"true|false\"\n"
+"         auto-import=\"true|false\"\n"
+"         package=\"package.name\"\n"
+" />]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping\n"
-      "         schema=\"schemaName\"\n"
-      "         catalog=\"catalogName\"\n"
-      "         default-cascade=\"cascade_style\"\n"
-      "         default-access=\"field|property|ClassName\"\n"
-      "         default-lazy=\"true|false\"\n"
-      "         auto-import=\"true|false\"\n"
-      "         package=\"package.name\"\n"
-      " />]]>"
 
-#: index.docbook:117
+#. Tag: para
+#: basic_mapping.xml:117
+#, no-c-format
 msgid "<literal>schema</literal> (optional): The name of a database schema."
 msgstr "<literal>schema</literal> (옵션): 데이터베이스 스키마의 이름."
 
-#: index.docbook:122
+#. Tag: para
+#: basic_mapping.xml:122
+#, no-c-format
 msgid "<literal>catalog</literal> (optional): The name of a database catalog."
 msgstr "<literal>catalog</literal> (옵션): 데이터베이스 카다록의 이름."
 
-#: index.docbook:127
-msgid "<literal>default-cascade</literal> (optional - defaults to <literal>none</literal>): A default cascade style."
-msgstr "<literal>default-cascade</literal> (옵션 - 디폴트는 <literal>none</literal>): 디폴트 cascade 스타일."
+#. Tag: para
+#: basic_mapping.xml:127
+#, no-c-format
+msgid ""
+"<literal>default-cascade</literal> (optional - defaults to <literal>none</"
+"literal>): A default cascade style."
+msgstr ""
+"<literal>default-cascade</literal> (옵션 - 디폴트는 <literal>none</"
+"literal>): 디폴트 cascade 스타일."
 
-#: index.docbook:133
-msgid "<literal>default-access</literal> (optional - defaults to <literal>property</literal>): The strategy Hibernate should use for accessing all properties. Can be a custom implementation of <literal>PropertyAccessor</literal>."
-msgstr "<literal>default-access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 모든 프로퍼티들에 액세스하는데 사용하게 될 방도. <literal>PropertyAccessor</literal>에 대한 맞춤형 구현일 수 있다."
+#. Tag: para
+#: basic_mapping.xml:133
+#, no-c-format
+msgid ""
+"<literal>default-access</literal> (optional - defaults to <literal>property</"
+"literal>): The strategy Hibernate should use for accessing all properties. "
+"Can be a custom implementation of <literal>PropertyAccessor</literal>."
+msgstr ""
+"<literal>default-access</literal> (옵션 - 디폴트는 <literal>property</"
+"literal>): Hibernate가 모든 프로퍼티들에 액세스하는데 사용하게 될 방도. "
+"<literal>PropertyAccessor</literal>에 대한 맞춤형 구현일 수 있다."
 
-#: index.docbook:140
-msgid "<literal>default-lazy</literal> (optional - defaults to <literal>true</literal>): The default value for unspecifed <literal>lazy</literal> attributes of class and collection mappings."
-msgstr "<literal>default-lazy</literal> (옵션 - 디폴트는 <literal>true</literal>): class 및 collection 매핑들의 지정되지 않은 <literal>lazy</literal> 속성들에 대한 디폴트 값."
+#. Tag: para
+#: basic_mapping.xml:140
+#, no-c-format
+msgid ""
+"<literal>default-lazy</literal> (optional - defaults to <literal>true</"
+"literal>): The default value for unspecifed <literal>lazy</literal> "
+"attributes of class and collection mappings."
+msgstr ""
+"<literal>default-lazy</literal> (옵션 - 디폴트는 <literal>true</literal>): "
+"class 및 collection 매핑들의 지정되지 않은 <literal>lazy</literal> 속성들에 "
+"대한 디폴트 값."
 
-#: index.docbook:147
-msgid "<literal>auto-import</literal> (optional - defaults to <literal>true</literal>): Specifies whether we can use unqualified class names (of classes in this mapping) in the query language."
-msgstr "<literal>auto-import</literal> (옵션 - 디폴트는 <literal>true</literal>): 우리가 질의 언어 내에 (이 매핑에서 클래스들에 대해) 수식어가 붙지 않은 클래스 이름들을 사용할 수 있는지를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:147
+#, no-c-format
+msgid ""
+"<literal>auto-import</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies whether we can use unqualified class names (of classes "
+"in this mapping) in the query language."
+msgstr ""
+"<literal>auto-import</literal> (옵션 - 디폴트는 <literal>true</literal>): 우"
+"리가 질의 언어 내에 (이 매핑에서 클래스들에 대해) 수식어가 붙지 않은 클래스 "
+"이름들을 사용할 수 있는지를 지정한다."
 
-#: index.docbook:154
-msgid "<literal>package</literal> (optional): Specifies a package prefix to assume for unqualified class names in the mapping document."
-msgstr "<literal>package</literal> (옵션): 매핑 문서 내에서 수식어가 붙지 않은 클래스 이름들에 대해 가정할 패키지 접두어를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:154
+#, no-c-format
+msgid ""
+"<literal>package</literal> (optional): Specifies a package prefix to assume "
+"for unqualified class names in the mapping document."
+msgstr ""
+"<literal>package</literal> (옵션): 매핑 문서 내에서 수식어가 붙지 않은 클래"
+"스 이름들에 대해 가정할 패키지 접두어를 지정한다."
 
-#: index.docbook:162
-msgid "If you have two persistent classes with the same (unqualified) name, you should set <literal>auto-import=\"false\"</literal>. Hibernate will throw an exception if you attempt to assign two classes to the same \"imported\" name."
-msgstr "만일 당신이 동일한 (수식어가 붙지 않은) 이름을 가진 두 개의 영속 클래스들을 갖고 있다면, 당신은 <literal>auto-import=\"false\"</literal>를 설정해야 한다. 만일 당신이 두 개의 클래스들에 동일한 \"imported\" 이름을 할당하려고 시도할 경우에 Hibernate는 예외상황을 던질 것이다."
+#. Tag: para
+#: basic_mapping.xml:162
+#, no-c-format
+msgid ""
+"If you have two persistent classes with the same (unqualified) name, you "
+"should set <literal>auto-import=\"false\"</literal>. Hibernate will throw an "
+"exception if you attempt to assign two classes to the same \"imported\" name."
+msgstr ""
+"만일 당신이 동일한 (수식어가 붙지 않은) 이름을 가진 두 개의 영속 클래스들을 "
+"갖고 있다면, 당신은 <literal>auto-import=\"false\"</literal>를 설정해야 한"
+"다. 만일 당신이 두 개의 클래스들에 동일한 \"imported\" 이름을 할당하려고 시도"
+"할 경우에 Hibernate는 예외상황을 던질 것이다."
 
-#: index.docbook:168
-msgid "Note that the <literal>hibernate-mapping</literal> element allows you to nest several persistent <literal>&lt;class&gt;</literal> mappings, as shown above. It is however good practice (and expected by some tools) to map only a single persistent class (or a single class hierarchy) in one mapping file and name it after the persistent superclass, e.g. <literal>Cat.hbm.xml</literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, <literal>Animal.hbm.xml</literal>."
-msgstr "위에 보여진 것처럼 <literal>hibernate-mapping</literal> 요소는 몇몇 영속 <literal>&lt;class&gt;</literal> 매핑들을 내부에 포함하는 것을 허용해준다는 점을 노트하라. 하지만 한 개의 매핑 파일 속에 한 개의 영속 클래스(또는 한 개의 클래스 계층구조) 만을 매핑하고 영속 서브 클래스 뒤에 그것을 명명하는 것이 좋은 연습이다 (그리고 몇몇 도구들에 의해 기대된다). 예를 들면 <literal>Cat.hbm.xml</literal>, <literal>Dog.hbm.xml</literal> 또는 상속을 사용할 경우에는 <literal>Animal.hbm.xml</literal>."
+#. Tag: para
+#: basic_mapping.xml:168
+#, no-c-format
+msgid ""
+"Note that the <literal>hibernate-mapping</literal> element allows you to "
+"nest several persistent <literal>&lt;class&gt;</literal> mappings, as shown "
+"above. It is however good practice (and expected by some tools) to map only "
+"a single persistent class (or a single class hierarchy) in one mapping file "
+"and name it after the persistent superclass, e.g. <literal>Cat.hbm.xml</"
+"literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, "
+"<literal>Animal.hbm.xml</literal>."
+msgstr ""
+"위에 보여진 것처럼 <literal>hibernate-mapping</literal> 요소는 몇몇 영속 "
+"<literal>&lt;class&gt;</literal> 매핑들을 내부에 포함하는 것을 허용해준다는 "
+"점을 노트하라. 하지만 한 개의 매핑 파일 속에 한 개의 영속 클래스(또는 한 개"
+"의 클래스 계층구조) 만을 매핑하고 영속 서브 클래스 뒤에 그것을 명명하는 것이 "
+"좋은 연습이다 (그리고 몇몇 도구들에 의해 기대된다). 예를 들면 <literal>Cat."
+"hbm.xml</literal>, <literal>Dog.hbm.xml</literal> 또는 상속을 사용할 경우에"
+"는 <literal>Animal.hbm.xml</literal>."
 
-#: index.docbook:181
+#. Tag: title
+#: basic_mapping.xml:181
+#, no-c-format
 msgid "<title>class</title>"
-msgstr "<title>class</title>"
+msgstr ""
 
-#: index.docbook:183
-msgid "You may declare a persistent class using the <literal>class</literal> element:"
-msgstr "당신은 <literal>class</literal> 요소를 사용하여 영속 클래스를 선언할 수도 있다:"
+#. Tag: para
+#: basic_mapping.xml:183
+#, no-c-format
+msgid ""
+"You may declare a persistent class using the <literal>class</literal> "
+"element:"
+msgstr ""
+"당신은 <literal>class</literal> 요소를 사용하여 영속 클래스를 선언할 수도 있"
+"다:"
 
-#: index.docbook:211
+#. Tag: programlisting
+#: basic_mapping.xml:211
+#, no-c-format
 msgid ""
-      "<![CDATA[<class\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tableName\"\n"
-      "        discriminator-value=\"discriminator_value\"\n"
-      "        mutable=\"true|false\"\n"
-      "        schema=\"owner\"\n"
-      "        catalog=\"catalog\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        select-before-update=\"true|false\"\n"
-      "        polymorphism=\"implicit|explicit\"\n"
-      "        where=\"arbitrary sql where condition\"\n"
-      "        persister=\"PersisterClass\"\n"
-      "        batch-size=\"N\"\n"
-      "        optimistic-lock=\"none|version|dirty|all\"\n"
-      "        lazy=\"true|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        check=\"arbitrary sql check condition\"\n"
-      "        rowid=\"rowid\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        abstract=\"true|false\"\n"
-      "        node=\"element-name\"\n"
-      "/>]]>"
+"<![CDATA[<class\n"
+"        name=\"ClassName\"\n"
+"        table=\"tableName\"\n"
+"        discriminator-value=\"discriminator_value\"\n"
+"        mutable=\"true|false\"\n"
+"        schema=\"owner\"\n"
+"        catalog=\"catalog\"\n"
+"        proxy=\"ProxyInterface\"\n"
+"        dynamic-update=\"true|false\"\n"
+"        dynamic-insert=\"true|false\"\n"
+"        select-before-update=\"true|false\"\n"
+"        polymorphism=\"implicit|explicit\"\n"
+"        where=\"arbitrary sql where condition\"\n"
+"        persister=\"PersisterClass\"\n"
+"        batch-size=\"N\"\n"
+"        optimistic-lock=\"none|version|dirty|all\"\n"
+"        lazy=\"true|false\"\n"
+"        entity-name=\"EntityName\"\n"
+"        check=\"arbitrary sql check condition\"\n"
+"        rowid=\"rowid\"\n"
+"        subselect=\"SQL expression\"\n"
+"        abstract=\"true|false\"\n"
+"        node=\"element-name\"\n"
+"/>]]>"
 msgstr ""
-      "<![CDATA[<class\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tableName\"\n"
-      "        discriminator-value=\"discriminator_value\"\n"
-      "        mutable=\"true|false\"\n"
-      "        schema=\"owner\"\n"
-      "        catalog=\"catalog\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        select-before-update=\"true|false\"\n"
-      "        polymorphism=\"implicit|explicit\"\n"
-      "        where=\"arbitrary sql where condition\"\n"
-      "        persister=\"PersisterClass\"\n"
-      "        batch-size=\"N\"\n"
-      "        optimistic-lock=\"none|version|dirty|all\"\n"
-      "        lazy=\"true|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        check=\"arbitrary sql check condition\"\n"
-      "        rowid=\"rowid\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        abstract=\"true|false\"\n"
-      "        node=\"element-name\"\n"
-      "/>]]>"
 
-#: index.docbook:214
-msgid "<literal>name</literal> (optional): The fully qualified Java class name of the persistent class (or interface). If this attribute is missing, it is assumed that the mapping is for a non-POJO entity."
-msgstr "<literal>name</literal> (옵션): 영속 클래스(또는 인터페이스)의 전체 수식어가 붙은 Java 클래스 이름. 만일 이 속성이 누락될 경우, 매핑이 non-POJO 엔티티라고 가정된다."
+#. Tag: para
+#: basic_mapping.xml:214
+#, no-c-format
+msgid ""
+"<literal>name</literal> (optional): The fully qualified Java class name of "
+"the persistent class (or interface). If this attribute is missing, it is "
+"assumed that the mapping is for a non-POJO entity."
+msgstr ""
+"<literal>name</literal> (옵션): 영속 클래스(또는 인터페이스)의 전체 수식어가 "
+"붙은 Java 클래스 이름. 만일 이 속성이 누락될 경우, 매핑이 non-POJO 엔티티라"
+"고 가정된다."
 
-#: index.docbook:221
-msgid "<literal>table</literal> (optional - defaults to the unqualified class name): The name of its database table."
-msgstr "<literal>table</literal> (옵션 - 디폴트는 수식어가 붙지 않은 클래스명): 그것의 데이터베이스 테이블의 이름."
+#. Tag: para
+#: basic_mapping.xml:221
+#, no-c-format
+msgid ""
+"<literal>table</literal> (optional - defaults to the unqualified class "
+"name): The name of its database table."
+msgstr ""
+"<literal>table</literal> (옵션 - 디폴트는 수식어가 붙지 않은 클래스명): 그것"
+"의 데이터베이스 테이블의 이름."
 
-#: index.docbook:227
-msgid "<literal>discriminator-value</literal> (optional - defaults to the class name): A value that distiguishes individual subclasses, used for polymorphic behaviour. Acceptable values include <literal>null</literal> and <literal>not null</literal>."
-msgstr "<literal>discriminator-value</literal> (옵션 - 디폴트는 클래스 이름): 다형성(polymorphic) 특징에 사용되는, 개별 서브 클래스들를 구별짓는 값. 허용가능한 값들은<literal>null</literal>과 <literal>not null</literal>을 포함한다."
+#. Tag: para
+#: basic_mapping.xml:227
+#, no-c-format
+msgid ""
+"<literal>discriminator-value</literal> (optional - defaults to the class "
+"name): A value that distiguishes individual subclasses, used for polymorphic "
+"behaviour. Acceptable values include <literal>null</literal> and "
+"<literal>not null</literal>."
+msgstr ""
+"<literal>discriminator-value</literal> (옵션 - 디폴트는 클래스 이름): 다형성"
+"(polymorphic) 특징에 사용되는, 개별 서브 클래스들를 구별짓는 값. 허용가능한 "
+"값들은<literal>null</literal>과 <literal>not null</literal>을 포함한다."
 
-#: index.docbook:234
-msgid "<literal>mutable</literal> (optional, defaults to <literal>true</literal>): Specifies that instances of the class are (not) mutable."
-msgstr "<literal>mutable</literal> (옵션 - 디폴트는 <literal>true</literal>): 클래스들의 인스턴스들이 가변적인지를 (가변적이지 않은지를) 지정한다."
+#. Tag: para
+#: basic_mapping.xml:234
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional, defaults to <literal>true</literal>): "
+"Specifies that instances of the class are (not) mutable."
+msgstr ""
+"<literal>mutable</literal> (옵션 - 디폴트는 <literal>true</literal>): 클래스"
+"들의 인스턴스들이 가변적인지를 (가변적이지 않은지를) 지정한다."
 
-#: index.docbook:240, index.docbook:2204
-msgid "<literal>schema</literal> (optional): Override the schema name specified by the root <literal>&lt;hibernate-mapping&gt;</literal> element."
-msgstr "<literal>schema</literal> (옵션): 루트 <literal>&lt;hibernate-mapping&gt;</literal> 요소에 의해 지정된 스키마 이름을 오버라이드 시킨다."
+#. Tag: para
+#: basic_mapping.xml:240 basic_mapping.xml:2204
+#, fuzzy, no-c-format
+msgid ""
+"<literal>schema</literal> (optional): Override the schema name specified by "
+"the root <literal>&lt;hibernate-mapping&gt;</literal> element."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>schema</literal> (옵션): 루트 <literal>&lt;hibernate-mapping&gt;</"
+"literal> 요소에 의해 지정된 스키마 이름을 오버라이드 시킨다.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>schema</literal> (옵션): 루트 <literal>&lt;hibernate-mapping&gt;</"
+"literal> 요소에 의해 지정된 스키마 이름을 오버라이드 시킨다"
 
-#: index.docbook:246, index.docbook:2210
-msgid "<literal>catalog</literal> (optional): Override the catalog name specified by the root <literal>&lt;hibernate-mapping&gt;</literal> element."
-msgstr "<literal>catalog</literal> (옵션): 루트 <literal>&lt;hibernate-mapping&gt;</literal> 요소에 의해 지정된 카다록 이름을 오버라이드 시킨다."
+#. Tag: para
+#: basic_mapping.xml:246 basic_mapping.xml:2210
+#, fuzzy, no-c-format
+msgid ""
+"<literal>catalog</literal> (optional): Override the catalog name specified "
+"by the root <literal>&lt;hibernate-mapping&gt;</literal> element."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>catalog</literal> (옵션): 루트 <literal>&lt;hibernate-mapping&gt;</"
+"literal> 요소에 의해 지정된 카다록 이름을 오버라이드 시킨다.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>catalog</literal> (옵션): 루트 <literal>&lt;hibernate-mapping&gt;</"
+"literal> 요소에 의해 지정된 카타록 이름을 오버라이드 시킨다."
 
-#: index.docbook:252
-msgid "<literal>proxy</literal> (optional): Specifies an interface to use for lazy initializing proxies. You may specify the name of the class itself."
-msgstr "<literal>proxy</literal> (옵션): lazy initializing proxy들에 사용할 인터페이스를 지정한다. 당신은 클래스 그 자체의 이름을 지정할 수 도 있다."
+#. Tag: para
+#: basic_mapping.xml:252
+#, no-c-format
+msgid ""
+"<literal>proxy</literal> (optional): Specifies an interface to use for lazy "
+"initializing proxies. You may specify the name of the class itself."
+msgstr ""
+"<literal>proxy</literal> (옵션): lazy initializing proxy들에 사용할 인터페이"
+"스를 지정한다. 당신은 클래스 그 자체의 이름을 지정할 수 도 있다."
 
-#: index.docbook:258
-msgid "<literal>dynamic-update</literal> (optional, defaults to <literal>false</literal>): Specifies that <literal>UPDATE</literal> SQL should be generated at runtime and contain only those columns whose values have changed."
-msgstr "<literal>dynamic-update</literal> (옵션 - 디폴트는 <literal>false</literal>): <literal>UPDATE</literal> SQL이 실행 시에 생성되고 그들 컬럼들의 값들이 변경된 그들 컬럼들 만을 포함할 것인지를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:258
+#, no-c-format
+msgid ""
+"<literal>dynamic-update</literal> (optional, defaults to <literal>false</"
+"literal>): Specifies that <literal>UPDATE</literal> SQL should be generated "
+"at runtime and contain only those columns whose values have changed."
+msgstr ""
+"<literal>dynamic-update</literal> (옵션 - 디폴트는 <literal>false</"
+"literal>): <literal>UPDATE</literal> SQL이 실행 시에 생성되고 그들 컬럼들의 "
+"값들이 변경된 그들 컬럼들 만을 포함할 것인지를 지정한다."
 
-#: index.docbook:265
-msgid "<literal>dynamic-insert</literal> (optional, defaults to <literal>false</literal>): Specifies that <literal>INSERT</literal> SQL should be generated at runtime and contain only the columns whose values are not null."
-msgstr "<literal>dynamic-insert</literal> (옵션 - 디폴트는 <literal>false</literal>): 생성될 <literal>INSERT</literal>이 실행 시에 생성되고 그들 컬럼들의 값이 null이 아닌 컬럼들 만을 포함할 것인지를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:265
+#, no-c-format
+msgid ""
+"<literal>dynamic-insert</literal> (optional, defaults to <literal>false</"
+"literal>): Specifies that <literal>INSERT</literal> SQL should be generated "
+"at runtime and contain only the columns whose values are not null."
+msgstr ""
+"<literal>dynamic-insert</literal> (옵션 - 디폴트는 <literal>false</"
+"literal>): 생성될 <literal>INSERT</literal>이 실행 시에 생성되고 그들 컬럼들"
+"의 값이 null이 아닌 컬럼들 만을 포함할 것인지를 지정한다."
 
-#: index.docbook:272
-msgid "<literal>select-before-update</literal> (optional, defaults to <literal>false</literal>): Specifies that Hibernate should <emphasis>never</emphasis> perform an SQL <literal>UPDATE</literal> unless it is certain that an object is actually modified. In certain cases (actually, only when a transient object has been associated with a new session using <literal>update()</literal>), this means that Hibernate will perform an extra SQL <literal>SELECT</literal> to determine if an <literal>UPDATE</literal> is actually required."
-msgstr "<literal>select-before-update</literal> (옵션 - 디폴트는 <literal>false</literal>): 객체가 실제로 변경되는 것이 확실하지 않는 한, Hibernate가 SQL <literal>UPDATE</literal>를 <emphasis>결코</emphasis> 실행하지 않을 것임을 지정한다. 어떤 경우들에서(실제로 transient 객체가 <literal>update()</literal>를 사용하여 새로운 session에 연관되었을 때에만), 이것은 하나의 <literal>UPDATE</literal>가 실제로 필요한 경우인지 여부를 결정하기 위해 Hibernate는 특별한 SQL <literal>SELECT</literal>를 실행할 것임을 의미한다."
+#. Tag: para
+#: basic_mapping.xml:272
+#, no-c-format
+msgid ""
+"<literal>select-before-update</literal> (optional, defaults to "
+"<literal>false</literal>): Specifies that Hibernate should <emphasis>never</"
+"emphasis> perform an SQL <literal>UPDATE</literal> unless it is certain that "
+"an object is actually modified. In certain cases (actually, only when a "
+"transient object has been associated with a new session using <literal>update"
+"()</literal>), this means that Hibernate will perform an extra SQL "
+"<literal>SELECT</literal> to determine if an <literal>UPDATE</literal> is "
+"actually required."
+msgstr ""
+"<literal>select-before-update</literal> (옵션 - 디폴트는 <literal>false</"
+"literal>): 객체가 실제로 변경되는 것이 확실하지 않는 한, Hibernate가 SQL "
+"<literal>UPDATE</literal>를 <emphasis>결코</emphasis> 실행하지 않을 것임을 지"
+"정한다. 어떤 경우들에서(실제로 transient 객체가 <literal>update()</literal>"
+"를 사용하여 새로운 session에 연관되었을 때에만), 이것은 하나의 "
+"<literal>UPDATE</literal>가 실제로 필요한 경우인지 여부를 결정하기 위해 "
+"Hibernate는 특별한 SQL <literal>SELECT</literal>를 실행할 것임을 의미한다."
 
-#: index.docbook:282
-msgid "<literal>polymorphism</literal> (optional, defaults to <literal>implicit</literal>): Determines whether implicit or explicit query polymorphism is used."
-msgstr "<literal>polymorphism</literal> (옵션 - 디폴트는 <literal>implicit</literal>): implicit 질의 다형성이나 explicit 질의 다형성 중 어느 것이 사용될 것인지를 결정한다."
+#. Tag: para
+#: basic_mapping.xml:282
+#, no-c-format
+msgid ""
+"<literal>polymorphism</literal> (optional, defaults to <literal>implicit</"
+"literal>): Determines whether implicit or explicit query polymorphism is "
+"used."
+msgstr ""
+"<literal>polymorphism</literal> (옵션 - 디폴트는 <literal>implicit</"
+"literal>): implicit 질의 다형성이나 explicit 질의 다형성 중 어느 것이 사용될 "
+"것인지를 결정한다."
 
-#: index.docbook:288
-msgid "<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</literal> condition to be used when retrieving objects of this class"
-msgstr "<literal>where</literal> (옵션) 이 클래스의 객체들을 검색할 때 사용될 임의적인 SQL <literal>WHERE</literal> 조건을 지정한다"
+#. Tag: para
+#: basic_mapping.xml:288
+#, no-c-format
+msgid ""
+"<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</"
+"literal> condition to be used when retrieving objects of this class"
+msgstr ""
+"<literal>where</literal> (옵션) 이 클래스의 객체들을 검색할 때 사용될 임의적"
+"인 SQL <literal>WHERE</literal> 조건을 지정한다"
 
-#: index.docbook:294
-msgid "<literal>persister</literal> (optional): Specifies a custom <literal>ClassPersister</literal>."
-msgstr "<literal>persister</literal> (옵션): 맞춤형 <literal>ClassPersister</literal>를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:294
+#, no-c-format
+msgid ""
+"<literal>persister</literal> (optional): Specifies a custom "
+"<literal>ClassPersister</literal>."
+msgstr ""
+"<literal>persister</literal> (옵션): 맞춤형 <literal>ClassPersister</literal>"
+"를 지정한다."
 
-#: index.docbook:299
-msgid "<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) specify a \"batch size\" for fetching instances of this class by identifier."
-msgstr "<literal>batch-size</literal> (옵션 - 디폴트는 <literal>1</literal>) 식별자에 의해 이 클래스의 인스턴스들을 페치시키는 \"배치 사이즈\"를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:299
+#, no-c-format
+msgid ""
+"<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) "
+"specify a \"batch size\" for fetching instances of this class by identifier."
+msgstr ""
+"<literal>batch-size</literal> (옵션 - 디폴트는 <literal>1</literal>) 식별자"
+"에 의해 이 클래스의 인스턴스들을 페치시키는 \"배치 사이즈\"를 지정한다."
 
-#: index.docbook:305
-msgid "<literal>optimistic-lock</literal> (optional, defaults to <literal>version</literal>): Determines the optimistic locking strategy."
-msgstr "<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>version</literal>): optimistic 잠금 방도를 결정한다."
+#. Tag: para
+#: basic_mapping.xml:305
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional, defaults to <literal>version</"
+"literal>): Determines the optimistic locking strategy."
+msgstr ""
+"<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>version</"
+"literal>): optimistic 잠금 방도를 결정한다."
 
-#: index.docbook:311
-msgid "<literal>lazy</literal> (optional): Lazy fetching may be completely disabled by setting <literal>lazy=\"false\"</literal>."
-msgstr "<literal>lazy</literal> (옵션): <literal>lazy=\"false\"</literal>를 설정함으로써 Lazy fetching이 전체적으로 사용불가능하게 될 수 있다."
+#. Tag: para
+#: basic_mapping.xml:311
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional): Lazy fetching may be completely disabled "
+"by setting <literal>lazy=\"false\"</literal>."
+msgstr ""
+"<literal>lazy</literal> (옵션): <literal>lazy=\"false\"</literal>를 설정함으"
+"로써 Lazy fetching이 전체적으로 사용불가능하게 될 수 있다."
 
-#: index.docbook:317
-msgid "<literal>entity-name</literal> (optional, defaults to the class name): Hibernate3 allows a class to be mapped multiple times (to different tables, potentially), and allows entity mappings that are represented by Maps or XML at the Java level. In these cases, you should provide an explicit arbitrary name for the entity. See <xref linkend=\"persistent-classes-dynamicmodels\"/> and <xref linkend=\"xml\"/> for more information."
-msgstr "<literal>entity-name</literal>(옵션, 디폴트는 클래스 이름): Hibernate3는 하나의 클래스가 (잠정적으로 다른 테이블들로) 여러번 매핑되는 것을 허용해주고, Java 레벨에서 Map 또는 XML에 의해 표현 되는 엔티티 매핑들을 허용한다. 이들 경우들에서, 당신은 그 엔티티에 대한 명시적인 임의의 이름을 제공해야 한다. <literal>entity-name</literal> (옵션): Hibernate3는 하나의 클래스가 (잠정적으로 다른 테이블들로) 여러 번 매핑되는 것을 허용하며, 자바 레벨에서 Map들 또는 XML에 의해 표현되는 엔티티 매핑들을 허용한다. 이들 경우들에서, 당신은 그 엔티티들에 대한 명시적인 임의의 이름을 제공해야 한다. 추가 정보는 <xref linkend=\"persistent-classes-dynamicmodels\"/>과 <xref linkend=\"xml\"/>을 보라."
+#. Tag: para
+#: basic_mapping.xml:317
+#, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional, defaults to the class name): "
+"Hibernate3 allows a class to be mapped multiple times (to different tables, "
+"potentially), and allows entity mappings that are represented by Maps or XML "
+"at the Java level. In these cases, you should provide an explicit arbitrary "
+"name for the entity. See <xref linkend=\"persistent-classes-dynamicmodels\"/"
+"> and <xref linkend=\"xml\"/> for more information."
+msgstr ""
+"<literal>entity-name</literal>(옵션, 디폴트는 클래스 이름): Hibernate3는 하나"
+"의 클래스가 (잠정적으로 다른 테이블들로) 여러번 매핑되는 것을 허용해주고, "
+"Java 레벨에서 Map 또는 XML에 의해 표현 되는 엔티티 매핑들을 허용한다. 이들 경"
+"우들에서, 당신은 그 엔티티에 대한 명시적인 임의의 이름을 제공해야 한다. "
+"<literal>entity-name</literal> (옵션): Hibernate3는 하나의 클래스가 (잠정적으"
+"로 다른 테이블들로) 여러 번 매핑되는 것을 허용하며, 자바 레벨에서 Map들 또는 "
+"XML에 의해 표현되는 엔티티 매핑들을 허용한다. 이들 경우들에서, 당신은 그 엔티"
+"티들에 대한 명시적인 임의의 이름을 제공해야 한다. 추가 정보는 <xref linkend="
+"\"persistent-classes-dynamicmodels\"/>과 <xref linkend=\"xml\"/>을 보라."
 
-#: index.docbook:327
-msgid "<literal>check</literal> (optional): A SQL expression used to generate a multi-row <emphasis>check</emphasis> constraint for automatic schema generation."
-msgstr "<literal>check</literal> (옵션): 자동적인 스키마 생성을 위한 다중-행 <emphasis>check</emphasis> constraint를 생성시키는데 사용되는 SQL 표현식."
+#. Tag: para
+#: basic_mapping.xml:327
+#, no-c-format
+msgid ""
+"<literal>check</literal> (optional): A SQL expression used to generate a "
+"multi-row <emphasis>check</emphasis> constraint for automatic schema "
+"generation."
+msgstr ""
+"<literal>check</literal> (옵션): 자동적인 스키마 생성을 위한 다중-행 "
+"<emphasis>check</emphasis> constraint를 생성시키는데 사용되는 SQL 표현식."
 
-#: index.docbook:333
-msgid "<literal>rowid</literal> (optional): Hibernate can use so called ROWIDs on databases which support. E.g. on Oracle, Hibernate can use the <literal>rowid</literal> extra column for fast updates if you set this option to <literal>rowid</literal>. A ROWID is an implementation detail and represents the physical location of a stored tuple."
-msgstr "<literal>rowid</literal> (옵션): Hibernate는 지원되는 데이터베이스들, 예를 들어 Oracle 상에서 이른바 ROWID들을 사용할 수 있고, Hibernate는 당신이 이 옵션을 <literal>rowid</literal>로 설정하는 경우에 빠른 업데이트를 위한 특별한 <literal>rowid</literal> 컬럼을 사용할 수 있다. ROWID는 구현 상세이고 저장된 튜플(tuple)의 물리적이니 위치를 표현한다."
+#. Tag: para
+#: basic_mapping.xml:333
+#, no-c-format
+msgid ""
+"<literal>rowid</literal> (optional): Hibernate can use so called ROWIDs on "
+"databases which support. E.g. on Oracle, Hibernate can use the "
+"<literal>rowid</literal> extra column for fast updates if you set this "
+"option to <literal>rowid</literal>. A ROWID is an implementation detail and "
+"represents the physical location of a stored tuple."
+msgstr ""
+"<literal>rowid</literal> (옵션): Hibernate는 지원되는 데이터베이스들, 예를 들"
+"어 Oracle 상에서 이른바 ROWID들을 사용할 수 있고, Hibernate는 당신이 이 옵션"
+"을 <literal>rowid</literal>로 설정하는 경우에 빠른 업데이트를 위한 특별한 "
+"<literal>rowid</literal> 컬럼을 사용할 수 있다. ROWID는 구현 상세이고 저장된 "
+"튜플(tuple)의 물리적이니 위치를 표현한다."
 
-#: index.docbook:341
-msgid "<literal>subselect</literal> (optional): Maps an immutable and read-only entity to a database subselect. Useful if you want to have a view instead of a base table, but don't. See below for more information."
-msgstr "<literal>subselect</literal> (옵션): 불변의 읽기 전용 엔티티를 데이터베이스 subselect로 매핑시킨다. 당신이 기본 테이블 대신에 뷰를 갖고자 원할 경우에 유용하지만, 사용을 자제하라. 추가 정보는 아래를 보라."
+#. Tag: para
+#: basic_mapping.xml:341
+#, no-c-format
+msgid ""
+"<literal>subselect</literal> (optional): Maps an immutable and read-only "
+"entity to a database subselect. Useful if you want to have a view instead of "
+"a base table, but don't. See below for more information."
+msgstr ""
+"<literal>subselect</literal> (옵션): 불변의 읽기 전용 엔티티를 데이터베이스 "
+"subselect로 매핑시킨다. 당신이 기본 테이블 대신에 뷰를 갖고자 원할 경우에 유"
+"용하지만, 사용을 자제하라. 추가 정보는 아래를 보라."
 
-#: index.docbook:348
-msgid "<literal>abstract</literal> (optional): Used to mark abstract superclasses in <literal>&lt;union-subclass&gt;</literal> hierarchies."
-msgstr "<literal>abstract</literal> (옵션): <literal>&lt;union-subclass&gt;</literal> 계층 구조들 내에서 abstract 슈퍼클래스들을 마크하는데 사용된다."
+#. Tag: para
+#: basic_mapping.xml:348
+#, no-c-format
+msgid ""
+"<literal>abstract</literal> (optional): Used to mark abstract superclasses "
+"in <literal>&lt;union-subclass&gt;</literal> hierarchies."
+msgstr ""
+"<literal>abstract</literal> (옵션): <literal>&lt;union-subclass&gt;</"
+"literal> 계층 구조들 내에서 abstract 슈퍼클래스들을 마크하는데 사용된다."
 
-#: index.docbook:356
-msgid "It is perfectly acceptable for the named persistent class to be an interface. You would then declare implementing classes of that interface using the <literal>&lt;subclass&gt;</literal> element. You may persist any <emphasis>static</emphasis> inner class. You should specify the class name using the standard form ie. <literal>eg.Foo$Bar</literal>."
-msgstr "명명된 영속 클래스가 인터페이스가 되는 것은 완전히 수용가능하다. 그런 다음 당신은 <literal>&lt;subclass&gt;</literal> 요소를 사용하여 그 인터페이스에 대한 구현 클래스들을 선언할 것이다. 당신은 임의의 <emphasis>static</emphasis> inner 클래스를 영속화 시킬 수 있다. 당신은 표준 형식, 예를 들어 <literal>eg.Foo$Bar</literal>를 사용하여 클래스 이름을 지정해야 한다."
+#. Tag: para
+#: basic_mapping.xml:356
+#, no-c-format
+msgid ""
+"It is perfectly acceptable for the named persistent class to be an "
+"interface. You would then declare implementing classes of that interface "
+"using the <literal>&lt;subclass&gt;</literal> element. You may persist any "
+"<emphasis>static</emphasis> inner class. You should specify the class name "
+"using the standard form ie. <literal>eg.Foo$Bar</literal>."
+msgstr ""
+"명명된 영속 클래스가 인터페이스가 되는 것은 완전히 수용가능하다. 그런 다음 당"
+"신은 <literal>&lt;subclass&gt;</literal> 요소를 사용하여 그 인터페이스에 대"
+"한 구현 클래스들을 선언할 것이다. 당신은 임의의 <emphasis>static</emphasis> "
+"inner 클래스를 영속화 시킬 수 있다. 당신은 표준 형식, 예를 들어 <literal>eg."
+"Foo$Bar</literal>를 사용하여 클래스 이름을 지정해야 한다."
 
-#: index.docbook:363
-msgid "Immutable classes, <literal>mutable=\"false\"</literal>, may not be updated or deleted by the application. This allows Hibernate to make some minor performance optimizations."
-msgstr "불변의 클래스, <literal>mutable=\"false\"</literal>는 어플리케이션에 의해 업데이트되지 않을 것이거나 삭제되지 않을 것이다. 이것은 Hibernate로 하여금 어떤 마이너 퍼포먼스 최적화를 행하게끔 허용해준다."
+#. Tag: para
+#: basic_mapping.xml:363
+#, no-c-format
+msgid ""
+"Immutable classes, <literal>mutable=\"false\"</literal>, may not be updated "
+"or deleted by the application. This allows Hibernate to make some minor "
+"performance optimizations."
+msgstr ""
+"불변의 클래스, <literal>mutable=\"false\"</literal>는 어플리케이션에 의해 업"
+"데이트되지 않을 것이거나 삭제되지 않을 것이다. 이것은 Hibernate로 하여금 어"
+"떤 마이너 퍼포먼스 최적화를 행하게끔 허용해준다."
 
-#: index.docbook:368
-msgid "The optional <literal>proxy</literal> attribute enables lazy initialization of persistent instances of the class. Hibernate will initially return CGLIB proxies which implement the named interface. The actual persistent object will be loaded when a method of the proxy is invoked. See \"Initializing collections and proxies\" below."
-msgstr "선택적인 <literal>proxy</literal> 속성은 그 클래스의 영속 인스턴스들에 대한 lazy 초기화를 가능하게 해준다. Hibernate는 명명된 인터페이스를 구현하는 CGLIB 프락시들을 초기에 반환할 것이다. 실제 영속 객체는 프락시의 메소드가 호출될 때 로드될 것이다. 아래 \"Lazy 초기화를 위한 프락시들\"을 보라."
+#. Tag: para
+#: basic_mapping.xml:368
+#, no-c-format
+msgid ""
+"The optional <literal>proxy</literal> attribute enables lazy initialization "
+"of persistent instances of the class. Hibernate will initially return CGLIB "
+"proxies which implement the named interface. The actual persistent object "
+"will be loaded when a method of the proxy is invoked. See \"Initializing "
+"collections and proxies\" below."
+msgstr ""
+"선택적인 <literal>proxy</literal> 속성은 그 클래스의 영속 인스턴스들에 대한 "
+"lazy 초기화를 가능하게 해준다. Hibernate는 명명된 인터페이스를 구현하는 "
+"CGLIB 프락시들을 초기에 반환할 것이다. 실제 영속 객체는 프락시의 메소드가 호"
+"출될 때 로드될 것이다. 아래 \"Lazy 초기화를 위한 프락시들\"을 보라."
 
-#: index.docbook:375
-msgid "<emphasis>Implicit</emphasis> polymorphism means that instances of the class will be returned by a query that names any superclass or implemented interface or the class and that instances of any subclass of the class will be returned by a query that names the class itself. <emphasis>Explicit</emphasis> polymorphism means that class instances will be returned only by queries that explicitly name that class and that queries that name the class will return only instances of subclasses mapped inside this <literal>&lt;class&gt;</literal> declaration as a <literal>&lt;subclass&gt;</literal> or <literal>&lt;joined-subclass&gt;</literal>. For most purposes the default, <literal>polymorphism=\"implicit\"</literal>, is appropriate. Explicit polymorphism is useful when two different classes are mapped to the same table (this allows a \"lightweight\" class that contains a subset of the table columns)."
-msgstr "<emphasis>Implicit</emphasis> 다형성은 클래스의 인스턴스들이 ì–´ë–¤ 서브클래스나 구현된 인터페이스 또는 클래스를 명명하는 질의에 의해 반환될 것임을 의미하고 ê·¸ 클래스의 ì–´ë–¤ 서브클래스에 대한 인스턴스들이 ê·¸ 클래스 자체를 명명하는 질의에 의해 반환될 것임을 의미한다. <emphasis>Explicit</emphasis> 다형성은 클래스 인스턴스들이 ê·¸ 클래스를 명시적으로 명명하는 질의들에 의해서만 반환될 것임을 의미고 ê·¸ 클래스를 명명하는 질의들이 이 <literal>&lt;class&gt;</literal> ì„ ì–¸ 내부에서 <literal>&lt;subclass&gt;</literal> 또는 <literal>&lt;joined-subclass&gt;</literal>ë¡œ 매핑된 서브 클래스들의 인스턴스들 만을 반환하게 될 것임을 의미한다. 대부분의 용도로, 디폴트인 <literal>polymorphism=\"implicit\"</literal>ê°€ 적절하다.두 개의 다른 클래스들이 동일한 테이블ë¡!
 œ 매핑될 ë•Œ Explicit 다형성이 유용하다(이것은 테이블 컬럼들의 서브셋을 포함하는 \"경량급\" 클래스를 허용한다)."
+#. Tag: para
+#: basic_mapping.xml:375
+#, no-c-format
+msgid ""
+"<emphasis>Implicit</emphasis> polymorphism means that instances of the class "
+"will be returned by a query that names any superclass or implemented "
+"interface or the class and that instances of any subclass of the class will "
+"be returned by a query that names the class itself. <emphasis>Explicit</"
+"emphasis> polymorphism means that class instances will be returned only by "
+"queries that explicitly name that class and that queries that name the class "
+"will return only instances of subclasses mapped inside this <literal>&lt;"
+"class&gt;</literal> declaration as a <literal>&lt;subclass&gt;</literal> or "
+"<literal>&lt;joined-subclass&gt;</literal>. For most purposes the default, "
+"<literal>polymorphism=\"implicit\"</literal>, is appropriate. Explicit "
+"polymorphism is useful when two different classes are mapped to the same "
+"table (this allows a \"lightweight\" class that contains a subset of the "
+"table columns)."
+msgstr ""
+"<emphasis>Implicit</emphasis> 다형성은 클래스의 인스턴스들이 어떤 서브클래스"
+"나 구현된 인터페이스 또는 클래스를 명명하는 질의에 의해 반환될 것임을 의미하"
+"고 그 클래스의 어떤 서브클래스에 대한 인스턴스들이 그 클래스 자체를 명명하는 "
+"질의에 의해 반환될 것임을 의미한다. <emphasis>Explicit</emphasis> 다형성은 클"
+"래스 인스턴스들이 그 클래스를 명시적으로 명명하는 질의들에 의해서만 반환될 것"
+"임을 의미고 그 클래스를 명명하는 질의들이 이 <literal>&lt;class&gt;</"
+"literal> 선언 내부에서 <literal>&lt;subclass&gt;</literal> 또는 <literal>&lt;"
+"joined-subclass&gt;</literal>로 매핑된 서브 클래스들의 인스턴스들 만을 반환하"
+"게 될 것임을 의미한다. 대부분의 용도로, 디폴트인 <literal>polymorphism="
+"\"implicit\"</literal>가 적절하다.두 개의 다른 클래스들이 동일한 테이블로 매"
+"핑될 때 Explicit 다형성이 유용하다(이것은 테이블 컬럼들의 서브셋을 포함하는 "
+"\"경량급\" 클래스를 허용한다)."
 
-#: index.docbook:387
-msgid "The <literal>persister</literal> attribute lets you customize the persistence strategy used for the class. You may, for example, specify your own subclass of <literal>org.hibernate.persister.EntityPersister</literal> or you might even provide a completely new implementation of the interface <literal>org.hibernate.persister.ClassPersister</literal> that implements persistence via, for example, stored procedure calls, serialization to flat files or LDAP. See <literal>org.hibernate.test.CustomPersister</literal> for a simple example (of \"persistence\" to a <literal>Hashtable</literal>)."
-msgstr "<literal>persister</literal> 속성은 클래스에 사용되는 영속화 방도를 당신이 커스트마이징 할 수 있도록 해준다. 예를 들어 당신은 <literal>org.hibernate.persister.EntityPersister</literal>에 대한 당신 자신의 서브클래스를 지정할 수도 있거나 당신은 심지어 예를 들어 플랫 파일들이나 LDAP로의 직렬화,내장 프로시저 호출들을 통해 영속화를 구현하는 인터페이스 <literal>org.hibernate.persister.ClassPersister</literal>에 대한 완전히 새로운 구현을 제공할 수도 있다. (<literal>Hashtable</literal>로의 \"영속성\"에 관한) 간단한 예제는 <literal>org.hibernate.test.CustomPersister</literal>를 보라."
+#. Tag: para
+#: basic_mapping.xml:387
+#, no-c-format
+msgid ""
+"The <literal>persister</literal> attribute lets you customize the "
+"persistence strategy used for the class. You may, for example, specify your "
+"own subclass of <literal>org.hibernate.persister.EntityPersister</literal> "
+"or you might even provide a completely new implementation of the interface "
+"<literal>org.hibernate.persister.ClassPersister</literal> that implements "
+"persistence via, for example, stored procedure calls, serialization to flat "
+"files or LDAP. See <literal>org.hibernate.test.CustomPersister</literal> for "
+"a simple example (of \"persistence\" to a <literal>Hashtable</literal>)."
+msgstr ""
+"<literal>persister</literal> 속성은 클래스에 사용되는 영속화 방도를 당신이 커"
+"스트마이징 할 수 있도록 해준다. 예를 들어 당신은 <literal>org.hibernate."
+"persister.EntityPersister</literal>에 대한 당신 자신의 서브클래스를 지정할 수"
+"도 있거나 당신은 심지어 예를 들어 플랫 파일들이나 LDAP로의 직렬화,내장 프로시"
+"저 호출들을 통해 영속화를 구현하는 인터페이스 <literal>org.hibernate."
+"persister.ClassPersister</literal>에 대한 완전히 새로운 구현을 제공할 수도 있"
+"다. (<literal>Hashtable</literal>로의 \"영속성\"에 관한) 간단한 예제는 "
+"<literal>org.hibernate.test.CustomPersister</literal>를 보라."
 
-#: index.docbook:398
-msgid "Note that the <literal>dynamic-update</literal> and <literal>dynamic-insert</literal> settings are not inherited by subclasses and so may also be specified on the <literal>&lt;subclass&gt;</literal> or <literal>&lt;joined-subclass&gt;</literal> elements. These settings may increase performance in some cases, but might actually decrease performance in others. Use judiciously."
-msgstr "<literal>dynamic-update</literal> 설정과 <literal>dynamic-insert</literal> 설정은 서브클래스들에 의해 상속되지 않고 따라서 또한 <literal>&lt;subclass&gt;</literal> 또는 <literal>&lt;joined-subclass&gt;</literal> 요소들 상에 지정될 수도 있음을 노트하라. 이들 설정들은 몇몇 경우들에서 퍼포먼스를 증가시키지만 다른 경우들에서는 퍼포먼스를 실제로 감소시킬 수도 있다. 적절하게 사용하라."
+#. Tag: para
+#: basic_mapping.xml:398
+#, no-c-format
+msgid ""
+"Note that the <literal>dynamic-update</literal> and <literal>dynamic-insert</"
+"literal> settings are not inherited by subclasses and so may also be "
+"specified on the <literal>&lt;subclass&gt;</literal> or <literal>&lt;joined-"
+"subclass&gt;</literal> elements. These settings may increase performance in "
+"some cases, but might actually decrease performance in others. Use "
+"judiciously."
+msgstr ""
+"<literal>dynamic-update</literal> 설정과 <literal>dynamic-insert</literal> 설"
+"정은 서브클래스들에 의해 상속되지 않고 따라서 또한 <literal>&lt;subclass&gt;"
+"</literal> 또는 <literal>&lt;joined-subclass&gt;</literal> 요소들 상에 지정"
+"될 수도 있음을 노트하라. 이들 설정들은 몇몇 경우들에서 퍼포먼스를 증가시키지"
+"만 다른 경우들에서는 퍼포먼스를 실제로 감소시킬 수도 있다. 적절하게 사용하라."
 
-#: index.docbook:406
-msgid "Use of <literal>select-before-update</literal> will usually decrease performance. It is very useful to prevent a database update trigger being called unnecessarily if you reattach a graph of detached instances to a <literal>Session</literal>."
-msgstr "<literal>select-before-update</literal> 사용은 대개 퍼포먼스를 감소시킬 것이다. 당신이 detached 인스턴스들의 그래프를 <literal>Session</literal>에 다시 첨부할 경우에 그것은 데이터베이스 업데이트 트리거가 불필요하게 호출되는 것을 방지하는데 매우 유용하다."
+#. Tag: para
+#: basic_mapping.xml:406
+#, no-c-format
+msgid ""
+"Use of <literal>select-before-update</literal> will usually decrease "
+"performance. It is very useful to prevent a database update trigger being "
+"called unnecessarily if you reattach a graph of detached instances to a "
+"<literal>Session</literal>."
+msgstr ""
+"<literal>select-before-update</literal> 사용은 대개 퍼포먼스를 감소시킬 것이"
+"다. 당신이 detached 인스턴스들의 그래프를 <literal>Session</literal>에 다시 "
+"첨부할 경우에 그것은 데이터베이스 업데이트 트리거가 불필요하게 호출되는 것을 "
+"방지하는데 매우 유용하다."
 
-#: index.docbook:412
-msgid "If you enable <literal>dynamic-update</literal>, you will have a choice of optimistic locking strategies:"
-msgstr "<literal>dynamic-update</literal>를 사용가능하게 할 경우, 당신은 다음 optimistic 잠금 전략들을 선택하게 될 것이다:"
+#. Tag: para
+#: basic_mapping.xml:412
+#, no-c-format
+msgid ""
+"If you enable <literal>dynamic-update</literal>, you will have a choice of "
+"optimistic locking strategies:"
+msgstr ""
+"<literal>dynamic-update</literal>를 사용가능하게 할 경우, 당신은 다음 "
+"optimistic 잠금 전략들을 선택하게 될 것이다:"
 
-#: index.docbook:418
+#. Tag: para
+#: basic_mapping.xml:418
+#, no-c-format
 msgid "<literal>version</literal> check the version/timestamp columns"
 msgstr "<literal>version</literal>은 version/timestamp 컬럼들을 체크한다"
 
-#: index.docbook:423
+#. Tag: para
+#: basic_mapping.xml:423
+#, no-c-format
 msgid "<literal>all</literal> check all columns"
 msgstr "<literal>all</literal>은 모든 컬럼들을 체크한다"
 
-#: index.docbook:428
-msgid "<literal>dirty</literal> check the changed columns, allowing some concurrent updates"
-msgstr "<literal>dirty</literal>는 몇몇 동시성 업데이트들을 허용하여, 변경된 컬럼들을 체크한다"
+#. Tag: para
+#: basic_mapping.xml:428
+#, no-c-format
+msgid ""
+"<literal>dirty</literal> check the changed columns, allowing some concurrent "
+"updates"
+msgstr ""
+"<literal>dirty</literal>는 몇몇 동시성 업데이트들을 허용하여, 변경된 컬럼들"
+"을 체크한다"
 
-#: index.docbook:433
+#. Tag: para
+#: basic_mapping.xml:433
+#, no-c-format
 msgid "<literal>none</literal> do not use optimistic locking"
 msgstr "<literal>none</literal>은 optimistic 잠금을 사용하지 않는다"
 
-#: index.docbook:438
-msgid "We <emphasis>very</emphasis> strongly recommend that you use version/timestamp columns for optimistic locking with Hibernate. This is the optimal strategy with respect to performance and is the only strategy that correctly handles modifications made to detached instances (ie. when <literal>Session.merge()</literal> is used)."
-msgstr "우리는 당신이 Hibernate에서 optimistic 잠금을 위해 version/timestamp 컬럼들을 사용할 것을 <emphasis>매우</emphasis> 강력하게 권장한다. 이것은 퍼포먼스에 대해 최적의 방도이고 detached 인스턴스들에 대해 행해진 변경들을 정확하게 핸들링하는 유일한 방도이다(예를 들어 <literal>Session.merge()</literal>가 사용될 때)."
+#. Tag: para
+#: basic_mapping.xml:438
+#, no-c-format
+msgid ""
+"We <emphasis>very</emphasis> strongly recommend that you use version/"
+"timestamp columns for optimistic locking with Hibernate. This is the optimal "
+"strategy with respect to performance and is the only strategy that correctly "
+"handles modifications made to detached instances (ie. when <literal>Session."
+"merge()</literal> is used)."
+msgstr ""
+"우리는 당신이 Hibernate에서 optimistic 잠금을 위해 version/timestamp 컬럼들"
+"을 사용할 것을 <emphasis>매우</emphasis> 강력하게 권장한다. 이것은 퍼포먼스"
+"에 대해 최적의 방도이고 detached 인스턴스들에 대해 행해진 변경들을 정확하게 "
+"핸들링하는 유일한 방도이다(예를 들어 <literal>Session.merge()</literal>가 사"
+"용될 때)."
 
-#: index.docbook:445
-msgid "There is no difference between a view and a base table for a Hibernate mapping, as expected this is transparent at the database level (note that some DBMS don't support views properly, especially with updates). Sometimes you want to use a view, but can't create one in the database (ie. with a legacy schema). In this case, you can map an immutable and read-only entity to a given SQL subselect expression:"
-msgstr "Hibernate 매핑의 경우에 베이스 테이블과 뷰 사이에 차이점이 존재하지 않는다. 왜냐하면 이것이 데이터베이스 레벨에서는 투명하다고 기대되기 때문이다(몇몇 DBMS는 뷰를 고유하게 지원하지 않고 특히 뷰 업데이트를 지원하지 않음을 노트하라). 때때로 당신이 뷰를 사용하고자 원하지만, (예를 들어 리거시 스키마로) 데이터베이스 속에 뷰를 생성시킬 수 없다. 이 경우에, 당신은 불변의 읽기 전용 엔티티를 주어진 SQL subselect 표현식으로 매핑시킬 수 있다:"
+#. Tag: para
+#: basic_mapping.xml:445
+#, no-c-format
+msgid ""
+"There is no difference between a view and a base table for a Hibernate "
+"mapping, as expected this is transparent at the database level (note that "
+"some DBMS don't support views properly, especially with updates). Sometimes "
+"you want to use a view, but can't create one in the database (ie. with a "
+"legacy schema). In this case, you can map an immutable and read-only entity "
+"to a given SQL subselect expression:"
+msgstr ""
+"Hibernate 매핑의 경우에 베이스 테이블과 뷰 사이에 차이점이 존재하지 않는다. "
+"왜냐하면 이것이 데이터베이스 레벨에서는 투명하다고 기대되기 때문이다(몇몇 "
+"DBMS는 뷰를 고유하게 지원하지 않고 특히 뷰 업데이트를 지원하지 않음을 노트하"
+"라). 때때로 당신이 뷰를 사용하고자 원하지만, (예를 들어 리거시 스키마로) 데이"
+"터베이스 속에 뷰를 생성시킬 수 없다. 이 경우에, 당신은 불변의 읽기 전용 엔티"
+"티를 주어진 SQL subselect 표현식으로 매핑시킬 수 있다:"
 
-#: index.docbook:453
+#. Tag: programlisting
+#: basic_mapping.xml:453
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Summary\">\n"
-      "    <subselect>\n"
-      "        select item.name, max(bid.amount), count(*)\n"
-      "        from item\n"
-      "        join bid on bid.item_id = item.id\n"
-      "        group by item.name\n"
-      "    </subselect>\n"
-      "    <synchronize table=\"item\"/>\n"
-      "    <synchronize table=\"bid\"/>\n"
-      "    <id name=\"name\"/>\n"
-      "    ...\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Summary\">\n"
+"    <subselect>\n"
+"        select item.name, max(bid.amount), count(*)\n"
+"        from item\n"
+"        join bid on bid.item_id = item.id\n"
+"        group by item.name\n"
+"    </subselect>\n"
+"    <synchronize table=\"item\"/>\n"
+"    <synchronize table=\"bid\"/>\n"
+"    <id name=\"name\"/>\n"
+"    ...\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Summary\">\n"
-      "    <subselect>\n"
-      "        select item.name, max(bid.amount), count(*)\n"
-      "        from item\n"
-      "        join bid on bid.item_id = item.id\n"
-      "        group by item.name\n"
-      "    </subselect>\n"
-      "    <synchronize table=\"item\"/>\n"
-      "    <synchronize table=\"bid\"/>\n"
-      "    <id name=\"name\"/>\n"
-      "    ...\n"
-      "</class>]]>"
 
-#: index.docbook:455
-msgid "Declare the tables to synchronize this entity with, ensuring that auto-flush happens correctly, and that queries against the derived entity do not return stale data. The <literal>&lt;subselect&gt;</literal> is available as both as an attribute and a nested mapping element."
-msgstr "auto-flush가 정확하게 발생하도록 하고, 그리고 파생된 엔티티에 대한 질의들이 쓸효성 없는 데이터를 반환하지 않도록 함으로써, 이 엔티티와 동기화 될 테이블을 선언하라. <literal>&lt;subselect&gt;</literal>는 속성과 내포된 매핑 요소 양자로서 이용 가능하다."
+#. Tag: para
+#: basic_mapping.xml:455
+#, no-c-format
+msgid ""
+"Declare the tables to synchronize this entity with, ensuring that auto-flush "
+"happens correctly, and that queries against the derived entity do not return "
+"stale data. The <literal>&lt;subselect&gt;</literal> is available as both as "
+"an attribute and a nested mapping element."
+msgstr ""
+"auto-flush가 정확하게 발생하도록 하고, 그리고 파생된 엔티티에 대한 질의들이 "
+"쓸효성 없는 데이터를 반환하지 않도록 함으로써, 이 엔티티와 동기화 될 테이블"
+"을 선언하라. <literal>&lt;subselect&gt;</literal>는 속성과 내포된 매핑 요소 "
+"양자로서 이용 가능하다."
 
-#: index.docbook:465
+#. Tag: title
+#: basic_mapping.xml:465
+#, no-c-format
 msgid "<title>id</title>"
-msgstr "<title>id</title>"
+msgstr ""
 
-#: index.docbook:467
-msgid "Mapped classes <emphasis>must</emphasis> declare the primary key column of the database table. Most classes will also have a JavaBeans-style property holding the unique identifier of an instance. The <literal>&lt;id&gt;</literal> element defines the mapping from that property to the primary key column."
-msgstr "매핑된 클래스들은 데이터베이스 테이블의 프라이머리 키 컬럼을 선언<emphasis>해야 한다</emphasis>. 대부분의 클래스들은 또한 인스턴스의 유일 식별자를 소유하는 자바빈즈-스타일 프로퍼티를 가질 것이다. <literal>&lt;id&gt;</literal> 요소는 그 프로퍼티로부터 프라이머리 키 컬럼으로의 매핑을 정의한다."
+#. Tag: para
+#: basic_mapping.xml:467
+#, no-c-format
+msgid ""
+"Mapped classes <emphasis>must</emphasis> declare the primary key column of "
+"the database table. Most classes will also have a JavaBeans-style property "
+"holding the unique identifier of an instance. The <literal>&lt;id&gt;</"
+"literal> element defines the mapping from that property to the primary key "
+"column."
+msgstr ""
+"매핑된 클래스들은 데이터베이스 테이블의 프라이머리 키 컬럼을 선언<emphasis>해"
+"야 한다</emphasis>. 대부분의 클래스들은 또한 인스턴스의 유일 식별자를 소유하"
+"는 자바빈즈-스타일 프로퍼티를 가질 것이다. <literal>&lt;id&gt;</literal> 요소"
+"는 그 프로퍼티로부터 프라이머리 키 컬럼으로의 매핑을 정의한다."
 
-#: index.docbook:482
+#. Tag: programlisting
+#: basic_mapping.xml:482
+#, no-c-format
 msgid ""
-      "<![CDATA[<id\n"
-      "        name=\"propertyName\"\n"
-      "        type=\"typename\"\n"
-      "        column=\"column_name\"\n"
-      "        unsaved-value=\"null|any|none|undefined|id_value\"\n"
-      "        access=\"field|property|ClassName\">\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "\n"
-      "        <generator class=\"generatorClass\"/>\n"
-      "</id>]]>"
+"<![CDATA[<id\n"
+"        name=\"propertyName\"\n"
+"        type=\"typename\"\n"
+"        column=\"column_name\"\n"
+"        unsaved-value=\"null|any|none|undefined|id_value\"\n"
+"        access=\"field|property|ClassName\">\n"
+"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
+"\n"
+"        <generator class=\"generatorClass\"/>\n"
+"</id>]]>"
 msgstr ""
-      "<![CDATA[<id\n"
-      "        name=\"propertyName\"\n"
-      "        type=\"typename\"\n"
-      "        column=\"column_name\"\n"
-      "        unsaved-value=\"null|any|none|undefined|id_value\"\n"
-      "        access=\"field|property|ClassName\">\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "\n"
-      "        <generator class=\"generatorClass\"/>\n"
-      "</id>]]>"
 
-#: index.docbook:485
-msgid "<literal>name</literal> (optional): The name of the identifier property."
+#. Tag: para
+#: basic_mapping.xml:485
+#, no-c-format
+msgid ""
+"<literal>name</literal> (optional): The name of the identifier property."
 msgstr "<literal>name</literal> (옵션): 식별자 프로퍼티의 이름."
 
-#: index.docbook:490
-msgid "<literal>type</literal> (optional): A name that indicates the Hibernate type."
+#. Tag: para
+#: basic_mapping.xml:490
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional): A name that indicates the Hibernate type."
 msgstr "<literal>type</literal> (옵션): Hibernate 타입을 나타내는 이름."
 
-#: index.docbook:495
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of the primary key column."
-msgstr "<literal>column</literal> (옵션 - 디폴트는 프로퍼티 이름): 프라이머리 키 컬럼의 이름."
+#. Tag: para
+#: basic_mapping.xml:495
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of the primary key column."
+msgstr ""
+"<literal>column</literal> (옵션 - 디폴트는 프로퍼티 이름): 프라이머리 키 컬럼"
+"의 이름."
 
-#: index.docbook:501
-msgid "<literal>unsaved-value</literal> (optional - defaults to a \"sensible\" value): An identifier property value that indicates that an instance is newly instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session."
-msgstr "<literal>unsaved-value</literal> (옵션 - 디폴트는 \"sensible\" 값): 이전 세션에서 저장되었거나 로드되었던 detached(분리된) 인스턴스들로부터 그것을 구분지우도록, 인스턴스가 새로이 초기화되어 있음(저장되어 있지 않음)을 나타내는 식별자 프로퍼티 값."
+#. Tag: para
+#: basic_mapping.xml:501
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to a \"sensible\" "
+"value): An identifier property value that indicates that an instance is "
+"newly instantiated (unsaved), distinguishing it from detached instances that "
+"were saved or loaded in a previous session."
+msgstr ""
+"<literal>unsaved-value</literal> (옵션 - 디폴트는 \"sensible\" 값): 이전 세션"
+"에서 저장되었거나 로드되었던 detached(분리된) 인스턴스들로부터 그것을 구분지"
+"우도록, 인스턴스가 새로이 초기화되어 있음(저장되어 있지 않음)을 나타내는 식별"
+"자 프로퍼티 값."
 
-#: index.docbook:509, index.docbook:1017, index.docbook:1156, index.docbook:1238, index.docbook:1345, index.docbook:1534, index.docbook:1708, index.docbook:1878, index.docbook:2457
-msgid "<literal>access</literal> (optional - defaults to <literal>property</literal>): The strategy Hibernate should use for accessing the property value."
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 액세스하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:509 basic_mapping.xml:1017 basic_mapping.xml:1156
+#: basic_mapping.xml:1238 basic_mapping.xml:1345 basic_mapping.xml:1534
+#: basic_mapping.xml:1708 basic_mapping.xml:1878 basic_mapping.xml:2457
+#, fuzzy, no-c-format
+msgid ""
+"<literal>access</literal> (optional - defaults to <literal>property</"
+"literal>): The strategy Hibernate should use for accessing the property "
+"value."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 액세스하는데 사용할 방도.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 접근하는데 사용할 방도.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 액세스하는데 사용할 방도.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 접근하는데 사용할 방도.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 접근하는데 사용할 방도.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 접근하는데 사용할 방도.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 접근 하는데 사용할 방도.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 액세스하는데 사용할 방도.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 프로퍼티 값에 접근하는데 사용할 방도."
 
-#: index.docbook:517
-msgid "If the <literal>name</literal> attribute is missing, it is assumed that the class has no identifier property."
-msgstr "<literal>name</literal> 속성이 누락되면, 클래스는 식별자 프로퍼티를 갖지 않는다고 가정된다."
+#. Tag: para
+#: basic_mapping.xml:517
+#, no-c-format
+msgid ""
+"If the <literal>name</literal> attribute is missing, it is assumed that the "
+"class has no identifier property."
+msgstr ""
+"<literal>name</literal> 속성이 누락되면, 클래스는 식별자 프로퍼티를 갖지 않는"
+"다고 가정된다."
 
-#: index.docbook:522
-msgid "The <literal>unsaved-value</literal> attribute is almost never needed in Hibernate3."
-msgstr "<literal>unsaved-value</literal> 속성은 Hibernate3에서는 거의 필요하지 않다."
+#. Tag: para
+#: basic_mapping.xml:522
+#, no-c-format
+msgid ""
+"The <literal>unsaved-value</literal> attribute is almost never needed in "
+"Hibernate3."
+msgstr ""
+"<literal>unsaved-value</literal> 속성은 Hibernate3에서는 거의 필요하지 않다."
 
-#: index.docbook:526
-msgid "There is an alternative <literal>&lt;composite-id&gt;</literal> declaration to allow access to legacy data with composite keys. We strongly discourage its use for anything else."
-msgstr "composite 키들로서 리거시 데이터에 액세스하는 것을 허용해주는 대체적인 <literal>&lt;composite-id&gt;</literal> 선언이 존재한다. 우리는 그 밖의 어떤것에 대한 그것의 사용에 대해 강력하게 반대한다."
+#. Tag: para
+#: basic_mapping.xml:526
+#, no-c-format
+msgid ""
+"There is an alternative <literal>&lt;composite-id&gt;</literal> declaration "
+"to allow access to legacy data with composite keys. We strongly discourage "
+"its use for anything else."
+msgstr ""
+"composite 키들로서 리거시 데이터에 액세스하는 것을 허용해주는 대체적인 "
+"<literal>&lt;composite-id&gt;</literal> 선언이 존재한다. 우리는 그 밖의 어떤"
+"것에 대한 그것의 사용에 대해 강력하게 반대한다."
 
-#: index.docbook:532
+#. Tag: title
+#: basic_mapping.xml:532
+#, no-c-format
 msgid "Generator"
 msgstr "Generator"
 
-#: index.docbook:534
-msgid "The optional <literal>&lt;generator&gt;</literal> child element names a Java class used to generate unique identifiers for instances of the persistent class. If any parameters are required to configure or initialize the generator instance, they are passed using the <literal>&lt;param&gt;</literal> element."
-msgstr "선택적인 <literal>&lt;generator&gt;</literal> 자식 요소는 영속 클래스의 인스턴스들에 대한 유일 식별자들을 생성시키는데 사용되는 자바 클래스를 명명한다. 만일 임의의 파라미터들이 생성기 인스턴스를 구성하거나 초기화 시키는데 필요할 경우, 그것들은 <literal>&lt;param&gt;</literal> 요소 를 사용하여 전달된다."
+#. Tag: para
+#: basic_mapping.xml:534
+#, no-c-format
+msgid ""
+"The optional <literal>&lt;generator&gt;</literal> child element names a Java "
+"class used to generate unique identifiers for instances of the persistent "
+"class. If any parameters are required to configure or initialize the "
+"generator instance, they are passed using the <literal>&lt;param&gt;</"
+"literal> element."
+msgstr ""
+"선택적인 <literal>&lt;generator&gt;</literal> 자식 요소는 영속 클래스의 인스"
+"턴스들에 대한 유일 식별자들을 생성시키는데 사용되는 자바 클래스를 명명한다. "
+"만일 임의의 파라미터들이 생성기 인스턴스를 구성하거나 초기화 시키는데 필요할 "
+"경우, 그것들은 <literal>&lt;param&gt;</literal> 요소 를 사용하여 전달된다."
 
-#: index.docbook:541
+#. Tag: programlisting
+#: basic_mapping.xml:541
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
-      "                <param name=\"table\">uid_table</param>\n"
-      "                <param name=\"column\">next_hi_value_column</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+"        <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
+"                <param name=\"table\">uid_table</param>\n"
+"                <param name=\"column\">next_hi_value_column</param>\n"
+"        </generator>\n"
+"</id>]]>"
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
-      "                <param name=\"table\">uid_table</param>\n"
-      "                <param name=\"column\">next_hi_value_column</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
 
-#: index.docbook:543
-msgid "All generators implement the interface <literal>org.hibernate.id.IdentifierGenerator</literal>. This is a very simple interface; some applications may choose to provide their own specialized implementations. However, Hibernate provides a range of built-in implementations. There are shortcut names for the built-in generators:"
-msgstr "모든 생성기들은 <literal>org.hibernate.id.IdentifierGenerator</literal> 인터페이스를 구현한다. 이것은 매우 간단한 인터페이스이다; 몇몇 어플리케이션들은 그것들 자신의 특화된 구현들을 제공하도록 선택할 수 있다. 하지만 Hibernate는 미리 빈드된 구현들의 영역들을 제공한다. 빌드-인 생성기(generator)들에 대한 단축 이름들이 존재한다:"
+#. Tag: para
+#: basic_mapping.xml:543
+#, fuzzy, no-c-format
+msgid ""
+"All generators implement the interface <literal>org.hibernate.id."
+"IdentifierGenerator</literal>. This is a very simple interface; some "
+"applications may choose to provide their own specialized implementations. "
+"However, Hibernate provides a range of built-in implementations. There are "
+"shortcut names for the built-in generators:"
+msgstr ""
+"모든 생성기들은 <literal>org.hibernate.id.IdentifierGenerator</literal> 인터"
+"페이스를 구현한다. 이것은 매우 간단한 인터페이스이다; 몇몇 어플리케이션들은 "
+"그것들 자신의 특화된 구현들을 제공하도록 선택할 수 있다. 하지만 Hibernate는 "
+"미리 빈드된 구현들의 영역들을 제공한다. 빌드-인 생성기(generator)들에 대한 단"
+"축 이름들이 존재한다: <placeholder-1/>"
 
-#: index.docbook:551
+#. Tag: literal
+#: basic_mapping.xml:551
+#, no-c-format
 msgid "increment"
 msgstr "increment"
 
-#: index.docbook:553
-msgid "generates identifiers of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal> that are unique only when no other process is inserting data into the same table. <emphasis>Do not use in a cluster.</emphasis>"
-msgstr "동일한 테이블 속으로 데이터를 입력하는 다른 프로세스가 없을 때에만 유일한 <literal>long</literal>, <literal>short</literal> 또는 <literal>int</literal> 타입의 식별자들을 생성시킨다. <emphasis>클러스터 내에서는 사용하지 말라.</emphasis>"
+#. Tag: para
+#: basic_mapping.xml:553
+#, no-c-format
+msgid ""
+"generates identifiers of type <literal>long</literal>, <literal>short</"
+"literal> or <literal>int</literal> that are unique only when no other "
+"process is inserting data into the same table. <emphasis>Do not use in a "
+"cluster.</emphasis>"
+msgstr ""
+"동일한 테이블 속으로 데이터를 입력하는 다른 프로세스가 없을 때에만 유일한 "
+"<literal>long</literal>, <literal>short</literal> 또는 <literal>int</"
+"literal> 타입의 식별자들을 생성시킨다. <emphasis>클러스터 내에서는 사용하지 "
+"말라.</emphasis>"
 
-#: index.docbook:562
+#. Tag: literal
+#: basic_mapping.xml:562
+#, no-c-format
 msgid "identity"
 msgstr "identity"
 
-#: index.docbook:564
-msgid "supports identity columns in DB2, MySQL, MS SQL Server, Sybase and HypersonicSQL. The returned identifier is of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal>."
-msgstr "DB2, MySQL, MS SQL Server, Sybase, HypersonicSQL에서 식별 컬럼들을 지원한다. 반환되는 식별자는 <literal>long</literal>, <literal>short</literal> 또는 <literal>int</literal> 타입이다."
+#. Tag: para
+#: basic_mapping.xml:564
+#, no-c-format
+msgid ""
+"supports identity columns in DB2, MySQL, MS SQL Server, Sybase and "
+"HypersonicSQL. The returned identifier is of type <literal>long</literal>, "
+"<literal>short</literal> or <literal>int</literal>."
+msgstr ""
+"DB2, MySQL, MS SQL Server, Sybase, HypersonicSQL에서 식별 컬럼들을 지원한다. "
+"반환되는 식별자는 <literal>long</literal>, <literal>short</literal> 또는 "
+"<literal>int</literal> 타입이다."
 
-#: index.docbook:572
+#. Tag: literal
+#: basic_mapping.xml:572
+#, no-c-format
 msgid "sequence"
 msgstr "sequence"
 
-#: index.docbook:574
-msgid "uses a sequence in DB2, PostgreSQL, Oracle, SAP DB, McKoi or a generator in Interbase. The returned identifier is of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal>"
-msgstr "DB2, PostgreSQL, Oracle, SAP DB, McKoi에서 시퀀스를 사용하거나 Interbase에서 생성기(generator)를 사용한다. 반환되는 식별자는 <literal>long</literal>, <literal>short</literal> 또는 <literal>int</literal> 타입이다."
+#. Tag: para
+#: basic_mapping.xml:574
+#, no-c-format
+msgid ""
+"uses a sequence in DB2, PostgreSQL, Oracle, SAP DB, McKoi or a generator in "
+"Interbase. The returned identifier is of type <literal>long</literal>, "
+"<literal>short</literal> or <literal>int</literal>"
+msgstr ""
+"DB2, PostgreSQL, Oracle, SAP DB, McKoi에서 시퀀스를 사용하거나 Interbase에서 "
+"생성기(generator)를 사용한다. 반환되는 식별자는 <literal>long</literal>, "
+"<literal>short</literal> 또는 <literal>int</literal> 타입이다."
 
-#: index.docbook:582
+#. Tag: literal
+#: basic_mapping.xml:582
+#, no-c-format
 msgid "hilo"
 msgstr "hilo"
 
-#: index.docbook:584
-msgid "uses a hi/lo algorithm to efficiently generate identifiers of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal>, given a table and column (by default <literal>hibernate_unique_key</literal> and <literal>next_hi</literal> respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database."
-msgstr "테이블과 컬럼(디폴트로 각각 <literal>hibernate_unique_key</literal>와 <literal>next_hi</literal>)이 hi 값들의 소스로서 주어지면, <literal>long</literal>, <literal>short</literal> 또는 <literal>int</literal> 타입의 식별자들을 효과적으로 생성시키는데 hi/lo 알고리즘을 사용한다. hi/lo 알고리즘은 특정 데이터베이스에 대해서만 유일한 식별자들을 생성시킨다."
+#. Tag: para
+#: basic_mapping.xml:584
+#, no-c-format
+msgid ""
+"uses a hi/lo algorithm to efficiently generate identifiers of type "
+"<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
+"given a table and column (by default <literal>hibernate_unique_key</literal> "
+"and <literal>next_hi</literal> respectively) as a source of hi values. The "
+"hi/lo algorithm generates identifiers that are unique only for a particular "
+"database."
+msgstr ""
+"테이블과 컬럼(디폴트로 각각 <literal>hibernate_unique_key</literal>와 "
+"<literal>next_hi</literal>)이 hi 값들의 소스로서 주어지면, <literal>long</"
+"literal>, <literal>short</literal> 또는 <literal>int</literal> 타입의 식별자"
+"들을 효과적으로 생성시키는데 hi/lo 알고리즘을 사용한다. hi/lo 알고리즘은 특"
+"정 데이터베이스에 대해서만 유일한 식별자들을 생성시킨다."
 
-#: index.docbook:594
+#. Tag: literal
+#: basic_mapping.xml:594
+#, no-c-format
 msgid "seqhilo"
 msgstr "seqhilo"
 
-#: index.docbook:596
-msgid "uses a hi/lo algorithm to efficiently generate identifiers of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal>, given a named database sequence."
-msgstr "명명된 데이터베이스 시퀀스가 주어지면, <literal>long</literal>, <literal>short</literal> 또는 <literal>int</literal> 타입의 식별자들을 효과적으로 생성시키는데 hi/lo 알고리즘을 사용한다."
+#. Tag: para
+#: basic_mapping.xml:596
+#, no-c-format
+msgid ""
+"uses a hi/lo algorithm to efficiently generate identifiers of type "
+"<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
+"given a named database sequence."
+msgstr ""
+"명명된 데이터베이스 시퀀스가 주어지면, <literal>long</literal>, "
+"<literal>short</literal> 또는 <literal>int</literal> 타입의 식별자들을 효과적"
+"으로 생성시키는데 hi/lo 알고리즘을 사용한다."
 
-#: index.docbook:604
+#. Tag: literal
+#: basic_mapping.xml:604
+#, no-c-format
 msgid "uuid"
 msgstr "uuid"
 
-#: index.docbook:606
-msgid "uses a 128-bit UUID algorithm to generate identifiers of type string, unique within a network (the IP address is used). The UUID is encoded as a string of hexadecimal digits of length 32."
-msgstr "네트웍 내에서 유일한(IP 주소가 사용된다) string 타입의 식별자들을 생성시키기 위해 128 비트 UUID 알고리즘을 사용한다. UUID는 길이가 32인 16진수들의 문자열로서 인코딩 된다."
+#. Tag: para
+#: basic_mapping.xml:606
+#, no-c-format
+msgid ""
+"uses a 128-bit UUID algorithm to generate identifiers of type string, unique "
+"within a network (the IP address is used). The UUID is encoded as a string "
+"of hexadecimal digits of length 32."
+msgstr ""
+"네트웍 내에서 유일한(IP 주소가 사용된다) string 타입의 식별자들을 생성시키기 "
+"위해 128 비트 UUID 알고리즘을 사용한다. UUID는 길이가 32인 16진수들의 문자열"
+"로서 인코딩 된다."
 
-#: index.docbook:614
+#. Tag: literal
+#: basic_mapping.xml:614
+#, no-c-format
 msgid "guid"
 msgstr "guid"
 
-#: index.docbook:616
+#. Tag: para
+#: basic_mapping.xml:616
+#, no-c-format
 msgid "uses a database-generated GUID string on MS SQL Server and MySQL."
 msgstr "MS SQL Server와 MySQL 상에서 데이터베이스 생성 GUID 문자열을 사용한다."
 
-#: index.docbook:622
+#. Tag: literal
+#: basic_mapping.xml:622
+#, no-c-format
 msgid "native"
 msgstr "native"
 
-#: index.docbook:624
-msgid "picks <literal>identity</literal>, <literal>sequence</literal> or <literal>hilo</literal> depending upon the capabilities of the underlying database."
-msgstr "기본 데이터베이스의 가용성들에 의존하여 <literal>identity</literal>, <literal>sequence</literal> 또는 <literal>hilo</literal>를 찾아낸다."
+#. Tag: para
+#: basic_mapping.xml:624
+#, no-c-format
+msgid ""
+"picks <literal>identity</literal>, <literal>sequence</literal> or "
+"<literal>hilo</literal> depending upon the capabilities of the underlying "
+"database."
+msgstr ""
+"기본 데이터베이스의 가용성들에 의존하여 <literal>identity</literal>, "
+"<literal>sequence</literal> 또는 <literal>hilo</literal>를 찾아낸다."
 
-#: index.docbook:632
+#. Tag: literal
+#: basic_mapping.xml:632
+#, no-c-format
 msgid "assigned"
 msgstr "assigned"
 
-#: index.docbook:634
-msgid "lets the application to assign an identifier to the object before <literal>save()</literal> is called. This is the default strategy if no <literal>&lt;generator&gt;</literal> element is specified."
-msgstr "어플리케이션으로 하여금 <literal>save()</literal>가 호출되기 전에 식별자를 객체에 할당하도록 한다. <literal>&lt;generator&gt;</literal> 요소가 지정되지 않을 경우 이것이 디폴트 방도이다."
+#. Tag: para
+#: basic_mapping.xml:634
+#, no-c-format
+msgid ""
+"lets the application to assign an identifier to the object before "
+"<literal>save()</literal> is called. This is the default strategy if no "
+"<literal>&lt;generator&gt;</literal> element is specified."
+msgstr ""
+"어플리케이션으로 하여금 <literal>save()</literal>가 호출되기 전에 식별자를 객"
+"체에 할당하도록 한다. <literal>&lt;generator&gt;</literal> 요소가 지정되지 않"
+"을 경우 이것이 디폴트 방도이다."
 
-#: index.docbook:642
+#. Tag: literal
+#: basic_mapping.xml:642
+#, no-c-format
 msgid "select"
 msgstr "select"
 
-#: index.docbook:644
-msgid "retrieves a primary key assigned by a database trigger by selecting the row by some unique key and retrieving the primary key value."
-msgstr "어떤 유일 키에 의해 행을 select하고 프라이머리 키 값을 검색함으로써 데이터베이스 트리거에 의해 할당된 프라이머리 키를 검색한다."
+#. Tag: para
+#: basic_mapping.xml:644
+#, no-c-format
+msgid ""
+"retrieves a primary key assigned by a database trigger by selecting the row "
+"by some unique key and retrieving the primary key value."
+msgstr ""
+"어떤 유일 키에 의해 행을 select하고 프라이머리 키 값을 검색함으로써 데이터베"
+"이스 트리거에 의해 할당된 프라이머리 키를 검색한다."
 
-#: index.docbook:651
+#. Tag: literal
+#: basic_mapping.xml:651
+#, no-c-format
 msgid "foreign"
 msgstr "foreign"
 
-#: index.docbook:653
-msgid "uses the identifier of another associated object. Usually used in conjunction with a <literal>&lt;one-to-one&gt;</literal> primary key association."
-msgstr "또 다른 연관된 객체의 식별자를 사용한다. 대개 <literal>&lt;one-to-one&gt;</literal> 프라이머리 키 연관관계와 함께 사용된다."
+#. Tag: para
+#: basic_mapping.xml:653
+#, no-c-format
+msgid ""
+"uses the identifier of another associated object. Usually used in "
+"conjunction with a <literal>&lt;one-to-one&gt;</literal> primary key "
+"association."
+msgstr ""
+"또 다른 연관된 객체의 식별자를 사용한다. 대개 <literal>&lt;one-to-one&gt;</"
+"literal> 프라이머리 키 연관관계와 함께 사용된다."
 
-#: index.docbook:660
+#. Tag: literal
+#: basic_mapping.xml:660
+#, no-c-format
 msgid "sequence-identity"
 msgstr "sequence-identity"
 
-#: index.docbook:662
-msgid "a specialized sequence generation strategy which utilizes a database sequence for the actual value generation, but combines this with JDBC3 getGeneratedKeys to actually return the generated identifier value as part of the insert statement execution. This strategy is only known to be supported on Oracle 10g drivers targetted for JDK 1.4. Note comments on these insert statements are disabled due to a bug in the Oracle drivers."
-msgstr "실제 값 생성을 위해 데이터베이스 시퀀스를 활용하지만, 생성된 식별자 값을 insert 문장 실행의 부분으로서 실제로 반환시키기 위해 이것을 JDBC3 getGeneratedKeys와 결합시킨 특화된 시퀀스 생성 방도. 이 방도는 JDK 1.4에 대상화된 Oracle 10g 드라이버들 상에서만 지원되는 거승로 알려져 있다. 이들 insert 문장들에 대한 주석들은 Oracle 드라이버들 내에 있는 버그 때문에 사용불가능하게 되어 있음을 노트하라."
+#. Tag: para
+#: basic_mapping.xml:662
+#, no-c-format
+msgid ""
+"a specialized sequence generation strategy which utilizes a database "
+"sequence for the actual value generation, but combines this with JDBC3 "
+"getGeneratedKeys to actually return the generated identifier value as part "
+"of the insert statement execution. This strategy is only known to be "
+"supported on Oracle 10g drivers targetted for JDK 1.4. Note comments on "
+"these insert statements are disabled due to a bug in the Oracle drivers."
+msgstr ""
+"실제 값 생성을 위해 데이터베이스 시퀀스를 활용하지만, 생성된 식별자 값을 "
+"insert 문장 실행의 부분으로서 실제로 반환시키기 위해 이것을 JDBC3 "
+"getGeneratedKeys와 결합시킨 특화된 시퀀스 생성 방도. 이 방도는 JDK 1.4에 대상"
+"화된 Oracle 10g 드라이버들 상에서만 지원되는 거승로 알려져 있다. 이들 insert "
+"문장들에 대한 주석들은 Oracle 드라이버들 내에 있는 버그 때문에 사용불가능하"
+"게 되어 있음을 노트하라."
 
-#: index.docbook:679
+#. Tag: title
+#: basic_mapping.xml:679
+#, no-c-format
 msgid "Hi/lo algorithm"
 msgstr "Hi/lo algorithm"
 
-#: index.docbook:680
-msgid "The <literal>hilo</literal> and <literal>seqhilo</literal> generators provide two alternate implementations of the hi/lo algorithm, a favorite approach to identifier generation. The first implementation requires a \"special\" database table to hold the next available \"hi\" value. The second uses an Oracle-style sequence (where supported)."
-msgstr "<literal>hilo</literal>와 <literal>seqhilo</literal> 생성기들은 식별자 생성에 대한 마음에 드는 접근법인, hi/lo 알고리즘에 대한 두 개의 대체 구현들은 제공한다. 첫 번째 구현은 다음에 이용 가능한 \"hi\" 값을 수용하기 위한 \"특별한\" 데이터베이스 테이블을 필요로 한다. 두 번째는 (지원되는) Oracle 스타일의 시퀀스를 사용한다."
+#. Tag: para
+#: basic_mapping.xml:680
+#, no-c-format
+msgid ""
+"The <literal>hilo</literal> and <literal>seqhilo</literal> generators "
+"provide two alternate implementations of the hi/lo algorithm, a favorite "
+"approach to identifier generation. The first implementation requires a "
+"\"special\" database table to hold the next available \"hi\" value. The "
+"second uses an Oracle-style sequence (where supported)."
+msgstr ""
+"<literal>hilo</literal>와 <literal>seqhilo</literal> 생성기들은 식별자 생성"
+"에 대한 마음에 드는 접근법인, hi/lo 알고리즘에 대한 두 개의 대체 구현들은 제"
+"공한다. 첫 번째 구현은 다음에 이용 가능한 \"hi\" 값을 수용하기 위한 \"특별한"
+"\" 데이터베이스 테이블을 필요로 한다. 두 번째는 (지원되는) Oracle 스타일의 시"
+"퀀스를 사용한다."
 
-#: index.docbook:687
+#. Tag: programlisting
+#: basic_mapping.xml:687
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"hilo\">\n"
-      "                <param name=\"table\">hi_value</param>\n"
-      "                <param name=\"column\">next_value</param>\n"
-      "                <param name=\"max_lo\">100</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+"        <generator class=\"hilo\">\n"
+"                <param name=\"table\">hi_value</param>\n"
+"                <param name=\"column\">next_value</param>\n"
+"                <param name=\"max_lo\">100</param>\n"
+"        </generator>\n"
+"</id>]]>"
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"hilo\">\n"
-      "                <param name=\"table\">hi_value</param>\n"
-      "                <param name=\"column\">next_value</param>\n"
-      "                <param name=\"max_lo\">100</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
 
-#: index.docbook:689
+#. Tag: programlisting
+#: basic_mapping.xml:689
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"seqhilo\">\n"
-      "                <param name=\"sequence\">hi_value</param>\n"
-      "                <param name=\"max_lo\">100</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+"        <generator class=\"seqhilo\">\n"
+"                <param name=\"sequence\">hi_value</param>\n"
+"                <param name=\"max_lo\">100</param>\n"
+"        </generator>\n"
+"</id>]]>"
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"seqhilo\">\n"
-      "                <param name=\"sequence\">hi_value</param>\n"
-      "                <param name=\"max_lo\">100</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
 
-#: index.docbook:691
-msgid "Unfortunately, you can't use <literal>hilo</literal> when supplying your own <literal>Connection</literal> to Hibernate. When Hibernate is using an application server datasource to obtain connections enlisted with JTA, you must properly configure the <literal>hibernate.transaction.manager_lookup_class</literal>."
-msgstr "불행히도 당신은 Hibernate에 당신 자신의 <literal>Connection</literal>을 제공할 때 <literal>hilo</literal>를 사용할 수 없다. Hibernate가 JTA의 도움을 받는 커넥션들을 얻기 위해 어플리케이션 서버 데이터소스를 사용할 때 당신은 <literal>hibernate.transaction.manager_lookup_class</literal>를 적절하게 구성해야 한다."
+#. Tag: para
+#: basic_mapping.xml:691
+#, no-c-format
+msgid ""
+"Unfortunately, you can't use <literal>hilo</literal> when supplying your own "
+"<literal>Connection</literal> to Hibernate. When Hibernate is using an "
+"application server datasource to obtain connections enlisted with JTA, you "
+"must properly configure the <literal>hibernate.transaction."
+"manager_lookup_class</literal>."
+msgstr ""
+"불행히도 당신은 Hibernate에 당신 자신의 <literal>Connection</literal>을 제공"
+"할 때 <literal>hilo</literal>를 사용할 수 없다. Hibernate가 JTA의 도움을 받"
+"는 커넥션들을 얻기 위해 어플리케이션 서버 데이터소스를 사용할 때 당신은 "
+"<literal>hibernate.transaction.manager_lookup_class</literal>를 적절하게 구성"
+"해야 한다."
 
-#: index.docbook:700
+#. Tag: title
+#: basic_mapping.xml:700
+#, no-c-format
 msgid "UUID algorithm"
 msgstr "UUID 알고리즘"
 
-#: index.docbook:701
-msgid "The UUID contains: IP address, startup time of the JVM (accurate to a quarter second), system time and a counter value (unique within the JVM). It's not possible to obtain a MAC address or memory address from Java code, so this is the best we can do without using JNI."
-msgstr "UUID 는 다음을 포함한다: IP 주소, JVM의 시작 시간(정확히 1/4 초), 시스템 시간과 (JVM 내에서 유일한) counter 값. Java 코드로부터 MAC 주소 또는 메모리 주소를 얻는 것은 불가능하여서, 이것은 우리가 JNI를 사용하지 않고서 행할 수 있는 최상의 것이다."
+#. Tag: para
+#: basic_mapping.xml:701
+#, no-c-format
+msgid ""
+"The UUID contains: IP address, startup time of the JVM (accurate to a "
+"quarter second), system time and a counter value (unique within the JVM). "
+"It's not possible to obtain a MAC address or memory address from Java code, "
+"so this is the best we can do without using JNI."
+msgstr ""
+"UUID 는 다음을 포함한다: IP 주소, JVM의 시작 시간(정확히 1/4 초), 시스템 시간"
+"과 (JVM 내에서 유일한) counter 값. Java 코드로부터 MAC 주소 또는 메모리 주소"
+"를 얻는 것은 불가능하여서, 이것은 우리가 JNI를 사용하지 않고서 행할 수 있는 "
+"최상의 것이다."
 
-#: index.docbook:710
+#. Tag: title
+#: basic_mapping.xml:710
+#, no-c-format
 msgid "Identity columns and sequences"
 msgstr "식별 컬럼들과 시퀀스들"
 
-#: index.docbook:711
-msgid "For databases which support identity columns (DB2, MySQL, Sybase, MS SQL), you may use <literal>identity</literal> key generation. For databases that support sequences (DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) you may use <literal>sequence</literal> style key generation. Both these strategies require two SQL queries to insert a new object."
-msgstr "식별 컬럼들을 지원하는 데이터베이스들(DB2, MySQL, Sybase, MS SQL)의 경우, 당신은 <literal>identity</literal> 키 생성을 사용할 수 있다. 시퀀스들을 지원하는 데이터베이스들(DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB)의 경우, 당신은 <literal>sequence</literal> 스타일 키 생성을 사용할 수도 있다. 이들 방도들 모두 새로운 객체를 insert하기 위해 두 개의 SQL 질의들을 필요로 한다."
+#. Tag: para
+#: basic_mapping.xml:711
+#, no-c-format
+msgid ""
+"For databases which support identity columns (DB2, MySQL, Sybase, MS SQL), "
+"you may use <literal>identity</literal> key generation. For databases that "
+"support sequences (DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) you "
+"may use <literal>sequence</literal> style key generation. Both these "
+"strategies require two SQL queries to insert a new object."
+msgstr ""
+"식별 컬럼들을 지원하는 데이터베이스들(DB2, MySQL, Sybase, MS SQL)의 경우, 당"
+"신은 <literal>identity</literal> 키 생성을 사용할 수 있다. 시퀀스들을 지원하"
+"는 데이터베이스들(DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB)의 경우, "
+"당신은 <literal>sequence</literal> 스타일 키 생성을 사용할 수도 있다. 이들 방"
+"도들 모두 새로운 객체를 insert하기 위해 두 개의 SQL 질의들을 필요로 한다."
 
-#: index.docbook:719
+#. Tag: programlisting
+#: basic_mapping.xml:719
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-      "        <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">person_id_sequence</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
+"        <generator class=\"sequence\">\n"
+"                <param name=\"sequence\">person_id_sequence</param>\n"
+"        </generator>\n"
+"</id>]]>"
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-      "        <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">person_id_sequence</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
 
-#: index.docbook:721
+#. Tag: programlisting
+#: basic_mapping.xml:721
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0\">\n"
-      "        <generator class=\"identity\"/>\n"
-      "</id>]]>"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0"
+"\">\n"
+"        <generator class=\"identity\"/>\n"
+"</id>]]>"
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0\">\n"
-      "        <generator class=\"identity\"/>\n"
-      "</id>]]>"
 
-#: index.docbook:723
-msgid "For cross-platform development, the <literal>native</literal> strategy will choose from the <literal>identity</literal>, <literal>sequence</literal> and <literal>hilo</literal> strategies, dependant upon the capabilities of the underlying database."
-msgstr "크로스 플랫폼 개발을 위해서, <literal>native</literal> 방도가 기준 데이터베이스들의 가용성들에 따라 <literal>identity</literal>, <literal>sequence</literal>, <literal>hilo</literal> 방도 중에서 선택될 것이다."
+#. Tag: para
+#: basic_mapping.xml:723
+#, no-c-format
+msgid ""
+"For cross-platform development, the <literal>native</literal> strategy will "
+"choose from the <literal>identity</literal>, <literal>sequence</literal> and "
+"<literal>hilo</literal> strategies, dependant upon the capabilities of the "
+"underlying database."
+msgstr ""
+"크로스 플랫폼 개발을 위해서, <literal>native</literal> 방도가 기준 데이터베이"
+"스들의 가용성들에 따라 <literal>identity</literal>, <literal>sequence</"
+"literal>, <literal>hilo</literal> 방도 중에서 선택될 것이다."
 
-#: index.docbook:732
+#. Tag: title
+#: basic_mapping.xml:732
+#, no-c-format
 msgid "Assigned identifiers"
 msgstr "할당된 식별자들"
 
-#: index.docbook:733
-msgid "If you want the application to assign identifiers (as opposed to having Hibernate generate them), you may use the <literal>assigned</literal> generator. This special generator will use the identifier value already assigned to the object's identifier property. This generator is used when the primary key is a natural key instead of a surrogate key. This is the default behavior if you do no specify a <literal>&lt;generator&gt;</literal> element."
-msgstr "(Hibernate로 하여금 식별자들을 생성시키도록 하는 것과는 반대로) 당신이 어플리케이션으로 하여금 식별자들을 할당하도록 원할 경우, 당신은 <literal>assigned</literal> 생성기를 사용할 수 있다. 이 특별한 생성기는 객체의 identifier 프로퍼티에 이미 할당된 식별자 값을 사용할 것이다. 이 생성기(generator)는 프라이머리 키가 대용(surrogate ) 키 대신에 natural 키일 때 사용된다. 당신이 <literal>&lt;generator&gt;</literal> 요소를 지정하지 않을 경우에 이것이 디폴트 특징이다"
+#. Tag: para
+#: basic_mapping.xml:733
+#, no-c-format
+msgid ""
+"If you want the application to assign identifiers (as opposed to having "
+"Hibernate generate them), you may use the <literal>assigned</literal> "
+"generator. This special generator will use the identifier value already "
+"assigned to the object's identifier property. This generator is used when "
+"the primary key is a natural key instead of a surrogate key. This is the "
+"default behavior if you do no specify a <literal>&lt;generator&gt;</literal> "
+"element."
+msgstr ""
+"(Hibernate로 하여금 식별자들을 생성시키도록 하는 것과는 반대로) 당신이 어플리"
+"케이션으로 하여금 식별자들을 할당하도록 원할 경우, 당신은 <literal>assigned</"
+"literal> 생성기를 사용할 수 있다. 이 특별한 생성기는 객체의 identifier 프로퍼"
+"티에 이미 할당된 식별자 값을 사용할 것이다. 이 생성기(generator)는 프라이머"
+"리 키가 대용(surrogate ) 키 대신에 natural 키일 때 사용된다. 당신이 "
+"<literal>&lt;generator&gt;</literal> 요소를 지정하지 않을 경우에 이것이 디폴"
+"트 특징이다"
 
-#: index.docbook:742
-msgid "Choosing the <literal>assigned</literal> generator makes Hibernate use <literal>unsaved-value=\"undefined\"</literal>, forcing Hibernate to go to the database to determine if an instance is transient or detached, unless there is a version or timestamp property, or you define <literal>Interceptor.isUnsaved()</literal>."
-msgstr "<literal>assigned</literal> 생성기(generator)를 선택하는 것은 , version 또는 timestamp 프로퍼티가 존재하지 않는 한 또는 당신이 <literal>Interceptor.isUnsaved()</literal>를 정의하지 않는 한, 하나의 인스턴스가 transient 또는 detached인지를 결정하기 위해 Hibernae로 하여금 데이터베이스에 접촉하도록 강제하는, <literal>unsaved-value=\"undefined\"</literal>를 Hibernate에게 사용하도록 한다."
+#. Tag: para
+#: basic_mapping.xml:742
+#, no-c-format
+msgid ""
+"Choosing the <literal>assigned</literal> generator makes Hibernate use "
+"<literal>unsaved-value=\"undefined\"</literal>, forcing Hibernate to go to "
+"the database to determine if an instance is transient or detached, unless "
+"there is a version or timestamp property, or you define <literal>Interceptor."
+"isUnsaved()</literal>."
+msgstr ""
+"<literal>assigned</literal> 생성기(generator)를 선택하는 것은 , version 또는 "
+"timestamp 프로퍼티가 존재하지 않는 한 또는 당신이 <literal>Interceptor."
+"isUnsaved()</literal>를 정의하지 않는 한, 하나의 인스턴스가 transient 또는 "
+"detached인지를 결정하기 위해 Hibernae로 하여금 데이터베이스에 접촉하도록 강제"
+"하는, <literal>unsaved-value=\"undefined\"</literal>를 Hibernate에게 사용하도"
+"록 한다."
 
-#: index.docbook:752
+#. Tag: title
+#: basic_mapping.xml:752
+#, no-c-format
 msgid "Primary keys assigned by triggers"
 msgstr "트리거들에 의해 할당된 프라이머리 키들"
 
-#: index.docbook:753
-msgid "For legacy schemas only (Hibernate does not generate DDL with triggers)."
-msgstr "리거시 스키마에 대해서만(Hibernate는 트리거들을 가진 DDL을 생성시키지 않는다)."
+#. Tag: para
+#: basic_mapping.xml:753
+#, no-c-format
+msgid ""
+"For legacy schemas only (Hibernate does not generate DDL with triggers)."
+msgstr ""
+"리거시 스키마에 대해서만(Hibernate는 트리거들을 가진 DDL을 생성시키지 않는"
+"다)."
 
-#: index.docbook:757
+#. Tag: programlisting
+#: basic_mapping.xml:757
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-      "        <generator class=\"select\">\n"
-      "                <param name=\"key\">socialSecurityNumber</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
+"        <generator class=\"select\">\n"
+"                <param name=\"key\">socialSecurityNumber</param>\n"
+"        </generator>\n"
+"</id>]]>"
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-      "        <generator class=\"select\">\n"
-      "                <param name=\"key\">socialSecurityNumber</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
 
-#: index.docbook:759
-msgid "In the above example, there is a unique valued property named <literal>socialSecurityNumber</literal> defined by the class, as a natural key, and a surrogate key named <literal>person_id</literal> whose value is generated by a trigger."
-msgstr "위의 예제에서, natural 키로서 클래스에 의해 <literal>socialSecurityNumber</literal>로 명명된 유일 값을 가진 프로퍼티가 존재하고, 트리거에 의해 그 값이 생성되는 <literal>person_id</literal>로 명명된 대용키가 존재한다."
+#. Tag: para
+#: basic_mapping.xml:759
+#, no-c-format
+msgid ""
+"In the above example, there is a unique valued property named "
+"<literal>socialSecurityNumber</literal> defined by the class, as a natural "
+"key, and a surrogate key named <literal>person_id</literal> whose value is "
+"generated by a trigger."
+msgstr ""
+"위의 예제에서, natural 키로서 클래스에 의해 <literal>socialSecurityNumber</"
+"literal>로 명명된 유일 값을 가진 프로퍼티가 존재하고, 트리거에 의해 그 값이 "
+"생성되는 <literal>person_id</literal>로 명명된 대용키가 존재한다."
 
-#: index.docbook:771
+#. Tag: title
+#: basic_mapping.xml:771
+#, no-c-format
 msgid "Enhanced identifier generators"
-msgstr "composite-id"
+msgstr "NOT TRANSLATED!Enhanced identifier generators"
 
-#: index.docbook:773
-msgid "Starting with release 3.2.3, there are 2 new generators which represent a re-thinking of 2 different aspects of identifier generation. The first aspect is database portability; the second is optimization (not having to query the database for every request for a new identifier value). These two new generators are intended to take the place of some of the named generators described above (starting in 3.3.x); however, they are included in the current releases and can be referenced by FQN."
+#. Tag: para
+#: basic_mapping.xml:773
+#, no-c-format
+msgid ""
+"Starting with release 3.2.3, there are 2 new generators which represent a re-"
+"thinking of 2 different aspects of identifier generation. The first aspect "
+"is database portability; the second is optimization (not having to query the "
+"database for every request for a new identifier value). These two new "
+"generators are intended to take the place of some of the named generators "
+"described above (starting in 3.3.x); however, they are included in the "
+"current releases and can be referenced by FQN."
 msgstr ""
-      "<![CDATA[<composite-id\n"
-      "        name=\"propertyName\"\n"
-      "        class=\"ClassName\"\n"
-      "        mapped=\"true|false\"\n"
-      "        access=\"field|property|ClassName\">\n"
-      "        node=\"element-name|.\"\n"
-      "\n"
-      "        <key-property name=\"propertyName\" type=\"typename\" column=\"column_name\"/>\n"
-      "        <key-many-to-one name=\"propertyName class=\"ClassName\" column=\"column_name\"/>\n"
-      "        ......\n"
-      "</composite-id>]]>"
+"Starting with release 3.2.3, there are 2 new generators which represent a re-"
+"thinking of 2 different aspects of identifier generation. The first aspect "
+"is database portability; the second is optimization (not having to query the "
+"database for every request for a new identifier value). These two new "
+"generators are intended to take the place of some of the named generators "
+"described above (starting in 3.3.x); however, they are included in the "
+"current releases and can be referenced by FQN."
 
-#: index.docbook:781
-msgid "The first of these new generators is <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</literal> which is intended firstly as a replacement for the <literal>sequence</literal> generator and secondly as a better portability generator than <literal>native</literal> (because <literal>native</literal> (generally) chooses between <literal>identity</literal> and <literal>sequence</literal> which have largely different semantics which can cause subtle isssues in applications eyeing portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</literal> however achieves portability in a different manner. It chooses between using a table or a sequence in the database to store its incrementing values depending on the capabilities of the dialect being used. The difference between this and <literal>native</literal> is that table-based and sequence-based storage have the same exact semantic (in fact sequences are exactly what Hibernate tries to emmulate with its!
  table-based generators). This generator has a number of configuration parameters:"
-msgstr "composite 키를 가진 테이블의 경우, 당신은 클래스의 여러 프로퍼티들을 식별자 프로퍼티들로서 매핑할 수 있다. <literal>&lt;composite-id&gt;</literal> 요소는 자식 요소들로서 <literal>&lt;key-property&gt;</literal> 프로퍼티 매핑과 <literal>&lt;key-many-to-one&gt;</literal> 매핑들을 허용한다."
+#. Tag: para
+#: basic_mapping.xml:781
+#, fuzzy, no-c-format
+msgid ""
+"The first of these new generators is <literal>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</literal> which is intended firstly as a replacement "
+"for the <literal>sequence</literal> generator and secondly as a better "
+"portability generator than <literal>native</literal> (because "
+"<literal>native</literal> (generally) chooses between <literal>identity</"
+"literal> and <literal>sequence</literal> which have largely different "
+"semantics which can cause subtle isssues in applications eyeing "
+"portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</"
+"literal> however achieves portability in a different manner. It chooses "
+"between using a table or a sequence in the database to store its "
+"incrementing values depending on the capabilities of the dialect being used. "
+"The difference between this and <literal>native</literal> is that table-"
+"based and sequence-based storage have the same exact semantic (in fact "
+"sequences are exactly what Hibernate tries to emmulate with its table-based "
+"generators). This generator has a number of configuration parameters:"
+msgstr ""
+"The first of these new generators is <literal>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</literal> which is intended firstly as a replacement "
+"for the <literal>sequence</literal> generator and secondly as a better "
+"portability generator than <literal>native</literal> (because "
+"<literal>native</literal> (generally) chooses between <literal>identity</"
+"literal> and <literal>sequence</literal> which have largely different "
+"semantics which can cause subtle isssues in applications eyeing "
+"portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</"
+"literal> however achieves portability in a different manner. It chooses "
+"between using a table or a sequence in the database to store its "
+"incrementing values depending on the capabilities of the dialect being used. "
+"The difference between this and <literal>native</literal> is that table-"
+"based and sequence-based storage have the same exact semantic (in fact "
+"sequences are exactly what Hibernate tries to emmulate with its table-based "
+"generators). This generator has a number of configuration parameters: "
+"<placeholder-1/>"
 
-#: index.docbook:795
-msgid "<literal>sequence_name</literal> (optional, defaults to <literal>hibernate_sequence</literal>): The name of the sequence (or table) to be used."
+#. Tag: para
+#: basic_mapping.xml:795
+#, no-c-format
+msgid ""
+"<literal>sequence_name</literal> (optional, defaults to "
+"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
+"to be used."
 msgstr ""
-      "<![CDATA[<composite-id>\n"
-      "        <key-property name=\"medicareNumber\"/>\n"
-      "        <key-property name=\"dependent\"/>\n"
-      "</composite-id>]]>"
+"<literal>sequence_name</literal> (optional, defaults to "
+"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
+"to be used."
 
-#: index.docbook:801
-msgid "<literal>initial_value</literal> (optional, defaults to <literal>1</literal>): The initial value to be retrieved from the sequence/table. In sequence creation terms, this is analogous to the clause typical named \"STARTS WITH\"."
-msgstr "당신의 영속 클래스는 composite 식별자 동등성을 구현하기 위해서 <literal>equals()</literal>와 <literal>hashCode()</literal>를 오버라이드 <emphasis>시켜야 한다</emphasis>. 그것은 또한 <literal>Serializable</literal>을 구현해야 한다."
+#. Tag: para
+#: basic_mapping.xml:801
+#, no-c-format
+msgid ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the sequence/table. In "
+"sequence creation terms, this is analogous to the clause typical named "
+"\"STARTS WITH\"."
+msgstr ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the sequence/table. In "
+"sequence creation terms, this is analogous to the clause typical named "
+"\"STARTS WITH\"."
 
-#: index.docbook:808
-msgid "<literal>increment_size</literal> (optional, defaults to <literal>1</literal>): The value by which subsequent calls to the sequence/table should differ. In sequence creation terms, this is analogous to the clause typical named \"INCREMENT BY\"."
-msgstr "불행히도, composite 식별자들에 대한 이 접근법은 영속 객체가 그것 자신의 식별자라는 점을 의미한다. 객체 자신 외의 다른 \"핸들\"이 존재하지 않는다. 당신은 당신이 composite key로 연관된 영속 상태를 <literal>load()</literal> 할 수 있기 이전에 영속 클래스 그 자체의 인스턴스를 초기화 하고 그것의 식별자 프로퍼티들을 군집화 시켜야 한다. 우리는 이 접근법을 <emphasis>embedded</emphasis> composite 식별자로 부르고, 중대한 어플리케이션들에 대해 그것을 억제시킨다."
+#. Tag: para
+#: basic_mapping.xml:808
+#, no-c-format
+msgid ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the sequence/table should "
+"differ. In sequence creation terms, this is analogous to the clause typical "
+"named \"INCREMENT BY\"."
+msgstr ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the sequence/table should "
+"differ. In sequence creation terms, this is analogous to the clause typical "
+"named \"INCREMENT BY\"."
 
-#: index.docbook:815
-msgid "<literal>force_table_use</literal> (optional, defaults to <literal>false</literal>): Should we force the use of a table as the backing structure even though the dialect might support sequence?"
-msgstr "두 번째 접근법은 우리가 <emphasis>mapped</emphasis> composite 식별자라고 부르는 것인데, 여기서 <literal>&lt;composite-id&gt;</literal> 요소 내에 명명된 여기서 식별자 프로퍼티들은 영속 클래스와 별도의 식별자 클래스 양자 상에 중복된다."
+#. Tag: para
+#: basic_mapping.xml:815
+#, no-c-format
+msgid ""
+"<literal>force_table_use</literal> (optional, defaults to <literal>false</"
+"literal>): Should we force the use of a table as the backing structure even "
+"though the dialect might support sequence?"
+msgstr ""
+"<literal>force_table_use</literal> (optional, defaults to <literal>false</"
+"literal>): Should we force the use of a table as the backing structure even "
+"though the dialect might support sequence?"
 
-#: index.docbook:822
-msgid "<literal>value_column</literal> (optional, defaults to <literal>next_val</literal>): Only relevant for table structures! The name of the column on the table which is used to hold the value."
+#. Tag: para
+#: basic_mapping.xml:822
+#, no-c-format
+msgid ""
+"<literal>value_column</literal> (optional, defaults to <literal>next_val</"
+"literal>): Only relevant for table structures! The name of the column on the "
+"table which is used to hold the value."
 msgstr ""
-      "<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
-      "        <key-property name=\"medicareNumber\"/>\n"
-      "        <key-property name=\"dependent\"/>\n"
-      "</composite-id>]]>"
+"<literal>value_column</literal> (optional, defaults to <literal>next_val</"
+"literal>): Only relevant for table structures! The name of the column on the "
+"table which is used to hold the value."
 
-#: index.docbook:829
-msgid "<literal>optimizer</literal> (optional, defaults to <literal>none</literal>): See"
-msgstr "이 예제에서, composite 식별자 클래스인 <literal>MedicareId</literal>와 엔티티 크래스 그 자체 양자는 <literal>medicareNumber</literal>와 <literal>dependent</literal>로 명명된 프로퍼티들을 갖는다. 식별자 클래스는 <literal>equals()</literal>와 <literal>hashCode()</literal>를 오버라이드 시켜고 <literal>Serializable</literal>을 구현해야 한다. 이 접근법의 단점은 아주 명백한&mdash;코드 중복이다."
+#. Tag: para
+#: basic_mapping.xml:829
+#, fuzzy, no-c-format
+msgid ""
+"<literal>optimizer</literal> (optional, defaults to <literal>none</"
+"literal>): See"
+msgstr ""
+"<literal>cascade</literal> (optional- defaults to <literal>none</literal>): "
+"cascade 스타일."
 
-#: index.docbook:836
-msgid "The second of these new generators is <literal>org.hibernate.id.enhanced.TableGenerator</literal> which is intended firstly as a replacement for the <literal>table</literal> generator (although it actually functions much more like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and secondly as a re-implementation of <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable optimiziers. Essentially this generator defines a table capable of holding a number of different increment values simultaneously by using multiple distinctly keyed rows. This generator has a number of configuration parameters:"
-msgstr "다음 속성들은 매핑된 composite 식별자를 지정하는데 사용된다:"
+#. Tag: para
+#: basic_mapping.xml:836
+#, fuzzy, no-c-format
+msgid ""
+"The second of these new generators is <literal>org.hibernate.id.enhanced."
+"TableGenerator</literal> which is intended firstly as a replacement for the "
+"<literal>table</literal> generator (although it actually functions much more "
+"like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and "
+"secondly as a re-implementation of <literal>org.hibernate.id."
+"MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable "
+"optimiziers. Essentially this generator defines a table capable of holding a "
+"number of different increment values simultaneously by using multiple "
+"distinctly keyed rows. This generator has a number of configuration "
+"parameters:"
+msgstr ""
+"The second of these new generators is <literal>org.hibernate.id.enhanced."
+"TableGenerator</literal> which is intended firstly as a replacement for the "
+"<literal>table</literal> generator (although it actually functions much more "
+"like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and "
+"secondly as a re-implementation of <literal>org.hibernate.id."
+"MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable "
+"optimiziers. Essentially this generator defines a table capable of holding a "
+"number of different increment values simultaneously by using multiple "
+"distinctly keyed rows. This generator has a number of configuration "
+"parameters: <placeholder-1/>"
 
-#: index.docbook:846
-msgid "<literal>table_name</literal> (optional, defaults to <literal>hibernate_sequences</literal>): The name of the table to be used."
-msgstr "<literal>mapped</literal> (옵션, 디폴트는 <literal>false</literal>): 하나의 매핑된 composite 식별자가 사용됨을, 그리고 포함된 프로퍼티 매핑들이 엔티티 클래스와 composite 식별자 클래스 양자를 참조함을 나타낸다."
+#. Tag: para
+#: basic_mapping.xml:846
+#, no-c-format
+msgid ""
+"<literal>table_name</literal> (optional, defaults to "
+"<literal>hibernate_sequences</literal>): The name of the table to be used."
+msgstr ""
+"<literal>table_name</literal> (optional, defaults to "
+"<literal>hibernate_sequences</literal>): The name of the table to be used."
 
-#: index.docbook:852
-msgid "<literal>value_column_name</literal> (optional, defaults to <literal>next_val</literal>): The name of the column on the table which is used to hold the value."
-msgstr "<literal>class</literal> (옵션, 하지만 하나의 매핑된 commposite 식별자에 대해서는 필수적임): 하나의 composite 식별자로서 사용되는 클래스."
+#. Tag: para
+#: basic_mapping.xml:852
+#, no-c-format
+msgid ""
+"<literal>value_column_name</literal> (optional, defaults to "
+"<literal>next_val</literal>): The name of the column on the table which is "
+"used to hold the value."
+msgstr ""
+"<literal>value_column_name</literal> (optional, defaults to "
+"<literal>next_val</literal>): The name of the column on the table which is "
+"used to hold the value."
 
-#: index.docbook:858
-msgid "<literal>segment_column_name</literal> (optional, defaults to <literal>sequence_name</literal>): The name of the column on the table which is used to hold the \"segement key\". This is the value which distinctly identifies which increment value to use."
-msgstr "우리는 <xref linkend=\"components-compositeid\"/>에서 composite 식별자가 하나의 component 클래스로서 구현되는 보다 편리한 접근법인 세번째 방도를 설명할 것이다. 아래에 설명되어 있는 속성들은 이 대체적인 접근법에만 적용된다:"
+#. Tag: para
+#: basic_mapping.xml:858
+#, no-c-format
+msgid ""
+"<literal>segment_column_name</literal> (optional, defaults to "
+"<literal>sequence_name</literal>): The name of the column on the table which "
+"is used to hold the \"segement key\". This is the value which distinctly "
+"identifies which increment value to use."
+msgstr ""
+"<literal>segment_column_name</literal> (optional, defaults to "
+"<literal>sequence_name</literal>): The name of the column on the table which "
+"is used to hold the \"segement key\". This is the value which distinctly "
+"identifies which increment value to use."
 
-#: index.docbook:865
-msgid "<literal>segment_value</literal> (optional, defaults to <literal>default</literal>): The \"segment key\" value for the segment from which we want to pull increment values for this generator."
-msgstr "<literal>name</literal> (옵션, 이 접근법의 경우에는 필수임): 하나의 component 식별자를 소유하는 컴포넌트 타입의 프로퍼티(9장을 보라)."
+#. Tag: para
+#: basic_mapping.xml:865
+#, no-c-format
+msgid ""
+"<literal>segment_value</literal> (optional, defaults to <literal>default</"
+"literal>): The \"segment key\" value for the segment from which we want to "
+"pull increment values for this generator."
+msgstr ""
+"<literal>segment_value</literal> (optional, defaults to <literal>default</"
+"literal>): The \"segment key\" value for the segment from which we want to "
+"pull increment values for this generator."
 
-#: index.docbook:872
-msgid "<literal>segment_value_length</literal> (optional, defaults to <literal>255</literal>): Used for schema generation; the column size to create this segment key column."
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 접근하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:872
+#, no-c-format
+msgid ""
+"<literal>segment_value_length</literal> (optional, defaults to <literal>255</"
+"literal>): Used for schema generation; the column size to create this "
+"segment key column."
+msgstr ""
+"<literal>segment_value_length</literal> (optional, defaults to <literal>255</"
+"literal>): Used for schema generation; the column size to create this "
+"segment key column."
 
-#: index.docbook:878
-msgid "<literal>initial_value</literal> (optional, defaults to <literal>1</literal>): The initial value to be retrieved from the table."
-msgstr "<literal>class</literal> (옵션 - 디폴트는 reflection에 의해 결정된 프로퍼티 타입): 하나의 composite 식별자로서 사용되는 컴포넌트 클래스(다음 절을 보라)."
+#. Tag: para
+#: basic_mapping.xml:878
+#, no-c-format
+msgid ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the table."
+msgstr ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the table."
 
-#: index.docbook:884
-msgid "<literal>increment_size</literal> (optional, defaults to <literal>1</literal>): The value by which subsequent calls to the table should differ."
-msgstr "이 세번째 접근법, <emphasis>identifier component</emphasis>은 거의 모든 어플리케이션들에 대해 우리가 권장하는 것이다."
+#. Tag: para
+#: basic_mapping.xml:884
+#, no-c-format
+msgid ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the table should differ."
+msgstr ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the table should differ."
 
-#: index.docbook:890
-msgid "<literal>optimizer</literal> (optional, defaults to <literal></literal>): See"
-msgstr "discriminator"
+#. Tag: para
+#: basic_mapping.xml:890
+#, fuzzy, no-c-format
+msgid ""
+"<literal>optimizer</literal> (optional, defaults to <literal></literal>): See"
+msgstr ""
+"<literal>cascade</literal> (optional- defaults to <literal>none</literal>): "
+"cascade 스타일."
 
-#: index.docbook:900
+#. Tag: title
+#: basic_mapping.xml:900
+#, no-c-format
 msgid "Identifier generator optimization"
-msgstr "<literal>&lt;discriminator&gt;</literal> 요소는 table-per-class-hierarchy(테이블 당 클래스 계층구조) 매핑 방도를 사용하는 다형성 영속화에 필요하고 테이블의 discriminator(판별자) 컬럼을 선언한다. discriminator 컬럼은 특정 행에 대해 초기화 시킬 서브 클래스가 무엇인지를 영속 계층에 알려주는 표시자 값들을 포함한다. 타입들의 제한적인 집합이 사용될 수 있다: <literal>string</literal>, <literal>character</literal>, <literal>integer</literal>, <literal>byte</literal>, <literal>short</literal>, <literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</literal>."
+msgstr "NOT TRANSLATED! Identifier generator optimization"
 
-#: index.docbook:901
-msgid "For identifier generators which store values in the database, it is inefficient for them to hit the database on each and every call to generate a new identifier value. Instead, you'd ideally want to group a bunch of them in memory and only hit the database when you have exhausted your in-memory value group. This is the role of the pluggable optimizers. Currently only the two enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced\"/> support this notion."
+#. Tag: para
+#: basic_mapping.xml:901
+#, fuzzy, no-c-format
+msgid ""
+"For identifier generators which store values in the database, it is "
+"inefficient for them to hit the database on each and every call to generate "
+"a new identifier value. Instead, you'd ideally want to group a bunch of them "
+"in memory and only hit the database when you have exhausted your in-memory "
+"value group. This is the role of the pluggable optimizers. Currently only "
+"the two enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced"
+"\"/> support this notion."
 msgstr ""
-      "<![CDATA[<discriminator\n"
-      "        column=\"discriminator_column\"\n"
-      "        type=\"discriminator_type\"\n"
-      "        force=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        formula=\"arbitrary sql expression\"\n"
-      "/>]]>"
+"For identifier generators which store values in the database, it is "
+"inefficient for them to hit the database on each and every call to generate "
+"a new identifier value. Instead, you'd ideally want to group a bunch of them "
+"in memory and only hit the database when you have exhausted your in-memory "
+"value group. This is the role of the pluggable optimizers. Currently only "
+"the two enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced"
+"\"/> support this notion. <placeholder-1/>"
 
-#: index.docbook:909
-msgid "<literal>none</literal> (generally this is the default if no optimizer was specified): This says to not perform any optimizations, and hit the database each and every request."
-msgstr "<literal>column</literal> (옵션 - 디폴트는 <literal>class</literal>) discriminator 컬럼명."
+#. Tag: para
+#: basic_mapping.xml:909
+#, no-c-format
+msgid ""
+"<literal>none</literal> (generally this is the default if no optimizer was "
+"specified): This says to not perform any optimizations, and hit the database "
+"each and every request."
+msgstr ""
+"<literal>none</literal> (generally this is the default if no optimizer was "
+"specified): This says to not perform any optimizations, and hit the database "
+"each and every request."
 
-#: index.docbook:915
-msgid "<literal>hilo</literal>: applies a hi/lo algorithm around the database retrieved values. The values from the database for this optimizer are expected to be sequential. The values retrieved from the database structure for this optimizer indicates the \"group number\"; the <literal>increment_size</literal> is multiplied by that value in memory to define a group \"hi value\"."
-msgstr "<literal>type</literal> (옵션 - 디폴트는 <literal>string</literal>) Hibernate 타입을 나타내는 이름"
+#. Tag: para
+#: basic_mapping.xml:915
+#, no-c-format
+msgid ""
+"<literal>hilo</literal>: applies a hi/lo algorithm around the database "
+"retrieved values. The values from the database for this optimizer are "
+"expected to be sequential. The values retrieved from the database structure "
+"for this optimizer indicates the \"group number\"; the "
+"<literal>increment_size</literal> is multiplied by that value in memory to "
+"define a group \"hi value\"."
+msgstr ""
+"<literal>hilo</literal>: applies a hi/lo algorithm around the database "
+"retrieved values. The values from the database for this optimizer are "
+"expected to be sequential. The values retrieved from the database structure "
+"for this optimizer indicates the \"group number\"; the "
+"<literal>increment_size</literal> is multiplied by that value in memory to "
+"define a group \"hi value\"."
 
-#: index.docbook:924
-msgid "<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, this optimizers attempts to minimize the number of hits to the database. Here, however, we simply store the starting value for the \"next group\" into the database structure rather than a sequential value in combination with an in-memory grouping algorithm. <literal>increment_size</literal> here refers to the values coming from the database."
-msgstr "<literal>force</literal> (옵션 - 디폴트는 <literal>false</literal>) 이것은 Hibernate로 하여금 루트 클래스의 모든 인스턴스들을 검색할 때조차도 허용된 discriminator 값들을 지정하도록 \"강제한다\"."
+#. Tag: para
+#: basic_mapping.xml:924
+#, no-c-format
+msgid ""
+"<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, "
+"this optimizers attempts to minimize the number of hits to the database. "
+"Here, however, we simply store the starting value for the \"next group\" "
+"into the database structure rather than a sequential value in combination "
+"with an in-memory grouping algorithm. <literal>increment_size</literal> here "
+"refers to the values coming from the database."
+msgstr ""
+"<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, "
+"this optimizers attempts to minimize the number of hits to the database. "
+"Here, however, we simply store the starting value for the \"next group\" "
+"into the database structure rather than a sequential value in combination "
+"with an in-memory grouping algorithm. <literal>increment_size</literal> here "
+"refers to the values coming from the database."
 
-#: index.docbook:937
+#. Tag: title
+#: basic_mapping.xml:937
+#, no-c-format
 msgid "composite-id"
-msgstr "<literal>insert</literal> (옵션 - 디폴트는 <literal>true</literal>) 당신의 discriminator 컬럼이 또한 매핑된 composite 식별자의 부분일 경우에 이것을 <literal>false</literal>로 설정하라. (Hibernate에게 SQL <literal>INSERT</literal>들 속에 그 컬럼을 포함하지 않도록 통보한다.)"
+msgstr "composite-id"
 
-#: index.docbook:939
+#. Tag: programlisting
+#: basic_mapping.xml:939
+#, no-c-format
 msgid ""
-      "<![CDATA[<composite-id\n"
-      "        name=\"propertyName\"\n"
-      "        class=\"ClassName\"\n"
-      "        mapped=\"true|false\"\n"
-      "        access=\"field|property|ClassName\">\n"
-      "        node=\"element-name|.\"\n"
-      "\n"
-      "        <key-property name=\"propertyName\" type=\"typename\" column=\"column_name\"/>\n"
-      "        <key-many-to-one name=\"propertyName class=\"ClassName\" column=\"column_name\"/>\n"
-      "        ......\n"
-      "</composite-id>]]>"
-msgstr "<literal>formula</literal> (옵션) 타입이 평가 되어야 할 때 실행되는 임의의 SQL 표현식. 컨텐츠 기반의 판별을 허용해준다."
+"<![CDATA[<composite-id\n"
+"        name=\"propertyName\"\n"
+"        class=\"ClassName\"\n"
+"        mapped=\"true|false\"\n"
+"        access=\"field|property|ClassName\">\n"
+"        node=\"element-name|.\"\n"
+"\n"
+"        <key-property name=\"propertyName\" type=\"typename\" column="
+"\"column_name\"/>\n"
+"        <key-many-to-one name=\"propertyName class=\"ClassName\" column="
+"\"column_name\"/>\n"
+"        ......\n"
+"</composite-id>]]>"
+msgstr ""
 
-#: index.docbook:941
-msgid "For a table with a composite key, you may map multiple properties of the class as identifier properties. The <literal>&lt;composite-id&gt;</literal> element accepts <literal>&lt;key-property&gt;</literal> property mappings and <literal>&lt;key-many-to-one&gt;</literal> mappings as child elements."
-msgstr "discriminator 컬럼의 실제 값들은 <literal>&lt;class&gt;</literal> 요소와 <literal>&lt;subclass&gt;</literal> 요소의 <literal>discriminator-value</literal> 속성에 의해 지정된다."
+#. Tag: para
+#: basic_mapping.xml:941
+#, no-c-format
+msgid ""
+"For a table with a composite key, you may map multiple properties of the "
+"class as identifier properties. The <literal>&lt;composite-id&gt;</literal> "
+"element accepts <literal>&lt;key-property&gt;</literal> property mappings "
+"and <literal>&lt;key-many-to-one&gt;</literal> mappings as child elements."
+msgstr ""
+"composite 키를 가진 테이블의 경우, 당신은 클래스의 여러 프로퍼티들을 식별자 "
+"프로퍼티들로서 매핑할 수 있다. <literal>&lt;composite-id&gt;</literal> 요소"
+"는 자식 요소들로서 <literal>&lt;key-property&gt;</literal> 프로퍼티 매핑과 "
+"<literal>&lt;key-many-to-one&gt;</literal> 매핑들을 허용한다."
 
-#: index.docbook:948
+#. Tag: programlisting
+#: basic_mapping.xml:948
+#, no-c-format
 msgid ""
-      "<![CDATA[<composite-id>\n"
-      "        <key-property name=\"medicareNumber\"/>\n"
-      "        <key-property name=\"dependent\"/>\n"
-      "</composite-id>]]>"
-msgstr "<literal>force</literal> 속성은 테이블이 영속 클래스로 매핑되지 않는 \"특별한\" discriminator 값들을 가진 행들을 포함할 경우에(만) 유용하다. 이것은 대개 그 경우가 아닐 것이다."
+"<![CDATA[<composite-id>\n"
+"        <key-property name=\"medicareNumber\"/>\n"
+"        <key-property name=\"dependent\"/>\n"
+"</composite-id>]]>"
+msgstr ""
 
-#: index.docbook:950
-msgid "Your persistent class <emphasis>must</emphasis> override <literal>equals()</literal> and <literal>hashCode()</literal> to implement composite identifier equality. It must also implements <literal>Serializable</literal>."
-msgstr "<literal>formula</literal> 속성을 사용하여 당신은 행의 타입을 판단하는데 사용될 임의의 SQL 표현식을 선언할 수 있다:"
+#. Tag: para
+#: basic_mapping.xml:950
+#, no-c-format
+msgid ""
+"Your persistent class <emphasis>must</emphasis> override <literal>equals()</"
+"literal> and <literal>hashCode()</literal> to implement composite identifier "
+"equality. It must also implements <literal>Serializable</literal>."
+msgstr ""
+"당신의 영속 클래스는 composite 식별자 동등성을 구현하기 위해서 "
+"<literal>equals()</literal>와 <literal>hashCode()</literal>를 오버라이드 "
+"<emphasis>시켜야 한다</emphasis>. 그것은 또한 <literal>Serializable</literal>"
+"을 구현해야 한다."
 
-#: index.docbook:956
-msgid "Unfortunately, this approach to composite identifiers means that a persistent object is its own identifier. There is no convenient \"handle\" other than the object itself. You must instantiate an instance of the persistent class itself and populate its identifier properties before you can <literal>load()</literal> the persistent state associated with a composite key. We call this approach an <emphasis>embedded</emphasis> composite identifier, and discourage it for serious applications."
+#. Tag: para
+#: basic_mapping.xml:956
+#, no-c-format
+msgid ""
+"Unfortunately, this approach to composite identifiers means that a "
+"persistent object is its own identifier. There is no convenient \"handle\" "
+"other than the object itself. You must instantiate an instance of the "
+"persistent class itself and populate its identifier properties before you "
+"can <literal>load()</literal> the persistent state associated with a "
+"composite key. We call this approach an <emphasis>embedded</emphasis> "
+"composite identifier, and discourage it for serious applications."
 msgstr ""
-      "<![CDATA[<discriminator\n"
-      "    formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
-      "    type=\"integer\"/>]]>"
+"불행히도, composite 식별자들에 대한 이 접근법은 영속 객체가 그것 자신의 식별"
+"자라는 점을 의미한다. 객체 자신 외의 다른 \"핸들\"이 존재하지 않는다. 당신은 "
+"당신이 composite key로 연관된 영속 상태를 <literal>load()</literal> 할 수 있"
+"기 이전에 영속 클래스 그 자체의 인스턴스를 초기화 하고 그것의 식별자 프로퍼티"
+"들을 군집화 시켜야 한다. 우리는 이 접근법을 <emphasis>embedded</emphasis> "
+"composite 식별자로 부르고, 중대한 어플리케이션들에 대해 그것을 억제시킨다."
 
-#: index.docbook:965
-msgid "A second approach is what we call a <emphasis>mapped</emphasis> composite identifier, where the identifier properties named inside the <literal>&lt;composite-id&gt;</literal> element are duplicated on both the persistent class and a separate identifier class."
-msgstr "version (옵션)"
+#. Tag: para
+#: basic_mapping.xml:965
+#, no-c-format
+msgid ""
+"A second approach is what we call a <emphasis>mapped</emphasis> composite "
+"identifier, where the identifier properties named inside the <literal>&lt;"
+"composite-id&gt;</literal> element are duplicated on both the persistent "
+"class and a separate identifier class."
+msgstr ""
+"두 번째 접근법은 우리가 <emphasis>mapped</emphasis> composite 식별자라고 부르"
+"는 것인데, 여기서 <literal>&lt;composite-id&gt;</literal> 요소 내에 명명된 여"
+"기서 식별자 프로퍼티들은 영속 클래스와 별도의 식별자 클래스 양자 상에 중복된"
+"다."
 
-#: index.docbook:971
+#. Tag: programlisting
+#: basic_mapping.xml:971
+#, no-c-format
 msgid ""
-      "<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
-      "        <key-property name=\"medicareNumber\"/>\n"
-      "        <key-property name=\"dependent\"/>\n"
-      "</composite-id>]]>"
-msgstr "<literal>&lt;version&gt;</literal> 요소는 옵션이고 테이블이 버전화된 데이터를 포함한다는 것을 나타낸다. 이것은 당신이 <emphasis>긴 트랜잭션(long transaction)들</emphasis>을 사용할 계획이라면 특히 유용하다 (아래를 보라)."
+"<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
+"        <key-property name=\"medicareNumber\"/>\n"
+"        <key-property name=\"dependent\"/>\n"
+"</composite-id>]]>"
+msgstr ""
 
-#: index.docbook:973
-msgid "In this example, both the composite identifier class, <literal>MedicareId</literal>, and the entity class itself have properties named <literal>medicareNumber</literal> and <literal>dependent</literal>. The identifier class must override <literal>equals()</literal> and <literal>hashCode()</literal> and implement. <literal>Serializable</literal>. The disadvantage of this approach is quite obvious&mdash;code duplication."
+#. Tag: para
+#: basic_mapping.xml:973
+#, no-c-format
+msgid ""
+"In this example, both the composite identifier class, <literal>MedicareId</"
+"literal>, and the entity class itself have properties named "
+"<literal>medicareNumber</literal> and <literal>dependent</literal>. The "
+"identifier class must override <literal>equals()</literal> and "
+"<literal>hashCode()</literal> and implement. <literal>Serializable</"
+"literal>. The disadvantage of this approach is quite obvious&mdash;code "
+"duplication."
 msgstr ""
-      "<![CDATA[<version\n"
-      "        column=\"version_column\"\n"
-      "        name=\"propertyName\"\n"
-      "        type=\"typename\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unsaved-value=\"null|negative|undefined\"\n"
-      "        generated=\"never|always\"\n"
-      "        insert=\"true|false\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "/>]]>"
+"이 예제에서, composite 식별자 클래스인 <literal>MedicareId</literal>와 엔티"
+"티 크래스 그 자체 양자는 <literal>medicareNumber</literal>와 "
+"<literal>dependent</literal>로 명명된 프로퍼티들을 갖는다. 식별자 클래스는 "
+"<literal>equals()</literal>와 <literal>hashCode()</literal>를 오버라이드 시켜"
+"고 <literal>Serializable</literal>을 구현해야 한다. 이 접근법의 단점은 아주 "
+"명백한&mdash;코드 중복이다."
 
-#: index.docbook:982
-msgid "The following attributes are used to specify a mapped composite identifier:"
-msgstr "<literal>column</literal> (옵션 - 디폴트는 프로퍼티 명): 버전 번호를 가진 컬럼의 이름."
+#. Tag: para
+#: basic_mapping.xml:982
+#, no-c-format
+msgid ""
+"The following attributes are used to specify a mapped composite identifier:"
+msgstr "다음 속성들은 매핑된 composite 식별자를 지정하는데 사용된다:"
 
-#: index.docbook:988
-msgid "<literal>mapped</literal> (optional, defaults to <literal>false</literal>): indicates that a mapped composite identifier is used, and that the contained property mappings refer to both the entity class and the composite identifier class."
-msgstr "<literal>name</literal>: 영속 클래스의 프로퍼티 명."
+#. Tag: para
+#: basic_mapping.xml:988
+#, no-c-format
+msgid ""
+"<literal>mapped</literal> (optional, defaults to <literal>false</literal>): "
+"indicates that a mapped composite identifier is used, and that the contained "
+"property mappings refer to both the entity class and the composite "
+"identifier class."
+msgstr ""
+"<literal>mapped</literal> (옵션, 디폴트는 <literal>false</literal>): 하나의 "
+"매핑된 composite 식별자가 사용됨을, 그리고 포함된 프로퍼티 매핑들이 엔티티 클"
+"래스와 composite 식별자 클래스 양자를 참조함을 나타낸다."
 
-#: index.docbook:996
-msgid "<literal>class</literal> (optional, but required for a mapped composite identifier): The class used as a composite identifier."
-msgstr "<literal>type</literal> (옵션 - 디폴트는 <literal>integer</literal>): 버전 번호의 타입."
+#. Tag: para
+#: basic_mapping.xml:996
+#, no-c-format
+msgid ""
+"<literal>class</literal> (optional, but required for a mapped composite "
+"identifier): The class used as a composite identifier."
+msgstr ""
+"<literal>class</literal> (옵션, 하지만 하나의 매핑된 commposite 식별자에 대해"
+"서는 필수적임): 하나의 composite 식별자로서 사용되는 클래스."
 
-#: index.docbook:1003
-msgid "We will describe a third, even more convenient approach where the composite identifier is implemented as a component class in <xref linkend=\"components-compositeid\"/>. The attributes described below apply only to this alternative approach:"
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 액세스하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:1003
+#, no-c-format
+msgid ""
+"We will describe a third, even more convenient approach where the composite "
+"identifier is implemented as a component class in <xref linkend=\"components-"
+"compositeid\"/>. The attributes described below apply only to this "
+"alternative approach:"
+msgstr ""
+"우리는 <xref linkend=\"components-compositeid\"/>에서 composite 식별자가 하나"
+"의 component 클래스로서 구현되는 보다 편리한 접근법인 세번째 방도를 설명할 것"
+"이다. 아래에 설명되어 있는 속성들은 이 대체적인 접근법에만 적용된다:"
 
-#: index.docbook:1011
-msgid "<literal>name</literal> (optional, required for this approach): A property of component type that holds the composite identifier (see chapter 9)."
-msgstr "<literal>unsaved-value</literal> (옵션 - 디폴트는 <literal>undefined</literal>): 이전 세션에서 저장되었거나 로드되었던 detached 인스턴스로부터 구별지어서, 인스턴스가 새로이 초기화됨(unsaved)을 나타내는 version 프로퍼티 값.(<literal>undefined</literal>는 식별자 프로퍼티 값이 사용될 것임을 지정한다.)"
+#. Tag: para
+#: basic_mapping.xml:1011
+#, no-c-format
+msgid ""
+"<literal>name</literal> (optional, required for this approach): A property "
+"of component type that holds the composite identifier (see chapter 9)."
+msgstr ""
+"<literal>name</literal> (옵션, 이 접근법의 경우에는 필수임): 하나의 "
+"component 식별자를 소유하는 컴포넌트 타입의 프로퍼티(9장을 보라)."
 
-#: index.docbook:1023
-msgid "<literal>class</literal> (optional - defaults to the property type determined by reflection): The component class used as a composite identifier (see next section)."
-msgstr "<literal>insert</literal> (옵션 - 디폴트는 <literal>true</literal>): version 컬럼이 SQL insert 문장들 속에 포함될 것인지 여부를 지정한다. 데이터베이스 컬럼이 디폴트 값 <literal>0</literal>으로 정의되는 경우에만 <literal>false</literal>로 설정될 수 있다."
+#. Tag: para
+#: basic_mapping.xml:1023
+#, no-c-format
+msgid ""
+"<literal>class</literal> (optional - defaults to the property type "
+"determined by reflection): The component class used as a composite "
+"identifier (see next section)."
+msgstr ""
+"<literal>class</literal> (옵션 - 디폴트는 reflection에 의해 결정된 프로퍼티 "
+"타입): 하나의 composite 식별자로서 사용되는 컴포넌트 클래스(다음 절을 보라)."
 
-#: index.docbook:1030
-msgid "This third approach, an <emphasis>identifier component</emphasis> is the one we recommend for almost all applications."
-msgstr "버전 번호들은 <literal>long</literal>, <literal>integer</literal>, <literal>short</literal>, <literal>timestamp</literal> 또는 <literal>calendar</literal> 타입일 수 있다."
+#. Tag: para
+#: basic_mapping.xml:1030
+#, no-c-format
+msgid ""
+"This third approach, an <emphasis>identifier component</emphasis> is the one "
+"we recommend for almost all applications."
+msgstr ""
+"이 세번째 접근법, <emphasis>identifier component</emphasis>은 거의 모든 어플"
+"리케이션들에 대해 우리가 권장하는 것이다."
 
-#: index.docbook:1038
+#. Tag: title
+#: basic_mapping.xml:1038
+#, no-c-format
 msgid "discriminator"
-msgstr "version 또는 timestamp 프로퍼티는 detached 인스턴스에 대해 결코 null일 수가 없어서, Hibernate는 다른 <literal>unsaved-value</literal> 방도들이 지정되는 것에 상관없이, null version이나 timestamp를 가진 임의의 인스턴스를 transient로서 검출할 것이다. <emphasis>null 허용되는 version 이나 property를 선언하는 것은 Hibernate에서 transitive reattachment에 대한 임의의 문제들을 피하는 쉬운 방법이고, assigned 식별자들이나 composite key들을 사용하는 사람들에게 특히 유용하다!</emphasis>"
+msgstr "discriminator"
 
-#: index.docbook:1040
-msgid "The <literal>&lt;discriminator&gt;</literal> element is required for polymorphic persistence using the table-per-class-hierarchy mapping strategy and declares a discriminator column of the table. The discriminator column contains marker values that tell the persistence layer what subclass to instantiate for a particular row. A restricted set of types may be used: <literal>string</literal>, <literal>character</literal>, <literal>integer</literal>, <literal>byte</literal>, <literal>short</literal>, <literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</literal>."
-msgstr "timestamp (옵션)"
+#. Tag: para
+#: basic_mapping.xml:1040
+#, no-c-format
+msgid ""
+"The <literal>&lt;discriminator&gt;</literal> element is required for "
+"polymorphic persistence using the table-per-class-hierarchy mapping strategy "
+"and declares a discriminator column of the table. The discriminator column "
+"contains marker values that tell the persistence layer what subclass to "
+"instantiate for a particular row. A restricted set of types may be used: "
+"<literal>string</literal>, <literal>character</literal>, <literal>integer</"
+"literal>, <literal>byte</literal>, <literal>short</literal>, "
+"<literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</"
+"literal>."
+msgstr ""
+"<literal>&lt;discriminator&gt;</literal> 요소는 table-per-class-hierarchy(테"
+"이블 당 클래스 계층구조) 매핑 방도를 사용하는 다형성 영속화에 필요하고 테이블"
+"의 discriminator(판별자) 컬럼을 선언한다. discriminator 컬럼은 특정 행에 대"
+"해 초기화 시킬 서브 클래스가 무엇인지를 영속 계층에 알려주는 표시자 값들을 포"
+"함한다. 타입들의 제한적인 집합이 사용될 수 있다: <literal>string</literal>, "
+"<literal>character</literal>, <literal>integer</literal>, <literal>byte</"
+"literal>, <literal>short</literal>, <literal>boolean</literal>, "
+"<literal>yes_no</literal>, <literal>true_false</literal>."
 
-#: index.docbook:1058
+#. Tag: programlisting
+#: basic_mapping.xml:1058
+#, no-c-format
 msgid ""
-      "<![CDATA[<discriminator\n"
-      "        column=\"discriminator_column\"\n"
-      "        type=\"discriminator_type\"\n"
-      "        force=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        formula=\"arbitrary sql expression\"\n"
-      "/>]]>"
-msgstr "옵션 <literal>&lt;timestamp&gt;</literal> 요소는 테이블이 타임스탬프화 된 데이터를 포함함을 나타낸다. 이것은 버전화에 대한 대체물로서 고안되었다. Timestamp은 고유하게 optimistic 잠금에 대한 다소 안전한 구현이다. 하지만 때때로 어플리케이션은 다른 방법들로 timestamp들을 사용할 수도 있다."
+"<![CDATA[<discriminator\n"
+"        column=\"discriminator_column\"\n"
+"        type=\"discriminator_type\"\n"
+"        force=\"true|false\"\n"
+"        insert=\"true|false\"\n"
+"        formula=\"arbitrary sql expression\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:1061
-msgid "<literal>column</literal> (optional - defaults to <literal>class</literal>) the name of the discriminator column."
+#. Tag: para
+#: basic_mapping.xml:1061
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to <literal>class</literal>) "
+"the name of the discriminator column."
 msgstr ""
-      "<![CDATA[<timestamp\n"
-      "        column=\"timestamp_column\"\n"
-      "        name=\"propertyName\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unsaved-value=\"null|undefined\"\n"
-      "        source=\"vm|db\"\n"
-      "        generated=\"never|always\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "/>]]>"
+"<literal>column</literal> (옵션 - 디폴트는 <literal>class</literal>) "
+"discriminator 컬럼명."
 
-#: index.docbook:1067
-msgid "<literal>type</literal> (optional - defaults to <literal>string</literal>) a name that indicates the Hibernate type"
-msgstr "<literal>column</literal> (옵션 - 디폴트는 프로퍼티 명): 타임스탬프를 포함하는 컬럼 명."
+#. Tag: para
+#: basic_mapping.xml:1067
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional - defaults to <literal>string</literal>) a "
+"name that indicates the Hibernate type"
+msgstr ""
+"<literal>type</literal> (옵션 - 디폴트는 <literal>string</literal>) "
+"Hibernate 타입을 나타내는 이름"
 
-#: index.docbook:1073
-msgid "<literal>force</literal> (optional - defaults to <literal>false</literal>) \"force\" Hibernate to specify allowed discriminator values even when retrieving all instances of the root class."
-msgstr "<literal>name</literal>: 영속 클래스에 대해 자바 <literal>Date</literal> 또는 <literal>Timestamp</literal> 타입을 가진 자바빈즈 스타일의 프로퍼티 이름."
+#. Tag: para
+#: basic_mapping.xml:1073
+#, no-c-format
+msgid ""
+"<literal>force</literal> (optional - defaults to <literal>false</literal>) "
+"\"force\" Hibernate to specify allowed discriminator values even when "
+"retrieving all instances of the root class."
+msgstr ""
+"<literal>force</literal> (옵션 - 디폴트는 <literal>false</literal>) 이것은 "
+"Hibernate로 하여금 루트 클래스의 모든 인스턴스들을 검색할 때조차도 허용된 "
+"discriminator 값들을 지정하도록 \"강제한다\"."
 
-#: index.docbook:1080
-msgid "<literal>insert</literal> (optional - defaults to <literal>true</literal>) set this to <literal>false</literal> if your discriminator column is also part of a mapped composite identifier. (Tells Hibernate to not include the column in SQL <literal>INSERT</literal>s.)"
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 접근하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:1080
+#, no-c-format
+msgid ""
+"<literal>insert</literal> (optional - defaults to <literal>true</literal>) "
+"set this to <literal>false</literal> if your discriminator column is also "
+"part of a mapped composite identifier. (Tells Hibernate to not include the "
+"column in SQL <literal>INSERT</literal>s.)"
+msgstr ""
+"<literal>insert</literal> (옵션 - 디폴트는 <literal>true</literal>) 당신의 "
+"discriminator 컬럼이 또한 매핑된 composite 식별자의 부분일 경우에 이것을 "
+"<literal>false</literal>로 설정하라. (Hibernate에게 SQL <literal>INSERT</"
+"literal>들 속에 그 컬럼을 포함하지 않도록 통보한다.)"
 
-#: index.docbook:1088
-msgid "<literal>formula</literal> (optional) an arbitrary SQL expression that is executed when a type has to be evaluated. Allows content-based discrimination."
-msgstr "<literal>unsaved-value</literal> (옵션 - 디폴트는 <literal>null</literal>): 이전 세션에서 저장되었거나 로드되었던 detached 인스턴스로부터 인스턴스를 구별지우는, 인스턴스가 새로이 초기화됨(unsaved)을 나타내는 version 프로퍼티 값.(<literal>undefined</literal>는 식별자 프로퍼티 값이 사용될 것임을 지정한다.)"
+#. Tag: para
+#: basic_mapping.xml:1088
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional) an arbitrary SQL expression that is "
+"executed when a type has to be evaluated. Allows content-based "
+"discrimination."
+msgstr ""
+"<literal>formula</literal> (옵션) 타입이 평가 되어야 할 때 실행되는 임의의 "
+"SQL 표현식. 컨텐츠 기반의 판별을 허용해준다."
 
-#: index.docbook:1096
-msgid "Actual values of the discriminator column are specified by the <literal>discriminator-value</literal> attribute of the <literal>&lt;class&gt;</literal> and <literal>&lt;subclass&gt;</literal> elements."
-msgstr "<literal>source</literal> (옵션 - 디폴트는 <literal>vm</literal>): Hibernate는 어디서 timestamp 값을 검색할 것인가? 데이터베이스로부터인가 현재의 JVM으로부터인가? 데이터베이스 기반의 timestamp들은 Hibernate가 \"다음 값\"을 결정하기 위해 데이터베이스에 접속해야 하기 때문에 오버헤드를 초래하지만, 클러스터링된 환경들에서의 용도로 보다 더 안전할 것이다. 또한 모든 <literal>Dialect</literal>들이 데이터베이스의 현재의 timestamp에 대한 검색을 지원하는 것으로 알려져 있지 않지만, 다른 <literal>Dialect</literal>들은 정밀도 결핍 때문에 잠금에 있어 사용이 안전하지 않을 수 있음을 노트하라(예를 들면 오라클 8)."
+#. Tag: para
+#: basic_mapping.xml:1096
+#, no-c-format
+msgid ""
+"Actual values of the discriminator column are specified by the "
+"<literal>discriminator-value</literal> attribute of the <literal>&lt;"
+"class&gt;</literal> and <literal>&lt;subclass&gt;</literal> elements."
+msgstr ""
+"discriminator 컬럼의 실제 값들은 <literal>&lt;class&gt;</literal> 요소와 "
+"<literal>&lt;subclass&gt;</literal> 요소의 <literal>discriminator-value</"
+"literal> 속성에 의해 지정된다."
 
-#: index.docbook:1102
-msgid "The <literal>force</literal> attribute is (only) useful if the table contains rows with \"extra\" discriminator values that are not mapped to a persistent class. This will not usually be the case."
-msgstr "<literal>generated</literal> (옵션 - 디폴트는 <literal>never</literal>): 이 timestamp 프로퍼티 값이 데이터베이스에 의해 실제로 생성됨을 지정한다. <xref linkend=\"mapping-generated\"/>산출되는 프로퍼티들에 대한 논의들 보라."
+#. Tag: para
+#: basic_mapping.xml:1102
+#, no-c-format
+msgid ""
+"The <literal>force</literal> attribute is (only) useful if the table "
+"contains rows with \"extra\" discriminator values that are not mapped to a "
+"persistent class. This will not usually be the case."
+msgstr ""
+"<literal>force</literal> 속성은 테이블이 영속 클래스로 매핑되지 않는 \"특별한"
+"\" discriminator 값들을 가진 행들을 포함할 경우에(만) 유용하다. 이것은 대개 "
+"그 경우가 아닐 것이다."
 
-#: index.docbook:1108
-msgid "Using the <literal>formula</literal> attribute you can declare an arbitrary SQL expression that will be used to evaluate the type of a row:"
-msgstr "<literal>&lt;timestamp&gt;</literal>는 <literal>&lt;version type=\"timestamp\"&gt;</literal>과 같음을 노트하라. 그리고 <literal>&lt;timestamp use-db=\"true\"&gt;</literal>는 <literal>&lt;version type=\"dbtimestamp\"&gt;</literal>과 같다"
+#. Tag: para
+#: basic_mapping.xml:1108
+#, no-c-format
+msgid ""
+"Using the <literal>formula</literal> attribute you can declare an arbitrary "
+"SQL expression that will be used to evaluate the type of a row:"
+msgstr ""
+"<literal>formula</literal> 속성을 사용하여 당신은 행의 타입을 판단하는데 사용"
+"될 임의의 SQL 표현식을 선언할 수 있다:"
 
-#: index.docbook:1113
+#. Tag: programlisting
+#: basic_mapping.xml:1113
+#, no-c-format
 msgid ""
-      "<![CDATA[<discriminator\n"
-      "    formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
-      "    type=\"integer\"/>]]>"
-msgstr "프로퍼티"
+"<![CDATA[<discriminator\n"
+"    formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
+"    type=\"integer\"/>]]>"
+msgstr ""
 
-#: index.docbook:1118
+#. Tag: title
+#: basic_mapping.xml:1118
+#, no-c-format
 msgid "version (optional)"
-msgstr "<literal>&lt;property&gt;</literal> 요소는 클래스의 자바빈즈 스타일의 영속 프로퍼티를 선언한다."
+msgstr "version (옵션)"
 
-#: index.docbook:1120
-msgid "The <literal>&lt;version&gt;</literal> element is optional and indicates that the table contains versioned data. This is particularly useful if you plan to use <emphasis>long transactions</emphasis> (see below)."
+#. Tag: para
+#: basic_mapping.xml:1120
+#, no-c-format
+msgid ""
+"The <literal>&lt;version&gt;</literal> element is optional and indicates "
+"that the table contains versioned data. This is particularly useful if you "
+"plan to use <emphasis>long transactions</emphasis> (see below)."
 msgstr ""
-      "<![CDATA[<property\n"
-      "        name=\"propertyName\"\n"
-      "        column=\"column_name\"\n"
-      "        type=\"typename\"\n"
-      "        update=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        formula=\"arbitrary SQL expression\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        lazy=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-null=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        generated=\"never|insert|always\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        index=\"index_name\"\n"
-      "        unique_key=\"unique_key_id\"\n"
-      "        length=\"L\"\n"
-      "        precision=\"P\"\n"
-      "        scale=\"S\"\n"
-      "/>]]>"
+"<literal>&lt;version&gt;</literal> 요소는 옵션이고 테이블이 버전화된 데이터"
+"를 포함한다는 것을 나타낸다. 이것은 당신이 <emphasis>긴 트랜잭션(long "
+"transaction)들</emphasis>을 사용할 계획이라면 특히 유용하다 (아래를 보라)."
 
-#: index.docbook:1136
+#. Tag: programlisting
+#: basic_mapping.xml:1136
+#, no-c-format
 msgid ""
-      "<![CDATA[<version\n"
-      "        column=\"version_column\"\n"
-      "        name=\"propertyName\"\n"
-      "        type=\"typename\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unsaved-value=\"null|negative|undefined\"\n"
-      "        generated=\"never|always\"\n"
-      "        insert=\"true|false\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "/>]]>"
-msgstr "<literal>name</literal>: 첫 소문자로 시작하는 프로퍼티 이름."
+"<![CDATA[<version\n"
+"        column=\"version_column\"\n"
+"        name=\"propertyName\"\n"
+"        type=\"typename\"\n"
+"        access=\"field|property|ClassName\"\n"
+"        unsaved-value=\"null|negative|undefined\"\n"
+"        generated=\"never|always\"\n"
+"        insert=\"true|false\"\n"
+"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:1139
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of the column holding the version number."
-msgstr "<literal>column</literal> (옵션 - 디폴트는 프로퍼티 이름): 매핑된 데이터베이스 테이블 컬럼의 이름. 이것은 또한 내부에 포함되는 <literal>&lt;column&gt;</literal> 요소(들)에 의해 지정될 수도 있다."
+#. Tag: para
+#: basic_mapping.xml:1139
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of the column holding the version number."
+msgstr ""
+"<literal>column</literal> (옵션 - 디폴트는 프로퍼티 명): 버전 번호를 가진 컬"
+"럼의 이름."
 
-#: index.docbook:1145
-msgid "<literal>name</literal>: The name of a property of the persistent class."
-msgstr "<literal>type</literal> (옵션): Hibernate 타입을 나타내는 이름."
+#. Tag: para
+#: basic_mapping.xml:1145
+#, no-c-format
+msgid ""
+"<literal>name</literal>: The name of a property of the persistent class."
+msgstr "<literal>name</literal>: 영속 클래스의 프로퍼티 명."
 
-#: index.docbook:1150
-msgid "<literal>type</literal> (optional - defaults to <literal>integer</literal>): The type of the version number."
-msgstr "<literal>update, insert</literal> (옵션 - 디폴트는 <literal>true</literal>) : 매핑된 컬럼들이 <literal>UPDATE</literal>와/또는 <literal>INSERT</literal> 문장들속에 포함될 것임을 지정한다. 둘다 <literal>false</literal>로 설정하는 것은 그 값이 동일한 컬럼(들)로 매핑되는 어떤 다른 프로퍼티로부터 또는 트리거에 의해 또는 다른 어플리케이션으로부터 초기화 되는 순수하게 \"파생된(derived)\" 프로퍼티를 허용해준다."
+#. Tag: para
+#: basic_mapping.xml:1150
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional - defaults to <literal>integer</literal>): "
+"The type of the version number."
+msgstr ""
+"<literal>type</literal> (옵션 - 디폴트는 <literal>integer</literal>): 버전 번"
+"호의 타입."
 
-#: index.docbook:1162
-msgid "<literal>unsaved-value</literal> (optional - defaults to <literal>undefined</literal>): A version property value that indicates that an instance is newly instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session. (<literal>undefined</literal> specifies that the identifier property value should be used.)"
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 접근하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:1162
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to <literal>undefined</"
+"literal>): A version property value that indicates that an instance is newly "
+"instantiated (unsaved), distinguishing it from detached instances that were "
+"saved or loaded in a previous session. (<literal>undefined</literal> "
+"specifies that the identifier property value should be used.)"
+msgstr ""
+"<literal>unsaved-value</literal> (옵션 - 디폴트는 <literal>undefined</"
+"literal>): 이전 세션에서 저장되었거나 로드되었던 detached 인스턴스로부터 구별"
+"지어서, 인스턴스가 새로이 초기화됨(unsaved)을 나타내는 version 프로퍼티 값."
+"(<literal>undefined</literal>는 식별자 프로퍼티 값이 사용될 것임을 지정한다.)"
 
-#: index.docbook:1171
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this version property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "<literal>lazy</literal> (옵션 - 디폴트는 <literal>false</literal>): 인스턴스 변수가 처음으로 액세스 될 때 이 프로퍼티가 lazily하게 페치될 것임을 지정한다(빌드-시 바이트코드 수단을 필요로 한다)."
+#. Tag: para
+#: basic_mapping.xml:1171
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this version property value is actually generated "
+"by the database. See the discussion of <link linkend=\"mapping-generated"
+"\">generated properties</link>."
+msgstr ""
+"<literal>generated</literal> (옵션 - 디폴트는 <literal>never</literal>): 이 "
+"version 프로퍼티 값이 데이터베이스에 의해 실제로 산출되는지를 지정한다. "
+"<xref linkend=\"mapping-generated\">산출되는 프로퍼티들</xref>에 관한 논의를 "
+"보라."
 
-#: index.docbook:1178
-msgid "<literal>insert</literal> (optional - defaults to <literal>true</literal>): Specifies whether the version column should be included in SQL insert statements. May be set to <literal>false</literal> if and only if the database column is defined with a default value of <literal>0</literal>."
-msgstr "<literal>unique</literal> (옵션): 컬럼들에 대한 유일 컨스트레인트의 DDL 생성을 가능하게 만든다. 또한 이것이 <literal>property-ref</literal>의 타켓이 되는 것을 허용해준다."
+#. Tag: para
+#: basic_mapping.xml:1178
+#, no-c-format
+msgid ""
+"<literal>insert</literal> (optional - defaults to <literal>true</literal>): "
+"Specifies whether the version column should be included in SQL insert "
+"statements. May be set to <literal>false</literal> if and only if the "
+"database column is defined with a default value of <literal>0</literal>."
+msgstr ""
+"<literal>insert</literal> (옵션 - 디폴트는 <literal>true</literal>): version "
+"컬럼이 SQL insert 문장들 속에 포함될 것인지 여부를 지정한다. 데이터베이스 컬"
+"럼이 디폴트 값 <literal>0</literal>으로 정의되는 경우에만 <literal>false</"
+"literal>로 설정될 수 있다."
 
-#: index.docbook:1188
-msgid "Version numbers may be of Hibernate type <literal>long</literal>, <literal>integer</literal>, <literal>short</literal>, <literal>timestamp</literal> or <literal>calendar</literal>."
-msgstr "<literal>not-null</literal> (옵션): 컬럼들에 대해 null 가능 컨스트레인트의 DDL 생성을 가능하게 만든다."
+#. Tag: para
+#: basic_mapping.xml:1188
+#, no-c-format
+msgid ""
+"Version numbers may be of Hibernate type <literal>long</literal>, "
+"<literal>integer</literal>, <literal>short</literal>, <literal>timestamp</"
+"literal> or <literal>calendar</literal>."
+msgstr ""
+"버전 번호들은 <literal>long</literal>, <literal>integer</literal>, "
+"<literal>short</literal>, <literal>timestamp</literal> 또는 "
+"<literal>calendar</literal> 타입일 수 있다."
 
-#: index.docbook:1193
-msgid "A version or timestamp property should never be null for a detached instance, so Hibernate will detect any instance with a null version or timestamp as transient, no matter what other <literal>unsaved-value</literal> strategies are specified. <emphasis>Declaring a nullable version or timestamp property is an easy way to avoid any problems with transitive reattachment in Hibernate, especially useful for people using assigned identifiers or composite keys!</emphasis>"
-msgstr "<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</literal>): 이 프로퍼티에 대한 업데이트들이 optimistic 잠금을 획득하는 것을 필요로 하거나 필요로 하지 않음을 지정한다. 달리말해, 이 프로퍼티가 dirty일 때 버전 증가가 발생할 경우인지를 결정한다."
+#. Tag: para
+#: basic_mapping.xml:1193
+#, no-c-format
+msgid ""
+"A version or timestamp property should never be null for a detached "
+"instance, so Hibernate will detect any instance with a null version or "
+"timestamp as transient, no matter what other <literal>unsaved-value</"
+"literal> strategies are specified. <emphasis>Declaring a nullable version or "
+"timestamp property is an easy way to avoid any problems with transitive "
+"reattachment in Hibernate, especially useful for people using assigned "
+"identifiers or composite keys!</emphasis>"
+msgstr ""
+"version 또는 timestamp 프로퍼티는 detached 인스턴스에 대해 결코 null일 수가 "
+"없어서, Hibernate는 다른 <literal>unsaved-value</literal> 방도들이 지정되는 "
+"것에 상관없이, null version이나 timestamp를 가진 임의의 인스턴스를 transient"
+"로서 검출할 것이다. <emphasis>null 허용되는 version 이나 property를 선언하는 "
+"것은 Hibernate에서 transitive reattachment에 대한 임의의 문제들을 피하는 쉬"
+"운 방법이고, assigned 식별자들이나 composite key들을 사용하는 사람들에게 특"
+"히 유용하다!</emphasis>"
 
-#: index.docbook:1204
+#. Tag: title
+#: basic_mapping.xml:1204
+#, no-c-format
 msgid "timestamp (optional)"
-msgstr "<literal>generated</literal> (옵션 - 디폴트는 <literal>never</literal>): 이 프로퍼티 값이 데이터베이스에 의해 실제로 산출되는지를 지정한다. <xref linkend=\"mapping-generated\"/>산출되는 프로퍼티들에 대한 논의를 보라."
+msgstr "timestamp (옵션)"
 
-#: index.docbook:1206
-msgid "The optional <literal>&lt;timestamp&gt;</literal> element indicates that the table contains timestamped data. This is intended as an alternative to versioning. Timestamps are by nature a less safe implementation of optimistic locking. However, sometimes the application might use the timestamps in other ways."
-msgstr "<emphasis>typename</emphasis>은 다음일 수 있다:"
+#. Tag: para
+#: basic_mapping.xml:1206
+#, no-c-format
+msgid ""
+"The optional <literal>&lt;timestamp&gt;</literal> element indicates that the "
+"table contains timestamped data. This is intended as an alternative to "
+"versioning. Timestamps are by nature a less safe implementation of "
+"optimistic locking. However, sometimes the application might use the "
+"timestamps in other ways."
+msgstr ""
+"옵션 <literal>&lt;timestamp&gt;</literal> 요소는 테이블이 타임스탬프화 된 데"
+"이터를 포함함을 나타낸다. 이것은 버전화에 대한 대체물로서 고안되었다. "
+"Timestamp은 고유하게 optimistic 잠금에 대한 다소 안전한 구현이다. 하지만 때때"
+"로 어플리케이션은 다른 방법들로 timestamp들을 사용할 수도 있다."
 
-#: index.docbook:1222
+#. Tag: programlisting
+#: basic_mapping.xml:1222
+#, no-c-format
 msgid ""
-      "<![CDATA[<timestamp\n"
-      "        column=\"timestamp_column\"\n"
-      "        name=\"propertyName\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unsaved-value=\"null|undefined\"\n"
-      "        source=\"vm|db\"\n"
-      "        generated=\"never|always\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "/>]]>"
-msgstr "Hibernate 기본 타입의 이름 (예를 들어. <literal>integer, string, character, date, timestamp, float, binary, serializable, object, blob</literal>)."
+"<![CDATA[<timestamp\n"
+"        column=\"timestamp_column\"\n"
+"        name=\"propertyName\"\n"
+"        access=\"field|property|ClassName\"\n"
+"        unsaved-value=\"null|undefined\"\n"
+"        source=\"vm|db\"\n"
+"        generated=\"never|always\"\n"
+"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:1225
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of a column holding the timestamp."
-msgstr "디폴트 기본 타입을 가진 Java 클래스의 이름(예를 들어. <literal>int, float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</literal>)."
+#. Tag: para
+#: basic_mapping.xml:1225
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of a column holding the timestamp."
+msgstr ""
+"<literal>column</literal> (옵션 - 디폴트는 프로퍼티 명): 타임스탬프를 포함하"
+"는 컬럼 명."
 
-#: index.docbook:1231
-msgid "<literal>name</literal>: The name of a JavaBeans style property of Java type <literal>Date</literal> or <literal>Timestamp</literal> of the persistent class."
-msgstr "serializable Java 클래스의 이름."
+#. Tag: para
+#: basic_mapping.xml:1231
+#, no-c-format
+msgid ""
+"<literal>name</literal>: The name of a JavaBeans style property of Java type "
+"<literal>Date</literal> or <literal>Timestamp</literal> of the persistent "
+"class."
+msgstr ""
+"<literal>name</literal>: 영속 클래스에 대해 자바 <literal>Date</literal> 또"
+"는 <literal>Timestamp</literal> 타입을 가진 자바빈즈 스타일의 프로퍼티 이름."
 
-#: index.docbook:1244
-msgid "<literal>unsaved-value</literal> (optional - defaults to <literal>null</literal>): A version property value that indicates that an instance is newly instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session. (<literal>undefined</literal> specifies that the identifier property value should be used.)"
-msgstr "만일 당신이 타입을 지정하지 않을 경우, Hibernate는 정확한 Hibernate 타입을 추정하기 위해 명명된 프로퍼티에 대해 reflection을 사용할 것이다. Hibernate는 그 순서에서 2,3,4 규칙들을 사용하여 프로퍼티 getter의 반환 클래스의 이름을 해석하려고 시도할 것이다. 하지만 이것은 항상 충분하지는 않다. 어떤 경우들에서, 당신은 여전히 <literal>type</literal> 속성을 필요로 할 것이다.(예를 들어, <literal>Hibernate.DATE</literal>와 <literal>Hibernate.TIMESTAMP</literal> 사이를 구별하기 위해, 또는 맞춤 타입을 지정하기 위해.)"
+#. Tag: para
+#: basic_mapping.xml:1244
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to <literal>null</"
+"literal>): A version property value that indicates that an instance is newly "
+"instantiated (unsaved), distinguishing it from detached instances that were "
+"saved or loaded in a previous session. (<literal>undefined</literal> "
+"specifies that the identifier property value should be used.)"
+msgstr ""
+"<literal>unsaved-value</literal> (옵션 - 디폴트는 <literal>null</literal>): "
+"이전 세션에서 저장되었거나 로드되었던 detached 인스턴스로부터 인스턴스를 구별"
+"지우는, 인스턴스가 새로이 초기화됨(unsaved)을 나타내는 version 프로퍼티 값."
+"(<literal>undefined</literal>는 식별자 프로퍼티 값이 사용될 것임을 지정한다.)"
 
-#: index.docbook:1253
-msgid "<literal>source</literal> (optional - defaults to <literal>vm</literal>): From where should Hibernate retrieve the timestamp value? From the database, or from the current JVM? Database-based timestamps incur an overhead because Hibernate must hit the database in order to determine the \"next value\", but will be safer for use in clustered environments. Note also, that not all <literal>Dialect</literal>s are known to support retrieving of the database's current timestamp, while others might be unsafe for usage in locking due to lack of precision (Oracle 8 for example)."
-msgstr "<literal>access</literal> 속성은 당신으로 하여금 Hibernate가 런타임 시에 프로퍼티에 액세스하는 방법을 제어하도록 해준다. 디폴트로 Hibernate는 프로퍼티 get/set 쌍을 호출할 것이다. 만일 당신이 <literal>access=\"field\"</literal>를 지정할 경우, Hibernate는 get/set 쌍을 피하고 reflection을 사용하여 직접 필드에 액세스 할 것이다. 당신은 <literal>org.hibernate.property.PropertyAccessor</literal> 인터페이스를 구현하는 클래스를 명명함으로써 프로퍼티 접근을 위한 당신 자신의 방도를 지정할 수도 있다."
+#. Tag: para
+#: basic_mapping.xml:1253
+#, no-c-format
+msgid ""
+"<literal>source</literal> (optional - defaults to <literal>vm</literal>): "
+"From where should Hibernate retrieve the timestamp value? From the database, "
+"or from the current JVM? Database-based timestamps incur an overhead because "
+"Hibernate must hit the database in order to determine the \"next value\", "
+"but will be safer for use in clustered environments. Note also, that not all "
+"<literal>Dialect</literal>s are known to support retrieving of the "
+"database's current timestamp, while others might be unsafe for usage in "
+"locking due to lack of precision (Oracle 8 for example)."
+msgstr ""
+"<literal>source</literal> (옵션 - 디폴트는 <literal>vm</literal>): Hibernate"
+"는 어디서 timestamp 값을 검색할 것인가? 데이터베이스로부터인가 현재의 JVM으로"
+"부터인가? 데이터베이스 기반의 timestamp들은 Hibernate가 \"다음 값\"을 결정하"
+"기 위해 데이터베이스에 접속해야 하기 때문에 오버헤드를 초래하지만, 클러스터링"
+"된 환경들에서의 용도로 보다 더 안전할 것이다. 또한 모든 <literal>Dialect</"
+"literal>들이 데이터베이스의 현재의 timestamp에 대한 검색을 지원하는 것으로 알"
+"려져 있지 않지만, 다른 <literal>Dialect</literal>들은 정밀도 결핍 때문에 잠금"
+"에 있어 사용이 안전하지 않을 수 있음을 노트하라(예를 들면 오라클 8)."
 
-#: index.docbook:1265
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this timestamp property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "특별히 강력한 특징은 파생된 플로퍼티들이다. 이들 프로퍼티들은 정의상 읽기 전용이고, 그 프로퍼티 값은 로드 시에 계산된다. 당신은 그 계산을 SQL 표현식으로 선언하고, 이것은 인스턴스를 로드시키는 SQL 질의 내의 <literal>SELECT</literal> 절 서브질의로 번역된다:"
+#. Tag: para
+#: basic_mapping.xml:1265
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this timestamp property value is actually "
+"generated by the database. See the discussion of <link linkend=\"mapping-"
+"generated\">generated properties</link>."
+msgstr ""
+"<literal>generated</literal> (옵션 - 디폴트는 <literal>never</literal>): 이 "
+"timestamp 프로퍼티 값이 데이터베이스에 의해 실제로 생성됨을 지정한다. <xref "
+"linkend=\"mapping-generated\">산출되는 프로퍼티들</xref>에 대한 논의들 보라."
 
-#: index.docbook:1274
-msgid "Note that <literal>&lt;timestamp&gt;</literal> is equivalent to <literal>&lt;version type=\"timestamp\"&gt;</literal>. And <literal>&lt;timestamp source=\"db\"&gt;</literal> is equivalent to <literal>&lt;version type=\"dbtimestamp\"&gt;</literal>"
+#. Tag: para
+#: basic_mapping.xml:1274
+#, no-c-format
+msgid ""
+"Note that <literal>&lt;timestamp&gt;</literal> is equivalent to <literal>&lt;"
+"version type=\"timestamp\"&gt;</literal>. And <literal>&lt;timestamp source="
+"\"db\"&gt;</literal> is equivalent to <literal>&lt;version type=\"dbtimestamp"
+"\"&gt;</literal>"
 msgstr ""
-      "<![CDATA[\n"
-      "<property name=\"totalPrice\"\n"
-      "    formula=\"( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product p\n"
-      "                WHERE li.productId = p.productId\n"
-      "                AND li.customerId = customerId\n"
-      "                AND li.orderNumber = orderNumber )\"/>]]>"
+"<literal>&lt;timestamp&gt;</literal>는 <literal>&lt;version type=\"timestamp"
+"\"&gt;</literal>과 같음을 노트하라. 그리고 <literal>&lt;timestamp use-db="
+"\"true\"&gt;</literal>는 <literal>&lt;version type=\"dbtimestamp\"&gt;</"
+"literal>과 같다"
 
-#: index.docbook:1284
+#. Tag: title
+#: basic_mapping.xml:1284
+#, no-c-format
 msgid "property"
-msgstr "당신은 특정 컬럼(주어진 예제에서는 <literal>customerId</literal>)에 대해 alias를 선언하지 않음으로써 엔티티들 자신의 테이블을 참조할 수 있음을 노트하라. 또한 당신은 만일 당신이 그 속성을 사용하고 싶지 않을 경우에 내포된 <literal>&lt;formula&gt;</literal> 매핑 요소를 사용할 수 있음을 노트하라."
+msgstr "프로퍼티"
 
-#: index.docbook:1286
-msgid "The <literal>&lt;property&gt;</literal> element declares a persistent, JavaBean style property of the class."
-msgstr "many-to-one"
+#. Tag: para
+#: basic_mapping.xml:1286
+#, no-c-format
+msgid ""
+"The <literal>&lt;property&gt;</literal> element declares a persistent, "
+"JavaBean style property of the class."
+msgstr ""
+"<literal>&lt;property&gt;</literal> 요소는 클래스의 자바빈즈 스타일의 영속 프"
+"로퍼티를 선언한다."
 
-#: index.docbook:1308
+#. Tag: programlisting
+#: basic_mapping.xml:1308
+#, no-c-format
 msgid ""
-      "<![CDATA[<property\n"
-      "        name=\"propertyName\"\n"
-      "        column=\"column_name\"\n"
-      "        type=\"typename\"\n"
-      "        update=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        formula=\"arbitrary SQL expression\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        lazy=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-null=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        generated=\"never|insert|always\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        index=\"index_name\"\n"
-      "        unique_key=\"unique_key_id\"\n"
-      "        length=\"L\"\n"
-      "        precision=\"P\"\n"
-      "        scale=\"S\"\n"
-      "/>]]>"
-msgstr "또 다른 영속 클래스에 대한 정규 연관관계는 <literal>many-to-one</literal> 요소를 사용하여 선언된다. 관계형 모형은 many-to-one 연관관계이다.: 하나의 테이블 내에 있는 foreign 키는 대상 테이블의 프라이머리 키 컬럼(들)을 참조하고 있다."
+"<![CDATA[<property\n"
+"        name=\"propertyName\"\n"
+"        column=\"column_name\"\n"
+"        type=\"typename\"\n"
+"        update=\"true|false\"\n"
+"        insert=\"true|false\"\n"
+"        formula=\"arbitrary SQL expression\"\n"
+"        access=\"field|property|ClassName\"\n"
+"        lazy=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+"        not-null=\"true|false\"\n"
+"        optimistic-lock=\"true|false\"\n"
+"        generated=\"never|insert|always\"\n"
+"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
+"        index=\"index_name\"\n"
+"        unique_key=\"unique_key_id\"\n"
+"        length=\"L\"\n"
+"        precision=\"P\"\n"
+"        scale=\"S\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:1311
-msgid "<literal>name</literal>: the name of the property, with an initial lowercase letter."
+#. Tag: para
+#: basic_mapping.xml:1311
+#, no-c-format
+msgid ""
+"<literal>name</literal>: the name of the property, with an initial lowercase "
+"letter."
+msgstr "<literal>name</literal>: 첫 소문자로 시작하는 프로퍼티 이름."
+
+#. Tag: para
+#: basic_mapping.xml:1317
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): the "
+"name of the mapped database table column. This may also be specified by "
+"nested <literal>&lt;column&gt;</literal> element(s)."
 msgstr ""
-      "<![CDATA[<many-to-one\n"
-      "        name=\"propertyName\"\n"
-      "        column=\"column_name\"\n"
-      "        class=\"ClassName\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        fetch=\"join|select\"\n"
-      "        update=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        property-ref=\"propertyNameFromAssociatedClass\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-null=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        lazy=\"proxy|no-proxy|false\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        formula=\"arbitrary SQL expression\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "        index=\"index_name\"\n"
-      "        unique_key=\"unique_key_id\"\n"
-      "        foreign-key=\"foreign_key_name\"\n"
-      "/>]]>"
+"<literal>column</literal> (옵션 - 디폴트는 프로퍼티 이름): 매핑된 데이터베이"
+"스 테이블 컬럼의 이름. 이것은 또한 내부에 포함되는 <literal>&lt;column&gt;</"
+"literal> 요소(들)에 의해 지정될 수도 있다."
 
-#: index.docbook:1317
-msgid "<literal>column</literal> (optional - defaults to the property name): the name of the mapped database table column. This may also be specified by nested <literal>&lt;column&gt;</literal> element(s)."
-msgstr "<literal>name</literal>: 프로퍼티의 이름."
+#. Tag: para
+#: basic_mapping.xml:1324
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional): a name that indicates the Hibernate type."
+msgstr "<literal>type</literal> (옵션): Hibernate 타입을 나타내는 이름."
 
-#: index.docbook:1324
-msgid "<literal>type</literal> (optional): a name that indicates the Hibernate type."
-msgstr "<literal>column</literal> (옵션): foreign key 컬럼의 이름. 이것은 또한 내포된 <literal>&lt;column&gt;</literal> 요소(들)에 의해 지정된다."
+#. Tag: para
+#: basic_mapping.xml:1329
+#, no-c-format
+msgid ""
+"<literal>update, insert</literal> (optional - defaults to <literal>true</"
+"literal>) : specifies that the mapped columns should be included in SQL "
+"<literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. "
+"Setting both to <literal>false</literal> allows a pure \"derived\" property "
+"whose value is initialized from some other property that maps to the same "
+"colum(s) or by a trigger or other application."
+msgstr ""
+"<literal>update, insert</literal> (옵션 - 디폴트는 <literal>true</"
+"literal>) : 매핑된 컬럼들이 <literal>UPDATE</literal>와/또는 "
+"<literal>INSERT</literal> 문장들속에 포함될 것임을 지정한다. 둘다 "
+"<literal>false</literal>로 설정하는 것은 그 값이 동일한 컬럼(들)로 매핑되는 "
+"어떤 다른 프로퍼티로부터 또는 트리거에 의해 또는 다른 어플리케이션으로부터 초"
+"기화 되는 순수하게 \"파생된(derived)\" 프로퍼티를 허용해준다."
 
-#: index.docbook:1329
-msgid "<literal>update, insert</literal> (optional - defaults to <literal>true</literal>) : specifies that the mapped columns should be included in SQL <literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. Setting both to <literal>false</literal> allows a pure \"derived\" property whose value is initialized from some other property that maps to the same colum(s) or by a trigger or other application."
-msgstr "<literal>class</literal> (옵션 - 디폴트는 reflection에 의해 결정된 프로퍼티 타입): 연관된 클래스의 이름."
+#. Tag: para
+#: basic_mapping.xml:1338
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional): an SQL expression that defines the "
+"value for a <emphasis>computed</emphasis> property. Computed properties do "
+"not have a column mapping of their own."
+msgstr ""
+"<literal>formula</literal> (옵션): <emphasis>계산되는</emphasis> 프로퍼티에 "
+"대해 값을 정의하는 SQL 표현식. 계산되는 프로퍼티들은 그것들 자신에 대한 컬럼 "
+"매핑을 갖지 않는다."
 
-#: index.docbook:1338
-msgid "<literal>formula</literal> (optional): an SQL expression that defines the value for a <emphasis>computed</emphasis> property. Computed properties do not have a column mapping of their own."
-msgstr "<literal>cascade</literal> (옵션): 어느 오퍼레이션들이 부모 객체로부터 연관된 객체로 케스케이드 될 것인지를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:1351
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
+"Specifies that this property should be fetched lazily when the instance "
+"variable is first accessed (requires build-time bytecode instrumentation)."
+msgstr ""
+"<literal>lazy</literal> (옵션 - 디폴트는 <literal>false</literal>): 인스턴스 "
+"변수가 처음으로 액세스 될 때 이 프로퍼티가 lazily하게 페치될 것임을 지정한다"
+"(빌드-시 바이트코드 수단을 필요로 한다)."
 
-#: index.docbook:1351
-msgid "<literal>lazy</literal> (optional - defaults to <literal>false</literal>): Specifies that this property should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation)."
-msgstr "<literal>update, insert</literal> (옵션 - 디폴트는 <literal>true</literal>) 매핑된 컬럼들이 SQL <literal>UPDATE</literal>와/또는 <literal>INSERT</literal> 문장들 속에 포함될 것인지를 지정한다. 둘다 <literal>false</literal>로 설정하는 것은 그 값이 동일한 컬럼(들)로 매핑시키는 어떤 다른 컬럼들로부터 초기화 되거나 트리거나 다른 어플리케이션에 의해 초기화되는 단순한 \"파생된\" 연관관계 값을 허용한다."
+#. Tag: para
+#: basic_mapping.xml:1358
+#, no-c-format
+msgid ""
+"<literal>unique</literal> (optional): Enable the DDL generation of a unique "
+"constraint for the columns. Also, allow this to be the target of a "
+"<literal>property-ref</literal>."
+msgstr ""
+"<literal>unique</literal> (옵션): 컬럼들에 대한 유일 컨스트레인트의 DDL 생성"
+"을 가능하게 만든다. 또한 이것이 <literal>property-ref</literal>의 타켓이 되"
+"는 것을 허용해준다."
 
-#: index.docbook:1358
-msgid "<literal>unique</literal> (optional): Enable the DDL generation of a unique constraint for the columns. Also, allow this to be the target of a <literal>property-ref</literal>."
-msgstr "<literal>property-ref</literal>: (옵션) 이 foreign key에 조인되는 연관된 클래스의 프로퍼티 이름. 지정되지 않을 경우, 연관 클래스의 프라이머리 키가 사용된다."
+#. Tag: para
+#: basic_mapping.xml:1365
+#, no-c-format
+msgid ""
+"<literal>not-null</literal> (optional): Enable the DDL generation of a "
+"nullability constraint for the columns."
+msgstr ""
+"<literal>not-null</literal> (옵션): 컬럼들에 대해 null 가능 컨스트레인트의 "
+"DDL 생성을 가능하게 만든다."
 
-#: index.docbook:1365
-msgid "<literal>not-null</literal> (optional): Enable the DDL generation of a nullability constraint for the columns."
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 접근하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:1371
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when this property is dirty."
+msgstr ""
+"<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</"
+"literal>): 이 프로퍼티에 대한 업데이트들이 optimistic 잠금을 획득하는 것을 필"
+"요로 하거나 필요로 하지 않음을 지정한다. 달리말해, 이 프로퍼티가 dirty일 때 "
+"버전 증가가 발생할 경우인지를 결정한다."
 
-#: index.docbook:1371
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to this property do or do not require acquisition of the optimistic lock. In other words, determines if a version increment should occur when this property is dirty."
-msgstr "<literal>unique</literal> (옵션): foreign-key 컬럼을 위한 유일 컨스트레인트의 DDL 생성을 가능하도록 해준다. 또한 이것이 property-ref의 대상이 되는 것을 허용해준다. 이것은 연관 다중성(association multiplicity)을 효율적으로 일 대 일로 만든다."
+#. Tag: para
+#: basic_mapping.xml:1379
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this property value is actually generated by the "
+"database. See the discussion of <link linkend=\"mapping-generated"
+"\">generated properties</link>."
+msgstr ""
+"<literal>generated</literal> (옵션 - 디폴트는 <literal>never</literal>): 이 "
+"프로퍼티 값이 데이터베이스에 의해 실제로 산출되는지를 지정한다. <xref "
+"linkend=\"mapping-generated\">산출되는 프로퍼티들</xref>에 대한 논의를 보라."
 
-#: index.docbook:1379
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "<literal>not-null</literal> (옵션): foreign key 컬럼들을 위한 null 가능한 컨스트레인트의 DDL 생성을 가능하도록 해준다."
-
-#: index.docbook:1388
+#. Tag: para
+#: basic_mapping.xml:1388
+#, no-c-format
 msgid "<emphasis>typename</emphasis> could be:"
-msgstr "<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</literal>): 이 프로퍼티에 대한 업데이트들이 optimistic lock의 획득을 필요로 하는지 아닌지 여부를 지정한다. 달리 말해 이 프로퍼티가 dirty일 때 version 증가가 발생해야 할 경우인지를 결정한다."
+msgstr "<emphasis>typename</emphasis>은 다음일 수 있다:"
 
-#: index.docbook:1394
-msgid "The name of a Hibernate basic type (eg. <literal>integer, string, character, date, timestamp, float, binary, serializable, object, blob</literal>)."
-msgstr "<literal>lazy</literal> (옵션 - 디폴트는 <literal>proxy</literal>): 디폴트로, 단일 포인트 연관들이 프락시된다. <literal>lazy=\"no-proxy\"</literal>는 인스턴스 변수가 처음으로 접근될 때 그 프로퍼티가 lazily 페치될 것임을 지정한다(빌드-시 바이트코드 수단을 필요로 한다). <literal>lazy=\"false\"</literal>는 그 연관이 항상 eagerly 페치될 것임을 지정한다."
+#. Tag: para
+#: basic_mapping.xml:1394
+#, no-c-format
+msgid ""
+"The name of a Hibernate basic type (eg. <literal>integer, string, character, "
+"date, timestamp, float, binary, serializable, object, blob</literal>)."
+msgstr ""
+"Hibernate 기본 타입의 이름 (예를 들어. <literal>integer, string, character, "
+"date, timestamp, float, binary, serializable, object, blob</literal>)."
 
-#: index.docbook:1400
-msgid "The name of a Java class with a default basic type (eg. <literal>int, float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</literal>)."
-msgstr "<literal>not-found</literal> (옵션 - 디폴트는 <literal>exception</literal>): 누락된 행들을 참조하는 foreign key들이 어떻게 처리될 것인지를 지정한다: <literal>ignore</literal>는 한 개의 누락된 행을 한 개의 null 연관으로 취급할 것이다."
+#. Tag: para
+#: basic_mapping.xml:1400
+#, no-c-format
+msgid ""
+"The name of a Java class with a default basic type (eg. <literal>int, float, "
+"char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</"
+"literal>)."
+msgstr ""
+"디폴트 기본 타입을 가진 Java 클래스의 이름(예를 들어. <literal>int, float, "
+"char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</"
+"literal>)."
 
-#: index.docbook:1406
+#. Tag: para
+#: basic_mapping.xml:1406
+#, no-c-format
 msgid "The name of a serializable Java class."
-msgstr "<literal>entity-name</literal> (옵션): 연관된 클래스의 엔티티 이름."
+msgstr "serializable Java 클래스의 이름."
 
-#: index.docbook:1411
-msgid "The class name of a custom type (eg. <literal>com.illflow.type.MyCustomType</literal>)."
-msgstr "<literal>formula</literal> (옵션): <emphasis>계산된</emphasis> foreign key에 대한 값을 정의하는 SQL 표현식."
+#. Tag: para
+#: basic_mapping.xml:1411
+#, no-c-format
+msgid ""
+"The class name of a custom type (eg. <literal>com.illflow.type.MyCustomType</"
+"literal>)."
+msgstr ""
+"맞춤 타입의 클래스 이름(예를 들어. <literal>com.illflow.type.MyCustomType</"
+"literal>)."
 
-#: index.docbook:1417
-msgid "If you do not specify a type, Hibernate will use reflection upon the named property to take a guess at the correct Hibernate type. Hibernate will try to interpret the name of the return class of the property getter using rules 2, 3, 4 in that order. However, this is not always enough. In certain cases you will still need the <literal>type</literal> attribute. (For example, to distinguish between <literal>Hibernate.DATE</literal> and <literal>Hibernate.TIMESTAMP</literal>, or to specify a custom type.)"
-msgstr "<literal>cascade</literal> 속성 값을 <literal>none</literal> 아닌 어떤 의미있는 다른 값으로 설정하는 것은 어떤 오퍼레이션들을 연관된 객체에게 보급할 것이다. 유의미한 값들은 Hibernate의 기본 오퍼레이션들의 이름들, 즉 <literal>persist, merge, delete, save-update, evict, replicate, lock, refresh</literal> 뿐만 아니라 특별한 값들, 즉 <literal>delete-orphan</literal>과 <literal>all</literal> 그리고 오퍼레이션 이름들의 쉼표 분리된 조합들, 예를 들면 <literal>cascade=\"persist,merge,evict\"</literal> 또는 <literal>cascade=\"all,delete-orphan\"</literal>이다. 전체 설명은 <xref linkend=\"objectstate-transitive\"/>를 보라. 단일값 연관들(many-to-one 연관과 one-to-one 연관)은 orphan delete를 지원하지 않음을 노트하라."
+#. Tag: para
+#: basic_mapping.xml:1417
+#, no-c-format
+msgid ""
+"If you do not specify a type, Hibernate will use reflection upon the named "
+"property to take a guess at the correct Hibernate type. Hibernate will try "
+"to interpret the name of the return class of the property getter using rules "
+"2, 3, 4 in that order. However, this is not always enough. In certain cases "
+"you will still need the <literal>type</literal> attribute. (For example, to "
+"distinguish between <literal>Hibernate.DATE</literal> and <literal>Hibernate."
+"TIMESTAMP</literal>, or to specify a custom type.)"
+msgstr ""
+"만일 당신이 타입을 지정하지 않을 경우, Hibernate는 정확한 Hibernate 타입을 추"
+"정하기 위해 명명된 프로퍼티에 대해 reflection을 사용할 것이다. Hibernate는 "
+"그 순서에서 2,3,4 규칙들을 사용하여 프로퍼티 getter의 반환 클래스의 이름을 해"
+"석하려고 시도할 것이다. 하지만 이것은 항상 충분하지는 않다. 어떤 경우들에서, "
+"당신은 여전히 <literal>type</literal> 속성을 필요로 할 것이다.(예를 들어, "
+"<literal>Hibernate.DATE</literal>와 <literal>Hibernate.TIMESTAMP</literal> 사"
+"이를 구별하기 위해, 또는 맞춤 타입을 지정하기 위해.)"
 
-#: index.docbook:1427
-msgid "The <literal>access</literal> attribute lets you control how Hibernate will access the property at runtime. By default, Hibernate will call the property get/set pair. If you specify <literal>access=\"field\"</literal>, Hibernate will bypass the get/set pair and access the field directly, using reflection. You may specify your own strategy for property access by naming a class that implements the interface <literal>org.hibernate.property.PropertyAccessor</literal>."
-msgstr "일반적인 <literal>many-to-one</literal> 선언은 다음과 같이 간단하게 보여진다:"
+#. Tag: para
+#: basic_mapping.xml:1427
+#, no-c-format
+msgid ""
+"The <literal>access</literal> attribute lets you control how Hibernate will "
+"access the property at runtime. By default, Hibernate will call the property "
+"get/set pair. If you specify <literal>access=\"field\"</literal>, Hibernate "
+"will bypass the get/set pair and access the field directly, using "
+"reflection. You may specify your own strategy for property access by naming "
+"a class that implements the interface <literal>org.hibernate.property."
+"PropertyAccessor</literal>."
+msgstr ""
+"<literal>access</literal> 속성은 당신으로 하여금 Hibernate가 런타임 시에 프로"
+"퍼티에 액세스하는 방법을 제어하도록 해준다. 디폴트로 Hibernate는 프로퍼티 "
+"get/set 쌍을 호출할 것이다. 만일 당신이 <literal>access=\"field\"</literal>"
+"를 지정할 경우, Hibernate는 get/set 쌍을 피하고 reflection을 사용하여 직접 필"
+"드에 액세스 할 것이다. 당신은 <literal>org.hibernate.property."
+"PropertyAccessor</literal> 인터페이스를 구현하는 클래스를 명명함으로써 프로퍼"
+"티 접근을 위한 당신 자신의 방도를 지정할 수도 있다."
 
-#: index.docbook:1436
-msgid "An especially powerful feature are derived properties. These properties are by definition read-only, the property value is computed at load time. You declare the computation as a SQL expression, this translates to a <literal>SELECT</literal> clause subquery in the SQL query that loads an instance:"
-msgstr "<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1436
+#, no-c-format
+msgid ""
+"An especially powerful feature are derived properties. These properties are "
+"by definition read-only, the property value is computed at load time. You "
+"declare the computation as a SQL expression, this translates to a "
+"<literal>SELECT</literal> clause subquery in the SQL query that loads an "
+"instance:"
+msgstr ""
+"특별히 강력한 특징은 파생된 플로퍼티들이다. 이들 프로퍼티들은 정의상 읽기 전"
+"용이고, 그 프로퍼티 값은 로드 시에 계산된다. 당신은 그 계산을 SQL 표현식으로 "
+"선언하고, 이것은 인스턴스를 로드시키는 SQL 질의 내의 <literal>SELECT</"
+"literal> 절 서브질의로 번역된다:"
 
-#: index.docbook:1443
+#. Tag: programlisting
+#: basic_mapping.xml:1443
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "<property name=\"totalPrice\"\n"
-      "    formula=\"( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product p\n"
-      "                WHERE li.productId = p.productId\n"
-      "                AND li.customerId = customerId\n"
-      "                AND li.orderNumber = orderNumber )\"/>]]>"
-msgstr "<literal>property-ref</literal> 속성은 오직 foreign key가 프라이머리 키가 아닌 연관된 테이블의 유일 키를 참조하는 리거시 데이터를 매핑하는데만 사용된다. 이것은 꼴사나운 관계형 모형이다. 예를 들어, <literal>Product</literal> 클래스가 프라이머리 키를 아닌, 유일한 시리얼 번호를 갖는다고 가정하자.(<literal>unique</literal> 속성은 SchemaExport 도구로 Hibernate의 DDL 생성을 제어한다.)"
+"<![CDATA[\n"
+"<property name=\"totalPrice\"\n"
+"    formula=\"( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product "
+"p\n"
+"                WHERE li.productId = p.productId\n"
+"                AND li.customerId = customerId\n"
+"                AND li.orderNumber = orderNumber )\"/>]]>"
+msgstr ""
 
-#: index.docbook:1445
-msgid "Note that you can reference the entities own table by not declaring an alias on a particular column (<literal>customerId</literal> in the given example). Also note that you can use the nested <literal>&lt;formula&gt;</literal> mapping element if you don't like to use the attribute."
-msgstr "<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" column=\"SERIAL_NUMBER\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1445
+#, no-c-format
+msgid ""
+"Note that you can reference the entities own table by not declaring an alias "
+"on a particular column (<literal>customerId</literal> in the given example). "
+"Also note that you can use the nested <literal>&lt;formula&gt;</literal> "
+"mapping element if you don't like to use the attribute."
+msgstr ""
+"당신은 특정 컬럼(주어진 예제에서는 <literal>customerId</literal>)에 대해 "
+"alias를 선언하지 않음으로써 엔티티들 자신의 테이블을 참조할 수 있음을 노트하"
+"라. 또한 당신은 만일 당신이 그 속성을 사용하고 싶지 않을 경우에 내포된 "
+"<literal>&lt;formula&gt;</literal> 매핑 요소를 사용할 수 있음을 노트하라."
 
-#: index.docbook:1455
+#. Tag: title
+#: basic_mapping.xml:1455
+#, no-c-format
 msgid "many-to-one"
-msgstr "그런 다음 <literal>OrderItem</literal>에 대한 매핑은 다음을 사용할 것이다:"
+msgstr "many-to-one"
 
-#: index.docbook:1457
-msgid "An ordinary association to another persistent class is declared using a <literal>many-to-one</literal> element. The relational model is a many-to-one association: a foreign key in one table is referencing the primary key column(s) of the target table."
-msgstr "<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column=\"PRODUCT_SERIAL_NUMBER\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1457
+#, no-c-format
+msgid ""
+"An ordinary association to another persistent class is declared using a "
+"<literal>many-to-one</literal> element. The relational model is a many-to-"
+"one association: a foreign key in one table is referencing the primary key "
+"column(s) of the target table."
+msgstr ""
+"또 다른 영속 클래스에 대한 정규 연관관계는 <literal>many-to-one</literal> 요"
+"소를 사용하여 선언된다. 관계형 모형은 many-to-one 연관관계이다.: 하나의 테이"
+"블 내에 있는 foreign 키는 대상 테이블의 프라이머리 키 컬럼(들)을 참조하고 있"
+"다."
 
-#: index.docbook:1485
+#. Tag: programlisting
+#: basic_mapping.xml:1485
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one\n"
-      "        name=\"propertyName\"\n"
-      "        column=\"column_name\"\n"
-      "        class=\"ClassName\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        fetch=\"join|select\"\n"
-      "        update=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        property-ref=\"propertyNameFromAssociatedClass\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-null=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        lazy=\"proxy|no-proxy|false\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        formula=\"arbitrary SQL expression\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "        index=\"index_name\"\n"
-      "        unique_key=\"unique_key_id\"\n"
-      "        foreign-key=\"foreign_key_name\"\n"
-      "/>]]>"
-msgstr "하지만 이것은 확실히 권장되지 않는다."
+"<![CDATA[<many-to-one\n"
+"        name=\"propertyName\"\n"
+"        column=\"column_name\"\n"
+"        class=\"ClassName\"\n"
+"        cascade=\"cascade_style\"\n"
+"        fetch=\"join|select\"\n"
+"        update=\"true|false\"\n"
+"        insert=\"true|false\"\n"
+"        property-ref=\"propertyNameFromAssociatedClass\"\n"
+"        access=\"field|property|ClassName\"\n"
+"        unique=\"true|false\"\n"
+"        not-null=\"true|false\"\n"
+"        optimistic-lock=\"true|false\"\n"
+"        lazy=\"proxy|no-proxy|false\"\n"
+"        not-found=\"ignore|exception\"\n"
+"        entity-name=\"EntityName\"\n"
+"        formula=\"arbitrary SQL expression\"\n"
+"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
+"        embed-xml=\"true|false\"\n"
+"        index=\"index_name\"\n"
+"        unique_key=\"unique_key_id\"\n"
+"        foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:1488, index.docbook:1669, index.docbook:1855
+#. Tag: para
+#: basic_mapping.xml:1488 basic_mapping.xml:1669 basic_mapping.xml:1855
+#, no-c-format
 msgid "<literal>name</literal>: The name of the property."
-msgstr "만일 참조된 유일 키가 연관된 엔티티의 여러 프로퍼티들을 포함할 경우, 당신은 명명된 <literal>&lt;properties&gt;</literal> 요소 내부에 참조된 프로퍼티들을 매핑할 것이다."
+msgstr "<literal>name</literal>: 프로퍼티의 이름."
 
-#: index.docbook:1493, index.docbook:2284
-msgid "<literal>column</literal> (optional): The name of the foreign key column. This may also be specified by nested <literal>&lt;column&gt;</literal> element(s)."
-msgstr "만일 참조된 유일키가 컴포넌트의 프로퍼티일 경우, 당신은 하나의 프로퍼티 경로를 지정할 수 있다:"
+#. Tag: para
+#: basic_mapping.xml:1493 basic_mapping.xml:2284
+#, fuzzy, no-c-format
+msgid ""
+"<literal>column</literal> (optional): The name of the foreign key column. "
+"This may also be specified by nested <literal>&lt;column&gt;</literal> "
+"element(s)."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>column</literal> (옵션): foreign key 컬럼의 이름. 이것은 또한 내포"
+"된 <literal>&lt;column&gt;</literal> 요소(들)에 의해 지정된다.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>column</literal> (옵션): foreign key 컬럼의 이름. 이것은 또한 내포"
+"된 <literal>&lt;column&gt;</literal> 요소(들)에 의해 지정될 수 있다."
 
-#: index.docbook:1500, index.docbook:1674
-msgid "<literal>class</literal> (optional - defaults to the property type determined by reflection): The name of the associated class."
-msgstr "<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column=\"OWNER_SSN\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1500 basic_mapping.xml:1674
+#, no-c-format
+msgid ""
+"<literal>class</literal> (optional - defaults to the property type "
+"determined by reflection): The name of the associated class."
+msgstr ""
+"<literal>class</literal> (옵션 - 디폴트는 reflection에 의해 결정된 프로퍼티 "
+"타입): 연관된 클래스의 이름."
 
-#: index.docbook:1506
-msgid "<literal>cascade</literal> (optional): Specifies which operations should be cascaded from the parent object to the associated object."
-msgstr "one-to-one"
+#. Tag: para
+#: basic_mapping.xml:1506
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional): Specifies which operations should be "
+"cascaded from the parent object to the associated object."
+msgstr ""
+"<literal>cascade</literal> (옵션): 어느 오퍼레이션들이 부모 객체로부터 연관"
+"된 객체로 케스케이드 될 것인지를 지정한다."
 
-#: index.docbook:1512, index.docbook:1695
-msgid "<literal>fetch</literal> (optional - defaults to <literal>select</literal>): Chooses between outer-join fetching or sequential select fetching."
-msgstr "또 다른 영속 클래스에 대한 one-to-one 연관관계는 <literal>one-to-one</literal> 요소를 사용하여 선언된다."
+#. Tag: para
+#: basic_mapping.xml:1512 basic_mapping.xml:1695
+#, fuzzy, no-c-format
+msgid ""
+"<literal>fetch</literal> (optional - defaults to <literal>select</literal>): "
+"Chooses between outer-join fetching or sequential select fetching."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>fetch</literal> (옵션 - 디폴트는 <literal>select</literal>): outer-"
+"join 페칭 또는 sequential select 페칭 사이에서 선택하라.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>fetch</literal> (옵션 - 디폴트는 <literal>select</literal>): outer-"
+"join 페칭 또는 순차적인 select 페칭 중에서 선택하라."
 
-#: index.docbook:1518
-msgid "<literal>update, insert</literal> (optional - defaults to <literal>true</literal>) specifies that the mapped columns should be included in SQL <literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. Setting both to <literal>false</literal> allows a pure \"derived\" association whose value is initialized from some other property that maps to the same colum(s) or by a trigger or other application."
+#. Tag: para
+#: basic_mapping.xml:1518
+#, no-c-format
+msgid ""
+"<literal>update, insert</literal> (optional - defaults to <literal>true</"
+"literal>) specifies that the mapped columns should be included in SQL "
+"<literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. "
+"Setting both to <literal>false</literal> allows a pure \"derived\" "
+"association whose value is initialized from some other property that maps to "
+"the same colum(s) or by a trigger or other application."
 msgstr ""
-      "<![CDATA[<one-to-one\n"
-      "        name=\"propertyName\"\n"
-      "        class=\"ClassName\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        constrained=\"true|false\"\n"
-      "        fetch=\"join|select\"\n"
-      "        property-ref=\"propertyNameFromAssociatedClass\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        lazy=\"proxy|no-proxy|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "        foreign-key=\"foreign_key_name\"\n"
-      "/>]]>"
+"<literal>update, insert</literal> (옵션 - 디폴트는 <literal>true</literal>) "
+"매핑된 컬럼들이 SQL <literal>UPDATE</literal>와/또는 <literal>INSERT</"
+"literal> 문장들 속에 포함될 것인지를 지정한다. 둘다 <literal>false</literal>"
+"로 설정하는 것은 그 값이 동일한 컬럼(들)로 매핑시키는 어떤 다른 컬럼들로부터 "
+"초기화 되거나 트리거나 다른 어플리케이션에 의해 초기화되는 단순한 \"파생된\" "
+"연관관계 값을 허용한다."
 
-#: index.docbook:1527
-msgid "<literal>property-ref</literal>: (optional) The name of a property of the associated class that is joined to this foreign key. If not specified, the primary key of the associated class is used."
-msgstr "<literal>name</literal>: 프로퍼티의 이름."
+#. Tag: para
+#: basic_mapping.xml:1527
+#, no-c-format
+msgid ""
+"<literal>property-ref</literal>: (optional) The name of a property of the "
+"associated class that is joined to this foreign key. If not specified, the "
+"primary key of the associated class is used."
+msgstr ""
+"<literal>property-ref</literal>: (옵션) 이 foreign key에 조인되는 연관된 클래"
+"스의 프로퍼티 이름. 지정되지 않을 경우, 연관 클래스의 프라이머리 키가 사용된"
+"다."
 
-#: index.docbook:1540
-msgid "<literal>unique</literal> (optional): Enable the DDL generation of a unique constraint for the foreign-key column. Also, allow this to be the target of a <literal>property-ref</literal>. This makes the association multiplicity effectively one to one."
-msgstr "<literal>cascade</literal> (옵션) 어느 오퍼레이션들이 부모 객체로부터 연관된 객체로 케스케이드 될 것인지를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:1540
+#, no-c-format
+msgid ""
+"<literal>unique</literal> (optional): Enable the DDL generation of a unique "
+"constraint for the foreign-key column. Also, allow this to be the target of "
+"a <literal>property-ref</literal>. This makes the association multiplicity "
+"effectively one to one."
+msgstr ""
+"<literal>unique</literal> (옵션): foreign-key 컬럼을 위한 유일 컨스트레인트"
+"의 DDL 생성을 가능하도록 해준다. 또한 이것이 property-ref의 대상이 되는 것을 "
+"허용해준다. 이것은 연관 다중성(association multiplicity)을 효율적으로 일 대 "
+"일로 만든다."
 
-#: index.docbook:1548
-msgid "<literal>not-null</literal> (optional): Enable the DDL generation of a nullability constraint for the foreign key columns."
-msgstr "<literal>constrained</literal> (옵션) 매핑된 테이블의 프라이머리 키에 대한 foreign 키 컨스트레인트가 연관된 클래스의 테이블을 참조하는지 여부를 지정한다. 이 옵션은 <literal>save()</literal>와 <literal>delete()</literal>가 케스케이드 되는 순서에 영향을 주고, 그 연관이 프락시 될 것인지 여부를 결정한다 (또한 스키마 내보내기 도구에 의해 사용된다)."
+#. Tag: para
+#: basic_mapping.xml:1548
+#, no-c-format
+msgid ""
+"<literal>not-null</literal> (optional): Enable the DDL generation of a "
+"nullability constraint for the foreign key columns."
+msgstr ""
+"<literal>not-null</literal> (옵션): foreign key 컬럼들을 위한 null 가능한 컨"
+"스트레인트의 DDL 생성을 가능하도록 해준다."
 
-#: index.docbook:1554
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to this property do or do not require acquisition of the optimistic lock. In other words, dertermines if a version increment should occur when this property is dirty."
-msgstr "<literal>fetch</literal> (옵션 - 디폴트는 <literal>select</literal>): outer-join 페칭 또는 순차적인 select 페칭 중에서 선택하라."
+#. Tag: para
+#: basic_mapping.xml:1554
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, dertermines if a version "
+"increment should occur when this property is dirty."
+msgstr ""
+"<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</"
+"literal>): 이 프로퍼티에 대한 업데이트들이 optimistic lock의 획득을 필요로 하"
+"는지 아닌지 여부를 지정한다. 달리 말해 이 프로퍼티가 dirty일 때 version 증가"
+"가 발생해야 할 경우인지를 결정한다."
 
-#: index.docbook:1562
-msgid "<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): By default, single point associations are proxied. <literal>lazy=\"no-proxy\"</literal> specifies that the property should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation). <literal>lazy=\"false\"</literal> specifies that the association will always be eagerly fetched."
-msgstr "<literal>property-ref</literal>: (옵션) 이 클래스의 프라이머리 키에 연결된 연관 클래스의 프로퍼티의 이름. 만일 지정되지 않을 경우, 연관 클래스의 프라이머리 키가 사용된다."
+#. Tag: para
+#: basic_mapping.xml:1562
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
+"By default, single point associations are proxied. <literal>lazy=\"no-proxy"
+"\"</literal> specifies that the property should be fetched lazily when the "
+"instance variable is first accessed (requires build-time bytecode "
+"instrumentation). <literal>lazy=\"false\"</literal> specifies that the "
+"association will always be eagerly fetched."
+msgstr ""
+"<literal>lazy</literal> (옵션 - 디폴트는 <literal>proxy</literal>): 디폴트"
+"로, 단일 포인트 연관들이 프락시된다. <literal>lazy=\"no-proxy\"</literal>는 "
+"인스턴스 변수가 처음으로 접근될 때 그 프로퍼티가 lazily 페치될 것임을 지정한"
+"다(빌드-시 바이트코드 수단을 필요로 한다). <literal>lazy=\"false\"</literal>"
+"는 그 연관이 항상 eagerly 페치될 것임을 지정한다."
 
-#: index.docbook:1572
-msgid "<literal>not-found</literal> (optional - defaults to <literal>exception</literal>): Specifies how foreign keys that reference missing rows will be handled: <literal>ignore</literal> will treat a missing row as a null association."
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 접근 하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:1572
+#, no-c-format
+msgid ""
+"<literal>not-found</literal> (optional - defaults to <literal>exception</"
+"literal>): Specifies how foreign keys that reference missing rows will be "
+"handled: <literal>ignore</literal> will treat a missing row as a null "
+"association."
+msgstr ""
+"<literal>not-found</literal> (옵션 - 디폴트는 <literal>exception</literal>): "
+"누락된 행들을 참조하는 foreign key들이 어떻게 처리될 것인지를 지정한다: "
+"<literal>ignore</literal>는 한 개의 누락된 행을 한 개의 null 연관으로 취급할 "
+"것이다."
 
-#: index.docbook:1579, index.docbook:1733
-msgid "<literal>entity-name</literal> (optional): The entity name of the associated class."
-msgstr "<literal>formula</literal> (옵션): 거의 모든 one to one 연관관계들은 소유하는 엔티티의 프라이머리 키로 매핑된다. 이것이 그 경우가 아닌 드문 경우들에서, 당신은 SQL formula 사용에 결합시킬 몇몇 다른 컬럼, 컬럼들, 또는 표현식을 지정할 수 있다.(예제는 <literal>org.hibernate.test.onetooneformula</literal>를 보라.)"
+#. Tag: para
+#: basic_mapping.xml:1579 basic_mapping.xml:1733
+#, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional): The entity name of the associated "
+"class."
+msgstr "<literal>entity-name</literal> (옵션): 연관된 클래스의 엔티티 이름."
 
-#: index.docbook:1585
-msgid "<literal>formula</literal> (optional): an SQL expression that defines the value for a <emphasis>computed</emphasis> foreign key."
-msgstr "<literal>lazy</literal> (옵션 - 디폴트는 <literal>proxy</literal>): 디폴트로 한쪽 끝 연관들이 프락시 된다. <literal>lazy=\"no-proxy\"</literal>는 인스턴스 변수가 처음 접근될 때 그 프로퍼티가 lazily 페치될 것임을 지정한다(빌드-시 바이트코드 수단을 필요로 한다). <literal>lazy=\"false\"</literal>는 그 연관들이 항상 eagerly 페치될 것임을 지정한다. <emphasis>만일 <literal>constrained=\"false\"</literal>인 경우에, 프락싱은 불가능하고 Hibernate는 그 연관을 eager 페치시킬 것이다!</emphasis>"
+#. Tag: para
+#: basic_mapping.xml:1585
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional): an SQL expression that defines the "
+"value for a <emphasis>computed</emphasis> foreign key."
+msgstr ""
+"<literal>formula</literal> (옵션): <emphasis>계산된</emphasis> foreign key에 "
+"대한 값을 정의하는 SQL 표현식."
 
-#: index.docbook:1592
-msgid "Setting a value of the <literal>cascade</literal> attribute to any meaningful value other than <literal>none</literal> will propagate certain operations to the associated object. The meaningful values are the names of Hibernate's basic operations, <literal>persist, merge, delete, save-update, evict, replicate, lock, refresh</literal>, as well as the special values <literal>delete-orphan</literal> and <literal>all</literal> and comma-separated combinations of operation names, for example, <literal>cascade=\"persist,merge,evict\"</literal> or <literal>cascade=\"all,delete-orphan\"</literal>. See <xref linkend=\"objectstate-transitive\"/> for a full explanation. Note that single valued associations (many-to-one and one-to-one associations) do not support orphan delete."
-msgstr "<literal>entity-name</literal> (옵션): 연관된 클래스의 엔티티 이름."
+#. Tag: para
+#: basic_mapping.xml:1592
+#, no-c-format
+msgid ""
+"Setting a value of the <literal>cascade</literal> attribute to any "
+"meaningful value other than <literal>none</literal> will propagate certain "
+"operations to the associated object. The meaningful values are the names of "
+"Hibernate's basic operations, <literal>persist, merge, delete, save-update, "
+"evict, replicate, lock, refresh</literal>, as well as the special values "
+"<literal>delete-orphan</literal> and <literal>all</literal> and comma-"
+"separated combinations of operation names, for example, <literal>cascade="
+"\"persist,merge,evict\"</literal> or <literal>cascade=\"all,delete-orphan\"</"
+"literal>. See <xref linkend=\"objectstate-transitive\"/> for a full "
+"explanation. Note that single valued associations (many-to-one and one-to-"
+"one associations) do not support orphan delete."
+msgstr ""
+"<literal>cascade</literal> 속성 값을 <literal>none</literal> 아닌 어떤 의미있"
+"는 다른 값으로 설정하는 것은 어떤 오퍼레이션들을 연관된 객체에게 보급할 것이"
+"다. 유의미한 값들은 Hibernate의 기본 오퍼레이션들의 이름들, 즉 "
+"<literal>persist, merge, delete, save-update, evict, replicate, lock, "
+"refresh</literal> 뿐만 아니라 특별한 값들, 즉 <literal>delete-orphan</"
+"literal>과 <literal>all</literal> 그리고 오퍼레이션 이름들의 쉼표 분리된 조합"
+"들, 예를 들면 <literal>cascade=\"persist,merge,evict\"</literal> 또는 "
+"<literal>cascade=\"all,delete-orphan\"</literal>이다. 전체 설명은 <xref "
+"linkend=\"objectstate-transitive\"/>를 보라. 단일값 연관들(many-to-one 연관"
+"과 one-to-one 연관)은 orphan delete를 지원하지 않음을 노트하라."
 
-#: index.docbook:1605
-msgid "A typical <literal>many-to-one</literal> declaration looks as simple as this:"
-msgstr "one-to-one 연관관계에는 두 가지 변종이 존재한다:"
+#. Tag: para
+#: basic_mapping.xml:1605
+#, no-c-format
+msgid ""
+"A typical <literal>many-to-one</literal> declaration looks as simple as this:"
+msgstr ""
+"일반적인 <literal>many-to-one</literal> 선언은 다음과 같이 간단하게 보여진다:"
 
-#: index.docbook:1609
-msgid "<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID\"/>]]>"
-msgstr "프라이머리 키 연관관계들"
+#. Tag: programlisting
+#: basic_mapping.xml:1609
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID"
+"\"/>]]>"
+msgstr ""
 
-#: index.docbook:1611
-msgid "The <literal>property-ref</literal> attribute should only be used for mapping legacy data where a foreign key refers to a unique key of the associated table other than the primary key. This is an ugly relational model. For example, suppose the <literal>Product</literal> class had a unique serial number, that is not the primary key. (The <literal>unique</literal> attribute controls Hibernate's DDL generation with the SchemaExport tool.)"
-msgstr "유일 foreign 키 연관관계들"
+#. Tag: para
+#: basic_mapping.xml:1611
+#, no-c-format
+msgid ""
+"The <literal>property-ref</literal> attribute should only be used for "
+"mapping legacy data where a foreign key refers to a unique key of the "
+"associated table other than the primary key. This is an ugly relational "
+"model. For example, suppose the <literal>Product</literal> class had a "
+"unique serial number, that is not the primary key. (The <literal>unique</"
+"literal> attribute controls Hibernate's DDL generation with the SchemaExport "
+"tool.)"
+msgstr ""
+"<literal>property-ref</literal> 속성은 오직 foreign key가 프라이머리 키가 아"
+"닌 연관된 테이블의 유일 키를 참조하는 리거시 데이터를 매핑하는데만 사용된다. "
+"이것은 꼴사나운 관계형 모형이다. 예를 들어, <literal>Product</literal> 클래스"
+"가 프라이머리 키를 아닌, 유일한 시리얼 번호를 갖는다고 가정하자."
+"(<literal>unique</literal> 속성은 SchemaExport 도구로 Hibernate의 DDL 생성을 "
+"제어한다.)"
 
-#: index.docbook:1620
-msgid "<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" column=\"SERIAL_NUMBER\"/>]]>"
-msgstr "프라이머리 키 연관들은 특별한 테이블 컬럼을 필요로 하지 않는다; 만일 두 개의 행들이 그 연관에 의해 관계지워지면, 두 개의 테이블 행들은 동일한 프라이머리 키 값을 공유한다. 따라서 만일 두 개의 객체들이 프라이머리 키 연관에 의해 관계지워지도록 당신이 원할 경우, 당신은 그것들에 동일한 식별자 값이 할당되도록 해야 한다!"
+#. Tag: programlisting
+#: basic_mapping.xml:1620
+#, no-c-format
+msgid ""
+"<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" "
+"column=\"SERIAL_NUMBER\"/>]]>"
+msgstr ""
 
-#: index.docbook:1622
+#. Tag: para
+#: basic_mapping.xml:1622
+#, no-c-format
 msgid "Then the mapping for <literal>OrderItem</literal> might use:"
-msgstr "프라이머리 키 연관에 대해, 다음 매핑들을 <literal>Employee</literal>와 <literal>Person</literal> 각각에 추가하라."
+msgstr ""
+"그런 다음 <literal>OrderItem</literal>에 대한 매핑은 다음을 사용할 것이다:"
 
-#: index.docbook:1626
-msgid "<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column=\"PRODUCT_SERIAL_NUMBER\"/>]]>"
-msgstr "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
+#. Tag: programlisting
+#: basic_mapping.xml:1626
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column="
+"\"PRODUCT_SERIAL_NUMBER\"/>]]>"
+msgstr ""
 
-#: index.docbook:1628
+#. Tag: para
+#: basic_mapping.xml:1628
+#, no-c-format
 msgid "This is certainly not encouraged, however."
-msgstr "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true\"/>]]>"
+msgstr "하지만 이것은 확실히 권장되지 않는다."
 
-#: index.docbook:1632
-msgid "If the referenced unique key comprises multiple properties of the associated entity, you should map the referenced properties inside a named <literal>&lt;properties&gt;</literal> element."
-msgstr "이제 우리는 PERSON 과 EMPLOYEE 테이블들에서 관계지워진 행들의 프라이머리 키들이 동일함을 확실히 해야 한다! 우리는 <literal>foreign</literal>로 명명되는 특별한 Hibernate 식별자 생성 방도를 사용한다:"
+#. Tag: para
+#: basic_mapping.xml:1632
+#, no-c-format
+msgid ""
+"If the referenced unique key comprises multiple properties of the associated "
+"entity, you should map the referenced properties inside a named <literal>&lt;"
+"properties&gt;</literal> element."
+msgstr ""
+"만일 참조된 유일 키가 연관된 엔티티의 여러 프로퍼티들을 포함할 경우, 당신은 "
+"명명된 <literal>&lt;properties&gt;</literal> 요소 내부에 참조된 프로퍼티들을 "
+"매핑할 것이다."
 
-#: index.docbook:1637
-msgid "If the referenced unique key is the property of a component, you may specify a property path:"
+#. Tag: para
+#: basic_mapping.xml:1637
+#, no-c-format
+msgid ""
+"If the referenced unique key is the property of a component, you may specify "
+"a property path:"
 msgstr ""
-      "<![CDATA[<class name=\"person\" table=\"PERSON\">\n"
-      "    <id name=\"id\" column=\"PERSON_ID\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">employee</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    ...\n"
-      "    <one-to-one name=\"employee\"\n"
-      "        class=\"Employee\"\n"
-      "        constrained=\"true\"/>\n"
-      "</class>]]>"
+"만일 참조된 유일키가 컴포넌트의 프로퍼티일 경우, 당신은 하나의 프로퍼티 경로"
+"를 지정할 수 있다:"
 
-#: index.docbook:1641
-msgid "<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column=\"OWNER_SSN\"/>]]>"
-msgstr "그때 <literal>Person</literal>의 새로이 저장된 인스턴스는 그 <literal>Person</literal>의 <literal>employee</literal> 프로퍼티에 대해 참조된 <literal>Employee</literal> 인스턴스와 동일한 프라이머리 키를 할당받는다."
+#. Tag: programlisting
+#: basic_mapping.xml:1641
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column="
+"\"OWNER_SSN\"/>]]>"
+msgstr ""
 
-#: index.docbook:1646
+#. Tag: title
+#: basic_mapping.xml:1646
+#, no-c-format
 msgid "one-to-one"
-msgstr "달리, <literal>Employee</literal>로부터 <literal>Person</literal>으로의 유일 컨스트레인트를 가진 하나의 foreign key는 다음과 같이 표현될 수 있다:"
+msgstr "one-to-one"
 
-#: index.docbook:1648
-msgid "A one-to-one association to another persistent class is declared using a <literal>one-to-one</literal> element."
-msgstr "<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" unique=\"true\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1648
+#, no-c-format
+msgid ""
+"A one-to-one association to another persistent class is declared using a "
+"<literal>one-to-one</literal> element."
+msgstr ""
+"또 다른 영속 클래스에 대한 one-to-one 연관관계는 <literal>one-to-one</"
+"literal> 요소를 사용하여 선언된다."
 
-#: index.docbook:1666
+#. Tag: programlisting
+#: basic_mapping.xml:1666
+#, no-c-format
 msgid ""
-      "<![CDATA[<one-to-one\n"
-      "        name=\"propertyName\"\n"
-      "        class=\"ClassName\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        constrained=\"true|false\"\n"
-      "        fetch=\"join|select\"\n"
-      "        property-ref=\"propertyNameFromAssociatedClass\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        lazy=\"proxy|no-proxy|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "        foreign-key=\"foreign_key_name\"\n"
-      "/>]]>"
-msgstr "그리고 이 연관은 다음을 <literal>Person</literal> 매핑에 추가함으로써 양방향이 될 수 있다:"
+"<![CDATA[<one-to-one\n"
+"        name=\"propertyName\"\n"
+"        class=\"ClassName\"\n"
+"        cascade=\"cascade_style\"\n"
+"        constrained=\"true|false\"\n"
+"        fetch=\"join|select\"\n"
+"        property-ref=\"propertyNameFromAssociatedClass\"\n"
+"        access=\"field|property|ClassName\"\n"
+"        formula=\"any SQL expression\"\n"
+"        lazy=\"proxy|no-proxy|false\"\n"
+"        entity-name=\"EntityName\"\n"
+"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
+"        embed-xml=\"true|false\"\n"
+"        foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:1680
-msgid "<literal>cascade</literal> (optional) specifies which operations should be cascaded from the parent object to the associated object."
+#. Tag: para
+#: basic_mapping.xml:1680
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional) specifies which operations should be "
+"cascaded from the parent object to the associated object."
 msgstr ""
-      "<![CDATA[<natural-id mutable=\"true|false\"/>\n"
-      "        <property ... />\n"
-      "        <many-to-one ... />\n"
-      "        ......\n"
-      "</natural-id>]]>"
+"<literal>cascade</literal> (옵션) 어느 오퍼레이션들이 부모 객체로부터 연관된 "
+"객체로 케스케이드 될 것인지를 지정한다."
 
-#: index.docbook:1686
-msgid "<literal>constrained</literal> (optional) specifies that a foreign key constraint on the primary key of the mapped table references the table of the associated class. This option affects the order in which <literal>save()</literal> and <literal>delete()</literal> are cascaded, and determines whether the association may be proxied (it is also used by the schema export tool)."
-msgstr "비록 우리가 프라이머리 키들로서 대용키들을 사용하는 것을 권장했을지라도, 당신은 여전히 모든 엔티티들에 대한 natural 키들을 식별하고자 원할 것이다. narutal 키는 유일(unique)하고 null이 아닌 프로퍼티 또는 프로퍼티들의 조합이다. 그것이 또한 불변하는 것일 경우가 더 좋다. <literal>&lt;natural-id&gt;</literal> 요소 내부에 있는 natural 키의 프로퍼티들을 매핑하라. Hibernate는 필수적인 유일 키와 null 허용가능한 컨스트레인트들을 생성시킬 것이고, 당신의 매핑은 보다 자가 설명적이게 될 것이다."
+#. Tag: para
+#: basic_mapping.xml:1686
+#, no-c-format
+msgid ""
+"<literal>constrained</literal> (optional) specifies that a foreign key "
+"constraint on the primary key of the mapped table references the table of "
+"the associated class. This option affects the order in which <literal>save()"
+"</literal> and <literal>delete()</literal> are cascaded, and determines "
+"whether the association may be proxied (it is also used by the schema export "
+"tool)."
+msgstr ""
+"<literal>constrained</literal> (옵션) 매핑된 테이블의 프라이머리 키에 대한 "
+"foreign 키 컨스트레인트가 연관된 클래스의 테이블을 참조하는지 여부를 지정한"
+"다. 이 옵션은 <literal>save()</literal>와 <literal>delete()</literal>가 케스"
+"케이드 되는 순서에 영향을 주고, 그 연관이 프락시 될 것인지 여부를 결정한다 "
+"(또한 스키마 내보내기 도구에 의해 사용된다)."
 
-#: index.docbook:1701
-msgid "<literal>property-ref</literal>: (optional) The name of a property of the associated class that is joined to the primary key of this class. If not specified, the primary key of the associated class is used."
-msgstr "이 매핑은 natural 프라이머리 키들을 가진 엔티티들을 위한 용도로 고안된 것은 아니다."
+#. Tag: para
+#: basic_mapping.xml:1701
+#, no-c-format
+msgid ""
+"<literal>property-ref</literal>: (optional) The name of a property of the "
+"associated class that is joined to the primary key of this class. If not "
+"specified, the primary key of the associated class is used."
+msgstr ""
+"<literal>property-ref</literal>: (옵션) 이 클래스의 프라이머리 키에 연결된 연"
+"관 클래스의 프로퍼티의 이름. 만일 지정되지 않을 경우, 연관 클래스의 프라이머"
+"리 키가 사용된다."
 
-#: index.docbook:1714
-msgid "<literal>formula</literal> (optional): Almost all one to one associations map to the primary key of the owning entity. In the rare case that this is not the case, you may specify a some other column, columns or expression to join on using an SQL formula. (See <literal>org.hibernate.test.onetooneformula</literal> for an example.)"
-msgstr "component, dynamic-component"
+#. Tag: para
+#: basic_mapping.xml:1714
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional): Almost all one to one associations "
+"map to the primary key of the owning entity. In the rare case that this is "
+"not the case, you may specify a some other column, columns or expression to "
+"join on using an SQL formula. (See <literal>org.hibernate.test."
+"onetooneformula</literal> for an example.)"
+msgstr ""
+"<literal>formula</literal> (옵션): 거의 모든 one to one 연관관계들은 소유하"
+"는 엔티티의 프라이머리 키로 매핑된다. 이것이 그 경우가 아닌 드문 경우들에서, "
+"당신은 SQL formula 사용에 결합시킬 몇몇 다른 컬럼, 컬럼들, 또는 표현식을 지정"
+"할 수 있다.(예제는 <literal>org.hibernate.test.onetooneformula</literal>를 보"
+"라.)"
 
-#: index.docbook:1722
-msgid "<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): By default, single point associations are proxied. <literal>lazy=\"no-proxy\"</literal> specifies that the property should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation). <literal>lazy=\"false\"</literal> specifies that the association will always be eagerly fetched. <emphasis>Note that if <literal>constrained=\"false\"</literal>, proxying is impossible and Hibernate will eager fetch the association!</emphasis>"
-msgstr "<literal>&lt;component&gt;</literal> 요소는 자식 객체의 프로퍼티들을 부모 클래스에 대한 테이블의 컬럼들로 매핑시킨다. 컴포넌트들은 그것들 자신의 프로퍼티들, 컴포넌트들, 또는 콜렉션들을 선언한다. 이래 \"컴포넌트들\"을 보라."
+#. Tag: para
+#: basic_mapping.xml:1722
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
+"By default, single point associations are proxied. <literal>lazy=\"no-proxy"
+"\"</literal> specifies that the property should be fetched lazily when the "
+"instance variable is first accessed (requires build-time bytecode "
+"instrumentation). <literal>lazy=\"false\"</literal> specifies that the "
+"association will always be eagerly fetched. <emphasis>Note that if "
+"<literal>constrained=\"false\"</literal>, proxying is impossible and "
+"Hibernate will eager fetch the association!</emphasis>"
+msgstr ""
+"<literal>lazy</literal> (옵션 - 디폴트는 <literal>proxy</literal>): 디폴트로 "
+"한쪽 끝 연관들이 프락시 된다. <literal>lazy=\"no-proxy\"</literal>는 인스턴"
+"스 변수가 처음 접근될 때 그 프로퍼티가 lazily 페치될 것임을 지정한다(빌드-시 "
+"바이트코드 수단을 필요로 한다). <literal>lazy=\"false\"</literal>는 그 연관들"
+"이 항상 eagerly 페치될 것임을 지정한다. <emphasis>만일 <literal>constrained="
+"\"false\"</literal>인 경우에, 프락싱은 불가능하고 Hibernate는 그 연관을 "
+"eager 페치시킬 것이다!</emphasis>"
 
-#: index.docbook:1740
+#. Tag: para
+#: basic_mapping.xml:1740
+#, no-c-format
 msgid "There are two varieties of one-to-one association:"
-msgstr "<literal>name</literal>: 프로퍼티의 이름."
+msgstr "one-to-one 연관관계에는 두 가지 변종이 존재한다:"
 
-#: index.docbook:1744
+#. Tag: para
+#: basic_mapping.xml:1744
+#, no-c-format
 msgid "primary key associations"
-msgstr "<literal>class</literal> (옵션 - 디폴트는 reflection에 의해 결정된 프로퍼티 타입): 컴포넌트(자식) 클래스의 이름."
+msgstr "프라이머리 키 연관관계들"
 
-#: index.docbook:1747
+#. Tag: para
+#: basic_mapping.xml:1747
+#, no-c-format
 msgid "unique foreign key associations"
-msgstr "<literal>insert</literal>: 매핑된 컬럼들이 SQL <literal>INSERT</literal>들 속에 나타나야 하는가?"
+msgstr "유일 foreign 키 연관관계들"
 
-#: index.docbook:1752
-msgid "Primary key associations don't need an extra table column; if two rows are related by the association then the two table rows share the same primary key value. So if you want two objects to be related by a primary key association, you must make sure that they are assigned the same identifier value!"
-msgstr "<literal>update</literal>: 매핑된 컬럼들이 SQL <literal>UPDATE</literal>들 속에 나타나야 하는가?"
+#. Tag: para
+#: basic_mapping.xml:1752
+#, no-c-format
+msgid ""
+"Primary key associations don't need an extra table column; if two rows are "
+"related by the association then the two table rows share the same primary "
+"key value. So if you want two objects to be related by a primary key "
+"association, you must make sure that they are assigned the same identifier "
+"value!"
+msgstr ""
+"프라이머리 키 연관들은 특별한 테이블 컬럼을 필요로 하지 않는다; 만일 두 개의 "
+"행들이 그 연관에 의해 관계지워지면, 두 개의 테이블 행들은 동일한 프라이머리 "
+"키 값을 공유한다. 따라서 만일 두 개의 객체들이 프라이머리 키 연관에 의해 관계"
+"지워지도록 당신이 원할 경우, 당신은 그것들에 동일한 식별자 값이 할당되도록 해"
+"야 한다!"
 
-#: index.docbook:1759
-msgid "For a primary key association, add the following mappings to <literal>Employee</literal> and <literal>Person</literal>, respectively."
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 액세스하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:1759
+#, no-c-format
+msgid ""
+"For a primary key association, add the following mappings to "
+"<literal>Employee</literal> and <literal>Person</literal>, respectively."
+msgstr ""
+"프라이머리 키 연관에 대해, 다음 매핑들을 <literal>Employee</literal>와 "
+"<literal>Person</literal> 각각에 추가하라."
 
-#: index.docbook:1764
+#. Tag: programlisting
+#: basic_mapping.xml:1764
+#, no-c-format
 msgid "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
-msgstr "<literal>lazy</literal> (옵션 - 디폴트는 <literal>false</literal>): 인스턴스 변수가 처음으로 액세스될 때 이 컴포넌트가 lazily(느리게) 페치되어야 하는지 여부를 지정한다 (빌드 시 바이트코드 수단을 필요로 한다)."
+msgstr ""
 
-#: index.docbook:1765
-msgid "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true\"/>]]>"
-msgstr "<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</literal>): 이 컴포넌트에 대한 업데이트들이 optimistic 잠금을 획득하는 것을 필요로 하는지 여부를 지정한다. 달리 말해 이 프로퍼티가 dirty 일 때 버전 증가가 발생할 것인지 여부를 결정한다."
+#. Tag: programlisting
+#: basic_mapping.xml:1765
+#, no-c-format
+msgid ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true"
+"\"/>]]>"
+msgstr ""
 
-#: index.docbook:1767
-msgid "Now we must ensure that the primary keys of related rows in the PERSON and EMPLOYEE tables are equal. We use a special Hibernate identifier generation strategy called <literal>foreign</literal>:"
-msgstr "<literal>unique</literal> (옵션 - 디폴트는 <literal>false</literal>): 유일 컨스트레인트가 컴포넌트의 모든 매핑된 컬럼들에 대해 존재하는지 여부를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:1767
+#, no-c-format
+msgid ""
+"Now we must ensure that the primary keys of related rows in the PERSON and "
+"EMPLOYEE tables are equal. We use a special Hibernate identifier generation "
+"strategy called <literal>foreign</literal>:"
+msgstr ""
+"이제 우리는 PERSON 과 EMPLOYEE 테이블들에서 관계지워진 행들의 프라이머리 키들"
+"이 동일함을 확실히 해야 한다! 우리는 <literal>foreign</literal>로 명명되는 특"
+"별한 Hibernate 식별자 생성 방도를 사용한다:"
 
-#: index.docbook:1773
+#. Tag: programlisting
+#: basic_mapping.xml:1773
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"person\" table=\"PERSON\">\n"
-      "    <id name=\"id\" column=\"PERSON_ID\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">employee</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    ...\n"
-      "    <one-to-one name=\"employee\"\n"
-      "        class=\"Employee\"\n"
-      "        constrained=\"true\"/>\n"
-      "</class>]]>"
-msgstr "자식 <literal>&lt;property&gt;</literal> 태그들은 자식 클래스의 프로퍼티들을 테이블 컬럼들로 매핑시킨다."
+"<![CDATA[<class name=\"person\" table=\"PERSON\">\n"
+"    <id name=\"id\" column=\"PERSON_ID\">\n"
+"        <generator class=\"foreign\">\n"
+"            <param name=\"property\">employee</param>\n"
+"        </generator>\n"
+"    </id>\n"
+"    ...\n"
+"    <one-to-one name=\"employee\"\n"
+"        class=\"Employee\"\n"
+"        constrained=\"true\"/>\n"
+"</class>]]>"
+msgstr ""
 
-#: index.docbook:1775
-msgid "A newly saved instance of <literal>Person</literal> is then assigned the same primary key value as the <literal>Employee</literal> instance refered with the <literal>employee</literal> property of that <literal>Person</literal>."
-msgstr "<literal>&lt;component&gt;</literal> 요소는 컴포넌트 클래스의 프로퍼티를 포함하는 엔티티에 대한 참조로서 매핑시키는 <literal>&lt;parent&gt;</literal> 서브요소를 허용한다."
+#. Tag: para
+#: basic_mapping.xml:1775
+#, no-c-format
+msgid ""
+"A newly saved instance of <literal>Person</literal> is then assigned the "
+"same primary key value as the <literal>Employee</literal> instance refered "
+"with the <literal>employee</literal> property of that <literal>Person</"
+"literal>."
+msgstr ""
+"그때 <literal>Person</literal>의 새로이 저장된 인스턴스는 그 "
+"<literal>Person</literal>의 <literal>employee</literal> 프로퍼티에 대해 참조"
+"된 <literal>Employee</literal> 인스턴스와 동일한 프라이머리 키를 할당받는다."
 
-#: index.docbook:1781
-msgid "Alternatively, a foreign key with a unique constraint, from <literal>Employee</literal> to <literal>Person</literal>, may be expressed as:"
-msgstr "<literal>&lt;dynamic-component&gt;</literal> 요소는 컴포넌트로서 매핑될<literal>Map</literal>을 허용한다. 여기서 프로퍼티 이름들은 map의 키들을 참조한다. <xref linkend=\"components-dynamic\"/>을 보라."
+#. Tag: para
+#: basic_mapping.xml:1781
+#, no-c-format
+msgid ""
+"Alternatively, a foreign key with a unique constraint, from "
+"<literal>Employee</literal> to <literal>Person</literal>, may be expressed "
+"as:"
+msgstr ""
+"달리, <literal>Employee</literal>로부터 <literal>Person</literal>으로의 유일 "
+"컨스트레인트를 가진 하나의 foreign key는 다음과 같이 표현될 수 있다:"
 
-#: index.docbook:1786
-msgid "<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" unique=\"true\"/>]]>"
-msgstr "properties"
+#. Tag: programlisting
+#: basic_mapping.xml:1786
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" "
+"unique=\"true\"/>]]>"
+msgstr ""
 
-#: index.docbook:1788
-msgid "And this association may be made bidirectional by adding the following to the <literal>Person</literal> mapping:"
-msgstr "<literal>&lt;properties&gt;</literal> 요소는 클래스의 프로퍼티들의 명명된, 논리적 그룹핑에 대한 정의를 허용한다. 그 구조에 대한 가장 중요한 사용은 그것이 프로퍼티들의 조합이 <literal>property-ref</literal>의 대상이 되는 것을 허용해준다는 점이다. 또한 그것은 다중 컬럼 유일 컨스트레인느를 정의하는 편리한 방법이다."
+#. Tag: para
+#: basic_mapping.xml:1788
+#, no-c-format
+msgid ""
+"And this association may be made bidirectional by adding the following to "
+"the <literal>Person</literal> mapping:"
+msgstr ""
+"그리고 이 연관은 다음을 <literal>Person</literal> 매핑에 추가함으로써 양방향"
+"이 될 수 있다:"
 
-#: index.docbook:1793
-msgid "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref=\"person\"/>]]>"
+#. Tag: programlisting
+#: basic_mapping.xml:1793
+#, no-c-format
+msgid ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref="
+"\"person\"/>]]>"
 msgstr ""
-      "<![CDATA[<properties \n"
-      "        name=\"logicalName\" \n"
-      "        insert=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      ">\n"
-      "        \n"
-      "        <property ...../>\n"
-      "        <many-to-one .... />\n"
-      "        ........\n"
-      "</properties>]]>"
 
-#: index.docbook:1798
+#. Tag: title
+#: basic_mapping.xml:1798
+#, no-c-format
 msgid "natural-id"
-msgstr "<literal>name</literal>: 그룹핑의 논리적 이름 - 실제 프로퍼티 이름이 <emphasis>아니다</emphasis>."
+msgstr "natural-id"
 
-#: index.docbook:1800
+#. Tag: programlisting
+#: basic_mapping.xml:1800
+#, no-c-format
 msgid ""
-      "<![CDATA[<natural-id mutable=\"true|false\"/>\n"
-      "        <property ... />\n"
-      "        <many-to-one ... />\n"
-      "        ......\n"
-      "</natural-id>]]>"
-msgstr "<literal>insert</literal>: 매핑된 컬럼들이 SQL <literal>INSERT</literal>들 내에 나타날 것인가?"
+"<![CDATA[<natural-id mutable=\"true|false\"/>\n"
+"        <property ... />\n"
+"        <many-to-one ... />\n"
+"        ......\n"
+"</natural-id>]]>"
+msgstr ""
 
-#: index.docbook:1802
-msgid "Even though we recommend the use of surrogate keys as primary keys, you should still try to identify natural keys for all entities. A natural key is a property or combination of properties that is unique and non-null. If it is also immutable, even better. Map the properties of the natural key inside the <literal>&lt;natural-id&gt;</literal> element. Hibernate will generate the necessary unique key and nullability constraints, and your mapping will be more self-documenting."
-msgstr "<literal>update</literal>: 매핑된 컬럼들이 SQL <literal>UPDATE</literal>들 내에 나타날 것인가?"
+#. Tag: para
+#: basic_mapping.xml:1802
+#, no-c-format
+msgid ""
+"Even though we recommend the use of surrogate keys as primary keys, you "
+"should still try to identify natural keys for all entities. A natural key is "
+"a property or combination of properties that is unique and non-null. If it "
+"is also immutable, even better. Map the properties of the natural key inside "
+"the <literal>&lt;natural-id&gt;</literal> element. Hibernate will generate "
+"the necessary unique key and nullability constraints, and your mapping will "
+"be more self-documenting."
+msgstr ""
+"비록 우리가 프라이머리 키들로서 대용키들을 사용하는 것을 권장했을지라도, 당신"
+"은 여전히 모든 엔티티들에 대한 natural 키들을 식별하고자 원할 것이다. "
+"narutal 키는 유일(unique)하고 null이 아닌 프로퍼티 또는 프로퍼티들의 조합이"
+"다. 그것이 또한 불변하는 것일 경우가 더 좋다. <literal>&lt;natural-id&gt;</"
+"literal> 요소 내부에 있는 natural 키의 프로퍼티들을 매핑하라. Hibernate는 필"
+"수적인 유일 키와 null 허용가능한 컨스트레인트들을 생성시킬 것이고, 당신의 매"
+"핑은 보다 자가 설명적이게 될 것이다."
 
-#: index.docbook:1811
-msgid "We strongly recommend that you implement <literal>equals()</literal> and <literal>hashCode()</literal> to compare the natural key properties of the entity."
-msgstr "<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</literal>): 이들 프로퍼티들에 대한 업데이트들이 optimistic 잠금의 획득을 필요로 하는지 여부를 지정한다. 달리 말해 이 프로퍼티가 dirty 일 때 버전 증가가 발생할 것인지 여부를 결정한다."
+#. Tag: para
+#: basic_mapping.xml:1811
+#, no-c-format
+msgid ""
+"We strongly recommend that you implement <literal>equals()</literal> and "
+"<literal>hashCode()</literal> to compare the natural key properties of the "
+"entity."
+msgstr ""
+"우리는 당신이 엔티티에 대한 narutal 키 프로퍼티들을 비교하는데 "
+"<literal>equals()</literal>와 <literal>hashCode()</literal>를 구현할 것을 강"
+"력하게 권장한다."
 
-#: index.docbook:1816
-msgid "This mapping is not intended for use with entities with natural primary keys."
-msgstr "<literal>unique</literal> (옵션 - 디폴트는 <literal>false</literal>): 유일 컨스트레인트가 컴포넌트의 모든 매핑된 컬럼들에 대해 존재하는지 여부를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:1816
+#, no-c-format
+msgid ""
+"This mapping is not intended for use with entities with natural primary keys."
+msgstr ""
+"이 매핑은 natural 프라이머리 키들을 가진 엔티티들을 위한 용도로 고안된 것은 "
+"아니다."
 
-#: index.docbook:1822
-msgid "<literal>mutable</literal> (optional, defaults to <literal>false</literal>): By default, natural identifier properties as assumed to be immutable (constant)."
-msgstr "예를 들어, 만일 우리가 다음 <literal>&lt;properties&gt;</literal> 매핑을 가질 경우:"
+#. Tag: para
+#: basic_mapping.xml:1822
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional, defaults to <literal>false</literal>): "
+"By default, natural identifier properties as assumed to be immutable "
+"(constant)."
+msgstr ""
+"<literal>mutable</literal> (옵션, 디폴트는 <literal>false</literal>): 디폴트"
+"로, narutal 식별자 프로퍼티들은 변경될 수 없는 것(상수)으로 가정된다."
 
-#: index.docbook:1832
+#. Tag: title
+#: basic_mapping.xml:1832
+#, no-c-format
 msgid "component, dynamic-component"
+msgstr "component, dynamic-component"
+
+#. Tag: para
+#: basic_mapping.xml:1834
+#, no-c-format
+msgid ""
+"The <literal>&lt;component&gt;</literal> element maps properties of a child "
+"object to columns of the table of a parent class. Components may, in turn, "
+"declare their own properties, components or collections. See \"Components\" "
+"below."
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"personNumber\"/>\n"
-      "    ...\n"
-      "    <properties name=\"name\" \n"
-      "            unique=\"true\" update=\"false\">\n"
-      "        <property name=\"firstName\"/>\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"lastName\"/>\n"
-      "    </properties>\n"
-      "</class>]]>"
+"<literal>&lt;component&gt;</literal> 요소는 자식 객체의 프로퍼티들을 부모 클"
+"래스에 대한 테이블의 컬럼들로 매핑시킨다. 컴포넌트들은 그것들 자신의 프로퍼티"
+"들, 컴포넌트들, 또는 콜렉션들을 선언한다. 이래 \"컴포넌트들\"을 보라."
 
-#: index.docbook:1834
-msgid "The <literal>&lt;component&gt;</literal> element maps properties of a child object to columns of the table of a parent class. Components may, in turn, declare their own properties, components or collections. See \"Components\" below."
-msgstr "그 때 우리는 프라이머리 키가 아닌, <literal>Person</literal> 테이블의 이 유일 키를 참조하는 어떤 리거시 데이터 연관을 가질 수 있다:"
+#. Tag: programlisting
+#: basic_mapping.xml:1852
+#, no-c-format
+msgid ""
+"<![CDATA[<component\n"
+"        name=\"propertyName\"\n"
+"        class=\"className\"\n"
+"        insert=\"true|false\"\n"
+"        update=\"true|false\"\n"
+"        access=\"field|property|ClassName\"\n"
+"        lazy=\"true|false\"\n"
+"        optimistic-lock=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+"        node=\"element-name|.\"\n"
+">\n"
+"\n"
+"        <property ...../>\n"
+"        <many-to-one .... />\n"
+"        ........\n"
+"</component>]]>"
+msgstr ""
 
-#: index.docbook:1852
+#. Tag: para
+#: basic_mapping.xml:1860
+#, no-c-format
 msgid ""
-      "<![CDATA[<component\n"
-      "        name=\"propertyName\"\n"
-      "        class=\"className\"\n"
-      "        insert=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        lazy=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        node=\"element-name|.\"\n"
-      ">\n"
-      "\n"
-      "        <property ...../>\n"
-      "        <many-to-one .... />\n"
-      "        ........\n"
-      "</component>]]>"
+"<literal>class</literal> (optional - defaults to the property type "
+"determined by reflection): The name of the component (child) class."
 msgstr ""
-      "<![CDATA[<many-to-one name=\"person\" \n"
-      "         class=\"Person\" property-ref=\"name\">\n"
-      "    <column name=\"firstName\"/>\n"
-      "    <column name=\"initial\"/>\n"
-      "    <column name=\"lastName\"/>\n"
-      "</many-to-one>]]>"
+"<literal>class</literal> (옵션 - 디폴트는 reflection에 의해 결정된 프로퍼티 "
+"타입): 컴포넌트(자식) 클래스의 이름."
 
-#: index.docbook:1860
-msgid "<literal>class</literal> (optional - defaults to the property type determined by reflection): The name of the component (child) class."
-msgstr "subclass"
+#. Tag: para
+#: basic_mapping.xml:1866 basic_mapping.xml:1955
+#, fuzzy, no-c-format
+msgid ""
+"<literal>insert</literal>: Do the mapped columns appear in SQL "
+"<literal>INSERT</literal>s?"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>insert</literal>: 매핑된 컬럼들이 SQL <literal>INSERT</literal>들 속"
+"에 나타나야 하는가?\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>insert</literal>: 매핑된 컬럼들이 SQL <literal>INSERT</literal>들 내"
+"에 나타날 것인가?"
 
-#: index.docbook:1866, index.docbook:1955
-msgid "<literal>insert</literal>: Do the mapped columns appear in SQL <literal>INSERT</literal>s?"
-msgstr "마지막으로, 다형성 영속성은 루트 영속 클래스에 대한 각각의 서브클래스 선언을 필요로 한다.(권장되는) table-per-class-hierarchy(테이블 당 클래스 계층구조) 매핑 방도의 경우, <literal>&lt;subclass&gt;</literal> 선언이 사용된다."
+#. Tag: para
+#: basic_mapping.xml:1872 basic_mapping.xml:1961
+#, fuzzy, no-c-format
+msgid ""
+"<literal>update</literal>: Do the mapped columns appear in SQL "
+"<literal>UPDATE</literal>s?"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>update</literal>: 매핑된 컬럼들이 SQL <literal>UPDATE</literal>들 속"
+"에 나타나야 하는가?\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>update</literal>: 매핑된 컬럼들이 SQL <literal>UPDATE</literal>들 내"
+"에 나타날 것인가?"
 
-#: index.docbook:1872, index.docbook:1961
-msgid "<literal>update</literal>: Do the mapped columns appear in SQL <literal>UPDATE</literal>s?"
+#. Tag: para
+#: basic_mapping.xml:1884
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
+"Specifies that this component should be fetched lazily when the instance "
+"variable is first accessed (requires build-time bytecode instrumentation)."
 msgstr ""
-      "<![CDATA[<subclass\n"
-      "        name=\"ClassName\"\n"
-      "        discriminator-value=\"discriminator_value\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\"\n"
-      "        extends=\"SuperclassName\">\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</subclass>]]>"
+"<literal>lazy</literal> (옵션 - 디폴트는 <literal>false</literal>): 인스턴스 "
+"변수가 처음으로 액세스될 때 이 컴포넌트가 lazily(느리게) 페치되어야 하는지 여"
+"부를 지정한다 (빌드 시 바이트코드 수단을 필요로 한다)."
 
-#: index.docbook:1884
-msgid "<literal>lazy</literal> (optional - defaults to <literal>false</literal>): Specifies that this component should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation)."
-msgstr "<literal>discriminator-value</literal> (옵션 - 디폴트는 클래스 이름): 개개의 서브클래스들을 구분짓는 값."
+#. Tag: para
+#: basic_mapping.xml:1891
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this component do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when this property is dirty."
+msgstr ""
+"<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</"
+"literal>): 이 컴포넌트에 대한 업데이트들이 optimistic 잠금을 획득하는 것을 필"
+"요로 하는지 여부를 지정한다. 달리 말해 이 프로퍼티가 dirty 일 때 버전 증가가 "
+"발생할 것인지 여부를 결정한다."
 
-#: index.docbook:1891
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to this component do or do not require acquisition of the optimistic lock. In other words, determines if a version increment should occur when this property is dirty."
-msgstr "<literal>proxy</literal> (옵션): lazy 초기화 프락시들을 사용하는데 클래스 또는 인터페이스를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:1899 basic_mapping.xml:1975
+#, no-c-format
+msgid ""
+"<literal>unique</literal> (optional - defaults to <literal>false</literal>): "
+"Specifies that a unique constraint exists upon all mapped columns of the "
+"component."
+msgstr ""
+"<literal>unique</literal> (옵션 - 디폴트는 <literal>false</literal>): 유일 컨"
+"스트레인트가 컴포넌트의 모든 매핑된 컬럼들에 대해 존재하는지 여부를 지정한다."
 
-#: index.docbook:1899, index.docbook:1975
-msgid "<literal>unique</literal> (optional - defaults to <literal>false</literal>): Specifies that a unique constraint exists upon all mapped columns of the component."
-msgstr "<literal>lazy</literal> (옵션 - 디폴트는 <literal>true</literal>): <literal>lazy=\"false\"</literal> 설정은 lazy 페칭의 사용을 불가능하게 만든다."
+#. Tag: para
+#: basic_mapping.xml:1908
+#, no-c-format
+msgid ""
+"The child <literal>&lt;property&gt;</literal> tags map properties of the "
+"child class to table columns."
+msgstr ""
+"자식 <literal>&lt;property&gt;</literal> 태그들은 자식 클래스의 프로퍼티들을 "
+"테이블 컬럼들로 매핑시킨다."
 
-#: index.docbook:1908
-msgid "The child <literal>&lt;property&gt;</literal> tags map properties of the child class to table columns."
-msgstr "각각의 서브클래스는 그것 자신의 영속 프로퍼티들과 서브클래스들을 선언할 것이다. <literal>&lt;version&gt;</literal> 프로퍼티와 <literal>&lt;id&gt;</literal> 프로퍼티는 루트 클래스로부터 상속된다고 가정된다. 계층구조 내에서 각각의 서브클래스는 유일한 <literal>discriminator-value</literal>를 정의해야 한다. none이 지정될 경우, 전체 수식어가 붙은 자바 클래스 이름이 사용된다."
+#. Tag: para
+#: basic_mapping.xml:1913
+#, no-c-format
+msgid ""
+"The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;"
+"parent&gt;</literal> subelement that maps a property of the component class "
+"as a reference back to the containing entity."
+msgstr ""
+"<literal>&lt;component&gt;</literal> 요소는 컴포넌트 클래스의 프로퍼티를 포함"
+"하는 엔티티에 대한 참조로서 매핑시키는 <literal>&lt;parent&gt;</literal> 서브"
+"요소를 허용한다."
 
-#: index.docbook:1913
-msgid "The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;parent&gt;</literal> subelement that maps a property of the component class as a reference back to the containing entity."
-msgstr "상속 매핑들에 대한 정보는 <xref linkend=\"inheritance\"/>을 보라."
+#. Tag: para
+#: basic_mapping.xml:1919
+#, no-c-format
+msgid ""
+"The <literal>&lt;dynamic-component&gt;</literal> element allows a "
+"<literal>Map</literal> to be mapped as a component, where the property names "
+"refer to keys of the map, see <xref linkend=\"components-dynamic\"/>."
+msgstr ""
+"<literal>&lt;dynamic-component&gt;</literal> 요소는 컴포넌트로서 매핑될"
+"<literal>Map</literal>을 허용한다. 여기서 프로퍼티 이름들은 map의 키들을 참조"
+"한다. <xref linkend=\"components-dynamic\"/>을 보라."
 
-#: index.docbook:1919
-msgid "The <literal>&lt;dynamic-component&gt;</literal> element allows a <literal>Map</literal> to be mapped as a component, where the property names refer to keys of the map, see <xref linkend=\"components-dynamic\"/>."
-msgstr "joined-subclass"
-
-#: index.docbook:1928
+#. Tag: title
+#: basic_mapping.xml:1928
+#, no-c-format
 msgid "properties"
-msgstr "다른 방법으로 각각의 서브클래스는 그것 자신이 테이블로 매핑될 수 있다(table-per-subclass 매핑 방도). 상속된 상태는 슈퍼클래스의 테이블과 조인함으로써 검색된다. 우리는 <literal>&lt;joined-subclass&gt;</literal> 요소를 사용한다."
+msgstr "properties"
 
-#: index.docbook:1930
-msgid "The <literal>&lt;properties&gt;</literal> element allows the definition of a named, logical grouping of properties of a class. The most important use of the construct is that it allows a combination of properties to be the target of a <literal>property-ref</literal>. It is also a convenient way to define a multi-column unique constraint."
+#. Tag: para
+#: basic_mapping.xml:1930
+#, no-c-format
+msgid ""
+"The <literal>&lt;properties&gt;</literal> element allows the definition of a "
+"named, logical grouping of properties of a class. The most important use of "
+"the construct is that it allows a combination of properties to be the target "
+"of a <literal>property-ref</literal>. It is also a convenient way to define "
+"a multi-column unique constraint."
 msgstr ""
-      "<![CDATA[<joined-subclass\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tablename\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        schema=\"schema\"\n"
-      "        catalog=\"catalog\"\n"
-      "        extends=\"SuperclassName\"\n"
-      "        persister=\"ClassName\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\">\n"
-      "\n"
-      "        <key .... >\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</joined-subclass>]]>"
+"<literal>&lt;properties&gt;</literal> 요소는 클래스의 프로퍼티들의 명명된, 논"
+"리적 그룹핑에 대한 정의를 허용한다. 그 구조에 대한 가장 중요한 사용은 그것이 "
+"프로퍼티들의 조합이 <literal>property-ref</literal>의 대상이 되는 것을 허용해"
+"준다는 점이다. 또한 그것은 다중 컬럼 유일 컨스트레인느를 정의하는 편리한 방법"
+"이다."
 
-#: index.docbook:1946
+#. Tag: programlisting
+#: basic_mapping.xml:1946
+#, no-c-format
 msgid ""
-      "<![CDATA[<properties\n"
-      "        name=\"logicalName\"\n"
-      "        insert=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      ">\n"
-      "\n"
-      "        <property ...../>\n"
-      "        <many-to-one .... />\n"
-      "        ........\n"
-      "</properties>]]>"
-msgstr "<literal>name</literal>: 서브클래스의 전체 수식어가 붙은 클래스 명."
+"<![CDATA[<properties\n"
+"        name=\"logicalName\"\n"
+"        insert=\"true|false\"\n"
+"        update=\"true|false\"\n"
+"        optimistic-lock=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+">\n"
+"\n"
+"        <property ...../>\n"
+"        <many-to-one .... />\n"
+"        ........\n"
+"</properties>]]>"
+msgstr ""
 
-#: index.docbook:1949
-msgid "<literal>name</literal>: The logical name of the grouping - <emphasis>not</emphasis> an actual property name."
-msgstr "<literal>table</literal>: 서브클래스 테이블의 이름."
+#. Tag: para
+#: basic_mapping.xml:1949
+#, no-c-format
+msgid ""
+"<literal>name</literal>: The logical name of the grouping - <emphasis>not</"
+"emphasis> an actual property name."
+msgstr ""
+"<literal>name</literal>: 그룹핑의 논리적 이름 - 실제 프로퍼티 이름이 "
+"<emphasis>아니다</emphasis>."
 
-#: index.docbook:1967
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to these properties do or do not require acquisition of the optimistic lock. In other words, determines if a version increment should occur when these properties are dirty."
-msgstr "판별자(discriminator) 컬럼은 이 매핑 방도에 필요하지 않다. 하지만 각각의 서브클래스는 <literal>&lt;key&gt;</literal> 요소를 사용하여 객체 식별자를 보관하는 테이블 컬럼을 선언해야 한다. 이 장의 시작 부분에 있는 매핑은 다음과 같이 다시 작성될 것이다:"
+#. Tag: para
+#: basic_mapping.xml:1967
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to these properties do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when these properties are dirty."
+msgstr ""
+"<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</"
+"literal>): 이들 프로퍼티들에 대한 업데이트들이 optimistic 잠금의 획득을 필요"
+"로 하는지 여부를 지정한다. 달리 말해 이 프로퍼티가 dirty 일 때 버전 증가가 발"
+"생할 것인지 여부를 결정한다."
 
-#: index.docbook:1984
-msgid "For example, if we have the following <literal>&lt;properties&gt;</literal> mapping:"
-msgstr "상속 매핑들에 대한 정보는 <xref linkend=\"inheritance\"/>을 보라."
+#. Tag: para
+#: basic_mapping.xml:1984
+#, no-c-format
+msgid ""
+"For example, if we have the following <literal>&lt;properties&gt;</literal> "
+"mapping:"
+msgstr ""
+"예를 들어, 만일 우리가 다음 <literal>&lt;properties&gt;</literal> 매핑을 가"
+"질 경우:"
 
-#: index.docbook:1988
+#. Tag: programlisting
+#: basic_mapping.xml:1988
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"personNumber\"/>\n"
-      "    ...\n"
-      "    <properties name=\"name\"\n"
-      "            unique=\"true\" update=\"false\">\n"
-      "        <property name=\"firstName\"/>\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"lastName\"/>\n"
-      "    </properties>\n"
-      "</class>]]>"
-msgstr "union-subclass"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"personNumber\"/>\n"
+"    ...\n"
+"    <properties name=\"name\"\n"
+"            unique=\"true\" update=\"false\">\n"
+"        <property name=\"firstName\"/>\n"
+"        <property name=\"initial\"/>\n"
+"        <property name=\"lastName\"/>\n"
+"    </properties>\n"
+"</class>]]>"
+msgstr ""
 
-#: index.docbook:1990
-msgid "Then we might have some legacy data association which refers to this unique key of the <literal>Person</literal> table, instead of to the primary key:"
-msgstr "제3의 옵션은 상속 계층구조의 concrete 클래스들 만을 테이블들로 매핑하는 것이다 (table-per-concrete-class 방도). 여기서 각각의 테이블은 상속된 상태를 포함하여 클래스의 모든 영속 상태를 정의한다. Hibernate에서, 그것은 그런 상속 계층구조들을 명시적으로 매핑하는데 필수적이지 않다. 당신은 별도의 <literal>&lt;class&gt;</literal> 선언을 가진 각각의 클래스를 간단히 매핑시킬 수 있다. 하지만 당신이 다형성 연관관계들(예를 들면 당신의 계층구조의 슈퍼클래스에 대한 연관)을 사용하고자 원할 경우, 당신은 <literal>&lt;union-subclass&gt;</literal> 매핑을 사용할 필요가 있다."
+#. Tag: para
+#: basic_mapping.xml:1990
+#, no-c-format
+msgid ""
+"Then we might have some legacy data association which refers to this unique "
+"key of the <literal>Person</literal> table, instead of to the primary key:"
+msgstr ""
+"그 때 우리는 프라이머리 키가 아닌, <literal>Person</literal> 테이블의 이 유"
+"일 키를 참조하는 어떤 리거시 데이터 연관을 가질 수 있다:"
 
-#: index.docbook:1995
+#. Tag: programlisting
+#: basic_mapping.xml:1995
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one name=\"person\"\n"
-      "         class=\"Person\" property-ref=\"name\">\n"
-      "    <column name=\"firstName\"/>\n"
-      "    <column name=\"initial\"/>\n"
-      "    <column name=\"lastName\"/>\n"
-      "</many-to-one>]]>"
+"<![CDATA[<many-to-one name=\"person\"\n"
+"         class=\"Person\" property-ref=\"name\">\n"
+"    <column name=\"firstName\"/>\n"
+"    <column name=\"initial\"/>\n"
+"    <column name=\"lastName\"/>\n"
+"</many-to-one>]]>"
 msgstr ""
-      "<![CDATA[<union-subclass\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tablename\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        schema=\"schema\"\n"
-      "        catalog=\"catalog\"\n"
-      "        extends=\"SuperclassName\"\n"
-      "        abstract=\"true|false\"\n"
-      "        persister=\"ClassName\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\">\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</union-subclass>]]>"
 
-#: index.docbook:1997
-msgid "We don't recommend the use of this kind of thing outside the context of mapping legacy data."
-msgstr "<literal>name</literal>: 서브클래스의 전체 수식어가 붙은 클래스 명."
+#. Tag: para
+#: basic_mapping.xml:1997
+#, no-c-format
+msgid ""
+"We don't recommend the use of this kind of thing outside the context of "
+"mapping legacy data."
+msgstr ""
+"우리는 리거시 데이터를 매핑시키는 컨텍스트 바깥에서 이런 종류의 것을 사용하"
+"는 것을 권장하지 않는다."
 
-#: index.docbook:2005
+#. Tag: title
+#: basic_mapping.xml:2005
+#, no-c-format
 msgid "subclass"
-msgstr "<literal>table</literal>: 서브클래스 테이블의 이름."
+msgstr "subclass"
 
-#: index.docbook:2007
-msgid "Finally, polymorphic persistence requires the declaration of each subclass of the root persistent class. For the table-per-class-hierarchy mapping strategy, the <literal>&lt;subclass&gt;</literal> declaration is used."
-msgstr "<literal>proxy</literal> (옵션): 프락시들을 lazy 초기화 시키는데 사용할 클래스 또는 인터페이스를 지정한다."
+#. Tag: para
+#: basic_mapping.xml:2007
+#, no-c-format
+msgid ""
+"Finally, polymorphic persistence requires the declaration of each subclass "
+"of the root persistent class. For the table-per-class-hierarchy mapping "
+"strategy, the <literal>&lt;subclass&gt;</literal> declaration is used."
+msgstr ""
+"마지막으로, 다형성 영속성은 루트 영속 클래스에 대한 각각의 서브클래스 선언을 "
+"필요로 한다.(권장되는) table-per-class-hierarchy(테이블 당 클래스 계층구조) "
+"매핑 방도의 경우, <literal>&lt;subclass&gt;</literal> 선언이 사용된다."
 
-#: index.docbook:2020
+#. Tag: programlisting
+#: basic_mapping.xml:2020
+#, no-c-format
 msgid ""
-      "<![CDATA[<subclass\n"
-      "        name=\"ClassName\"\n"
-      "        discriminator-value=\"discriminator_value\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\"\n"
-      "        extends=\"SuperclassName\">\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</subclass>]]>"
-msgstr "<literal>lazy</literal> (옵션 - 디폴트는 <literal>true</literal>): <literal>lazy=\"false\"</literal> 설정은 lazy 페칭을 사용불가능하게 만든다."
+"<![CDATA[<subclass\n"
+"        name=\"ClassName\"\n"
+"        discriminator-value=\"discriminator_value\"\n"
+"        proxy=\"ProxyInterface\"\n"
+"        lazy=\"true|false\"\n"
+"        dynamic-update=\"true|false\"\n"
+"        dynamic-insert=\"true|false\"\n"
+"        entity-name=\"EntityName\"\n"
+"        node=\"element-name\"\n"
+"        extends=\"SuperclassName\">\n"
+"\n"
+"        <property .... />\n"
+"        .....\n"
+"</subclass>]]>"
+msgstr ""
 
-#: index.docbook:2023, index.docbook:2081, index.docbook:2144
-msgid "<literal>name</literal>: The fully qualified class name of the subclass."
-msgstr "이 매핑 방도에는 판별자 컬럼이나 키 컬럼이 필요하지 않다."
+#. Tag: para
+#: basic_mapping.xml:2023 basic_mapping.xml:2081 basic_mapping.xml:2144
+#, fuzzy, no-c-format
+msgid ""
+"<literal>name</literal>: The fully qualified class name of the subclass."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>name</literal>: 서브클래스의 전체 수식어가 붙은 클래스 이름.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>name</literal>: 서브클래스의 전체 수식어가 붙은 클래스 명.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>name</literal>: 서브클래스의 전체 수식어가 붙은 클래스 명."
 
-#: index.docbook:2028
-msgid "<literal>discriminator-value</literal> (optional - defaults to the class name): A value that distiguishes individual subclasses."
-msgstr "상속 매핑들에 대한 정보는 <xref linkend=\"inheritance\"/>을 보라."
+#. Tag: para
+#: basic_mapping.xml:2028
+#, no-c-format
+msgid ""
+"<literal>discriminator-value</literal> (optional - defaults to the class "
+"name): A value that distiguishes individual subclasses."
+msgstr ""
+"<literal>discriminator-value</literal> (옵션 - 디폴트는 클래스 이름): 개개의 "
+"서브클래스들을 구분짓는 값."
 
-#: index.docbook:2034, index.docbook:2091, index.docbook:2154
-msgid "<literal>proxy</literal> (optional): Specifies a class or interface to use for lazy initializing proxies."
-msgstr "join"
+#. Tag: para
+#: basic_mapping.xml:2034 basic_mapping.xml:2091 basic_mapping.xml:2154
+#, fuzzy, no-c-format
+msgid ""
+"<literal>proxy</literal> (optional): Specifies a class or interface to use "
+"for lazy initializing proxies."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>proxy</literal> (옵션): lazy 초기화 프락시들을 사용하는데 클래스 또"
+"는 인터페이스를 지정한다.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>proxy</literal> (옵션): 프락시들을 lazy 초기화 시키는데 사용할 클래"
+"스 또는 인터페이스를 지정한다.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>proxy</literal> (옵션): 프락시들을 lazy 초기화 시키는데 사용할 클래"
+"스 또는 인터페이스를 지정한다."
 
-#: index.docbook:2040, index.docbook:2097, index.docbook:2160
-msgid "<literal>lazy</literal> (optional, defaults to <literal>true</literal>): Setting <literal>lazy=\"false\"</literal> disables the use of lazy fetching."
-msgstr "<literal>&lt;join&gt;</literal>요소를 사용하면, 테이블들 사이에 1대일 관계가 존재할 때, 하나의 클래스에 속한 프로퍼티들을 여러 테이블들로 매핑시키는 것이 가능하다."
+#. Tag: para
+#: basic_mapping.xml:2040 basic_mapping.xml:2097 basic_mapping.xml:2160
+#, fuzzy, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional, defaults to <literal>true</literal>): "
+"Setting <literal>lazy=\"false\"</literal> disables the use of lazy fetching."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>lazy</literal> (옵션 - 디폴트는 <literal>true</literal>): "
+"<literal>lazy=\"false\"</literal> 설정은 lazy 페칭의 사용을 불가능하게 만든"
+"다.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>lazy</literal> (옵션 - 디폴트는 <literal>true</literal>): "
+"<literal>lazy=\"false\"</literal> 설정은 lazy 페칭을 사용불가능하게 만든다\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>lazy</literal> (옵션 - 디폴트는 <literal>true</literal>): "
+"<literal>lazy=\"false\"</literal> 설정은 lazy 페칭을 사용불가능하게 만든다."
 
-#: index.docbook:2048
-msgid "Each subclass should declare its own persistent properties and subclasses. <literal>&lt;version&gt;</literal> and <literal>&lt;id&gt;</literal> properties are assumed to be inherited from the root class. Each subclass in a heirarchy must define a unique <literal>discriminator-value</literal>. If none is specified, the fully qualified Java class name is used."
+#. Tag: para
+#: basic_mapping.xml:2048
+#, no-c-format
+msgid ""
+"Each subclass should declare its own persistent properties and subclasses. "
+"<literal>&lt;version&gt;</literal> and <literal>&lt;id&gt;</literal> "
+"properties are assumed to be inherited from the root class. Each subclass in "
+"a heirarchy must define a unique <literal>discriminator-value</literal>. If "
+"none is specified, the fully qualified Java class name is used."
 msgstr ""
-      "<![CDATA[<join\n"
-      "        table=\"tablename\"\n"
-      "        schema=\"owner\"\n"
-      "        catalog=\"catalog\"\n"
-      "        fetch=\"join|select\"\n"
-      "        inverse=\"true|false\"\n"
-      "        optional=\"true|false\">\n"
-      "        \n"
-      "        <key ... />\n"
-      "        \n"
-      "        <property ... />\n"
-      "        ...\n"
-      "</join>]]>"
+"각각의 서브클래스는 그것 자신의 영속 프로퍼티들과 서브클래스들을 선언할 것이"
+"다. <literal>&lt;version&gt;</literal> 프로퍼티와 <literal>&lt;id&gt;</"
+"literal> 프로퍼티는 루트 클래스로부터 상속된다고 가정된다. 계층구조 내에서 각"
+"각의 서브클래스는 유일한 <literal>discriminator-value</literal>를 정의해야 한"
+"다. none이 지정될 경우, 전체 수식어가 붙은 자바 클래스 이름이 사용된다."
 
-#: index.docbook:2056, index.docbook:2114, index.docbook:2172
-msgid "For information about inheritance mappings, see <xref linkend=\"inheritance\"/>."
-msgstr "<literal>table</literal>: 조인된 테이블의 이름."
+#. Tag: para
+#: basic_mapping.xml:2056 basic_mapping.xml:2114 basic_mapping.xml:2172
+#, no-c-format
+msgid ""
+"For information about inheritance mappings, see <xref linkend=\"inheritance"
+"\"/>."
+msgstr "상속 매핑들에 대한 정보는 <xref linkend=\"inheritance\"/>을 보라."
 
-#: index.docbook:2063
+#. Tag: title
+#: basic_mapping.xml:2063
+#, no-c-format
 msgid "joined-subclass"
-msgstr "<literal>schema</literal> (옵션): 루트 <literal>&lt;hibernate-mapping&gt;</literal> 요소에 의해 지정된 스키마 이름을 오버라이드 시킨다"
+msgstr "joined-subclass"
 
-#: index.docbook:2065
-msgid "Alternatively, each subclass may be mapped to its own table (table-per-subclass mapping strategy). Inherited state is retrieved by joining with the table of the superclass. We use the <literal>&lt;joined-subclass&gt;</literal> element."
-msgstr "<literal>catalog</literal> (옵션): 루트 <literal>&lt;hibernate-mapping&gt;</literal> 요소에 의해 지정된 카타록 이름을 오버라이드 시킨다."
+#. Tag: para
+#: basic_mapping.xml:2065
+#, no-c-format
+msgid ""
+"Alternatively, each subclass may be mapped to its own table (table-per-"
+"subclass mapping strategy). Inherited state is retrieved by joining with the "
+"table of the superclass. We use the <literal>&lt;joined-subclass&gt;</"
+"literal> element."
+msgstr ""
+"다른 방법으로 각각의 서브클래스는 그것 자신이 테이블로 매핑될 수 있다(table-"
+"per-subclass 매핑 방도). 상속된 상태는 슈퍼클래스의 테이블과 조인함으로써 검"
+"색된다. 우리는 <literal>&lt;joined-subclass&gt;</literal> 요소를 사용한다."
 
-#: index.docbook:2078
+#. Tag: programlisting
+#: basic_mapping.xml:2078
+#, no-c-format
 msgid ""
-      "<![CDATA[<joined-subclass\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tablename\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        schema=\"schema\"\n"
-      "        catalog=\"catalog\"\n"
-      "        extends=\"SuperclassName\"\n"
-      "        persister=\"ClassName\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\">\n"
-      "\n"
-      "        <key .... >\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</joined-subclass>]]>"
-msgstr "<literal>fetch</literal> (옵션 - 디폴트는 <literal>join</literal>): <literal>join</literal>으로 설정될 경우, 디폴트로 Hibernate는 하나의 클래스 또는 그것의 슈퍼 클래스들에 의해 정의된 <literal>&lt;join&gt;</literal>을 검색하는데 inner join을 사용하고 서브클래스에 의해 정의된 <literal>&lt;join&gt;</literal>을 검색하는데 outer join을 사용할 것이다. 만일 <literal>select</literal>로 설정할 경우, Hibernate는 서브클래스 상에 정의된 <literal>&lt;join&gt;</literal>에 대해 sequential select를 사용할 것이고, 그것은 한 행이 서브클래스의 인스턴스를 표현하는 것으로 판명되는 경우에만 명령이 내려질 것이다. inner join들은 여전히 클래스와 그것의 슈퍼클래스들에 의해 정의된 <literal>&lt;join&gt;</literal>을 검색하는데 사용될 것이다."
+"<![CDATA[<joined-subclass\n"
+"        name=\"ClassName\"\n"
+"        table=\"tablename\"\n"
+"        proxy=\"ProxyInterface\"\n"
+"        lazy=\"true|false\"\n"
+"        dynamic-update=\"true|false\"\n"
+"        dynamic-insert=\"true|false\"\n"
+"        schema=\"schema\"\n"
+"        catalog=\"catalog\"\n"
+"        extends=\"SuperclassName\"\n"
+"        persister=\"ClassName\"\n"
+"        subselect=\"SQL expression\"\n"
+"        entity-name=\"EntityName\"\n"
+"        node=\"element-name\">\n"
+"\n"
+"        <key .... >\n"
+"\n"
+"        <property .... />\n"
+"        .....\n"
+"</joined-subclass>]]>"
+msgstr ""
 
-#: index.docbook:2086, index.docbook:2149
+#. Tag: para
+#: basic_mapping.xml:2086 basic_mapping.xml:2149
+#, no-c-format
 msgid "<literal>table</literal>: The name of the subclass table."
-msgstr "<literal>optional</literal> (옵션 - 디폴트는 <literal>false</literal>): 이용 가능할 경우, Hibernate는 이 조인에 의해 정의된 프로퍼티들이 null이 아닐 경우에만 한 행을 삽입시킬 것이고 그 프로퍼티들을 검색하는데 outer join을 항상 사용할 것이다."
+msgstr "<literal>table</literal>: 서브클래스 테이블의 이름."
 
-#: index.docbook:2105
-msgid "No discriminator column is required for this mapping strategy. Each subclass must, however, declare a table column holding the object identifier using the <literal>&lt;key&gt;</literal> element. The mapping at the start of the chapter would be re-written as:"
-msgstr "이 특징은 자주 리거시 데이터 모형들에 대해서만 유용하고, 우리는 클래스들과 잘 정제된 도메인 모형 보다 더 적은 테이블들을 권장한다. 하지만 뒷 부분에 설명되어 있듯이, 그것은 하나의 계층구조 내에 있는 상속 매핑 방도들 사이를 전환하는 것에 유용하다."
+#. Tag: para
+#: basic_mapping.xml:2105
+#, no-c-format
+msgid ""
+"No discriminator column is required for this mapping strategy. Each subclass "
+"must, however, declare a table column holding the object identifier using "
+"the <literal>&lt;key&gt;</literal> element. The mapping at the start of the "
+"chapter would be re-written as:"
+msgstr ""
+"판별자(discriminator) 컬럼은 이 매핑 방도에 필요하지 않다. 하지만 각각의 서브"
+"클래스는 <literal>&lt;key&gt;</literal> 요소를 사용하여 객체 식별자를 보관하"
+"는 테이블 컬럼을 선언해야 한다. 이 장의 시작 부분에 있는 매핑은 다음과 같이 "
+"다시 작성될 것이다:"
 
-#: index.docbook:2112
+#. Tag: programlisting
+#: basic_mapping.xml:2112
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Mapping DTD//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "        <class name=\"Cat\" table=\"CATS\">\n"
-      "                <id name=\"id\" column=\"uid\" type=\"long\">\n"
-      "                        <generator class=\"hilo\"/>\n"
-      "                </id>\n"
-      "                <property name=\"birthdate\" type=\"date\"/>\n"
-      "                <property name=\"color\" not-null=\"true\"/>\n"
-      "                <property name=\"sex\" not-null=\"true\"/>\n"
-      "                <property name=\"weight\"/>\n"
-      "                <many-to-one name=\"mate\"/>\n"
-      "                <set name=\"kittens\">\n"
-      "                        <key column=\"MOTHER\"/>\n"
-      "                        <one-to-many class=\"Cat\"/>\n"
-      "                </set>\n"
-      "                <joined-subclass name=\"DomesticCat\" table=\"DOMESTIC_CATS\">\n"
-      "                    <key column=\"CAT\"/>\n"
-      "                    <property name=\"name\" type=\"string\"/>\n"
-      "                </joined-subclass>\n"
-      "        </class>\n"
-      "\n"
-      "        <class name=\"eg.Dog\">\n"
-      "                <!-- mapping for Dog could go here -->\n"
-      "        </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
-msgstr "<title>key</title>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"        \"-//Hibernate/Hibernate Mapping DTD//EN\"\n"
+"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+"        <class name=\"Cat\" table=\"CATS\">\n"
+"                <id name=\"id\" column=\"uid\" type=\"long\">\n"
+"                        <generator class=\"hilo\"/>\n"
+"                </id>\n"
+"                <property name=\"birthdate\" type=\"date\"/>\n"
+"                <property name=\"color\" not-null=\"true\"/>\n"
+"                <property name=\"sex\" not-null=\"true\"/>\n"
+"                <property name=\"weight\"/>\n"
+"                <many-to-one name=\"mate\"/>\n"
+"                <set name=\"kittens\">\n"
+"                        <key column=\"MOTHER\"/>\n"
+"                        <one-to-many class=\"Cat\"/>\n"
+"                </set>\n"
+"                <joined-subclass name=\"DomesticCat\" table=\"DOMESTIC_CATS"
+"\">\n"
+"                    <key column=\"CAT\"/>\n"
+"                    <property name=\"name\" type=\"string\"/>\n"
+"                </joined-subclass>\n"
+"        </class>\n"
+"\n"
+"        <class name=\"eg.Dog\">\n"
+"                <!-- mapping for Dog could go here -->\n"
+"        </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
+msgstr ""
 
-#: index.docbook:2121
+#. Tag: title
+#: basic_mapping.xml:2121
+#, no-c-format
 msgid "union-subclass"
+msgstr "union-subclass"
+
+#. Tag: para
+#: basic_mapping.xml:2123
+#, no-c-format
+msgid ""
+"A third option is to map only the concrete classes of an inheritance "
+"hierarchy to tables, (the table-per-concrete-class strategy) where each "
+"table defines all persistent state of the class, including inherited state. "
+"In Hibernate, it is not absolutely necessary to explicitly map such "
+"inheritance hierarchies. You can simply map each class with a separate "
+"<literal>&lt;class&gt;</literal> declaration. However, if you wish use "
+"polymorphic associations (e.g. an association to the superclass of your "
+"hierarchy), you need to use the <literal>&lt;union-subclass&gt;</literal> "
+"mapping."
 msgstr ""
-      "<![CDATA[<key\n"
-      "        column=\"columnname\"\n"
-      "        on-delete=\"noaction|cascade\"\n"
-      "        property-ref=\"propertyName\"\n"
-      "        not-null=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "/>]]>"
+"제3의 옵션은 상속 계층구조의 concrete 클래스들 만을 테이블들로 매핑하는 것이"
+"다 (table-per-concrete-class 방도). 여기서 각각의 테이블은 상속된 상태를 포함"
+"하여 클래스의 모든 영속 상태를 정의한다. Hibernate에서, 그것은 그런 상속 계층"
+"구조들을 명시적으로 매핑하는데 필수적이지 않다. 당신은 별도의 <literal>&lt;"
+"class&gt;</literal> 선언을 가진 각각의 클래스를 간단히 매핑시킬 수 있다. 하지"
+"만 당신이 다형성 연관관계들(예를 들면 당신의 계층구조의 슈퍼클래스에 대한 연"
+"관)을 사용하고자 원할 경우, 당신은 <literal>&lt;union-subclass&gt;</literal> "
+"매핑을 사용할 필요가 있다."
 
-#: index.docbook:2123
-msgid "A third option is to map only the concrete classes of an inheritance hierarchy to tables, (the table-per-concrete-class strategy) where each table defines all persistent state of the class, including inherited state. In Hibernate, it is not absolutely necessary to explicitly map such inheritance hierarchies. You can simply map each class with a separate <literal>&lt;class&gt;</literal> declaration. However, if you wish use polymorphic associations (e.g. an association to the superclass of your hierarchy), you need to use the <literal>&lt;union-subclass&gt;</literal> mapping."
-msgstr "<literal>column</literal> (옵션): foreign key 컬럼의 이름. 이것은 또한 내포된 <literal>&lt;column&gt;</literal> 요소(들)에 의해 지정될 수 있다."
+#. Tag: programlisting
+#: basic_mapping.xml:2141
+#, no-c-format
+msgid ""
+"<![CDATA[<union-subclass\n"
+"        name=\"ClassName\"\n"
+"        table=\"tablename\"\n"
+"        proxy=\"ProxyInterface\"\n"
+"        lazy=\"true|false\"\n"
+"        dynamic-update=\"true|false\"\n"
+"        dynamic-insert=\"true|false\"\n"
+"        schema=\"schema\"\n"
+"        catalog=\"catalog\"\n"
+"        extends=\"SuperclassName\"\n"
+"        abstract=\"true|false\"\n"
+"        persister=\"ClassName\"\n"
+"        subselect=\"SQL expression\"\n"
+"        entity-name=\"EntityName\"\n"
+"        node=\"element-name\">\n"
+"\n"
+"        <property .... />\n"
+"        .....\n"
+"</union-subclass>]]>"
+msgstr ""
 
-#: index.docbook:2141
+#. Tag: para
+#: basic_mapping.xml:2168
+#, no-c-format
 msgid ""
-      "<![CDATA[<union-subclass\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tablename\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        schema=\"schema\"\n"
-      "        catalog=\"catalog\"\n"
-      "        extends=\"SuperclassName\"\n"
-      "        abstract=\"true|false\"\n"
-      "        persister=\"ClassName\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\">\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</union-subclass>]]>"
-msgstr "<literal>on-delete</literal> (옵션 - 디폴트는 <literal>noaction</literal>): foreign key 컨스트레인트가 데이터베이스 레벨의 cascade delete를 사용가능하도록 할 것인지 여부를 지정한다."
+"No discriminator column or key column is required for this mapping strategy."
+msgstr "이 매핑 방도에는 판별자 컬럼이나 키 컬럼이 필요하지 않다."
 
-#: index.docbook:2168
-msgid "No discriminator column or key column is required for this mapping strategy."
-msgstr "우리는 delete 퍼포먼스가 중요한 시스템들에 대해 권장하고, 모든 키들은 <literal>on-delete=\"cascade\"</literal>로 정의되고, Hibernate는 많은 <literal>DELETE</literal> 문장들 대신에, 데이터베이스 레벨의 <literal>ON CASCADE DELETE</literal> 컨스트레인트를 사용할 것이다. 이 특징은 Hibernate의 통상적인 버전화된 데이터에 대한 optimistic 잠금 방도를 무시한다는 점을 알고 있어라."
-
-#: index.docbook:2179
+#. Tag: title
+#: basic_mapping.xml:2179
+#, no-c-format
 msgid "join"
-msgstr "column 요소와 formula 요소"
+msgstr "join"
 
-#: index.docbook:2181
-msgid "Using the <literal>&lt;join&gt;</literal> element, it is possible to map properties of one class to several tables, when there's a 1-to-1 relationship between the tables."
-msgstr "column 속성을 허용하는 임의의 매핑 요소는 대안적으로 하나의 <literal>&lt;column&gt;</literal> 서브요소를 수용할 것이다. 비슷하게 <literal>&lt;formula&gt;</literal>는 <literal>formula</literal> 속성에 대한 대안이다."
+#. Tag: para
+#: basic_mapping.xml:2181
+#, no-c-format
+msgid ""
+"Using the <literal>&lt;join&gt;</literal> element, it is possible to map "
+"properties of one class to several tables, when there's a 1-to-1 "
+"relationship between the tables."
+msgstr ""
+"<literal>&lt;join&gt;</literal>요소를 사용하면, 테이블들 사이에 1대일 관계가 "
+"존재할 때, 하나의 클래스에 속한 프로퍼티들을 여러 테이블들로 매핑시키는 것이 "
+"가능하다."
 
-#: index.docbook:2195
+#. Tag: programlisting
+#: basic_mapping.xml:2195
+#, no-c-format
 msgid ""
-      "<![CDATA[<join\n"
-      "        table=\"tablename\"\n"
-      "        schema=\"owner\"\n"
-      "        catalog=\"catalog\"\n"
-      "        fetch=\"join|select\"\n"
-      "        inverse=\"true|false\"\n"
-      "        optional=\"true|false\">\n"
-      "\n"
-      "        <key ... />\n"
-      "\n"
-      "        <property ... />\n"
-      "        ...\n"
-      "</join>]]>"
+"<![CDATA[<join\n"
+"        table=\"tablename\"\n"
+"        schema=\"owner\"\n"
+"        catalog=\"catalog\"\n"
+"        fetch=\"join|select\"\n"
+"        inverse=\"true|false\"\n"
+"        optional=\"true|false\">\n"
+"\n"
+"        <key ... />\n"
+"\n"
+"        <property ... />\n"
+"        ...\n"
+"</join>]]>"
 msgstr ""
-      "<![CDATA[<column\n"
-      "        name=\"column_name\"\n"
-      "        length=\"N\"\n"
-      "        precision=\"N\"\n"
-      "        scale=\"N\"\n"
-      "        not-null=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        unique-key=\"multicolumn_unique_key_name\"\n"
-      "        index=\"index_name\"\n"
-      "        sql-type=\"sql_type_name\"\n"
-      "        check=\"SQL expression\"\n"
-      "        default=\"SQL expression\"/>]]>"
 
-#: index.docbook:2199
+#. Tag: para
+#: basic_mapping.xml:2199
+#, no-c-format
 msgid "<literal>table</literal>: The name of the joined table."
-msgstr "<![CDATA[<formula>SQL expression</formula>]]>"
+msgstr "<literal>table</literal>: 조인된 테이블의 이름."
 
-#: index.docbook:2216
-msgid "<literal>fetch</literal> (optional - defaults to <literal>join</literal>): If set to <literal>join</literal>, the default, Hibernate will use an inner join to retrieve a <literal>&lt;join&gt;</literal> defined by a class or its superclasses and an outer join for a <literal>&lt;join&gt;</literal> defined by a subclass. If set to <literal>select</literal> then Hibernate will use a sequential select for a <literal>&lt;join&gt;</literal> defined on a subclass, which will be issued only if a row turns out to represent an instance of the subclass. Inner joins will still be used to retrieve a <literal>&lt;join&gt;</literal> defined by the class and its superclasses."
-msgstr "import"
+#. Tag: para
+#: basic_mapping.xml:2216
+#, no-c-format
+msgid ""
+"<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
+"If set to <literal>join</literal>, the default, Hibernate will use an inner "
+"join to retrieve a <literal>&lt;join&gt;</literal> defined by a class or its "
+"superclasses and an outer join for a <literal>&lt;join&gt;</literal> defined "
+"by a subclass. If set to <literal>select</literal> then Hibernate will use a "
+"sequential select for a <literal>&lt;join&gt;</literal> defined on a "
+"subclass, which will be issued only if a row turns out to represent an "
+"instance of the subclass. Inner joins will still be used to retrieve a "
+"<literal>&lt;join&gt;</literal> defined by the class and its superclasses."
+msgstr ""
+"<literal>fetch</literal> (옵션 - 디폴트는 <literal>join</literal>): "
+"<literal>join</literal>으로 설정될 경우, 디폴트로 Hibernate는 하나의 클래스 "
+"또는 그것의 슈퍼 클래스들에 의해 정의된 <literal>&lt;join&gt;</literal>을 검"
+"색하는데 inner join을 사용하고 서브클래스에 의해 정의된 <literal>&lt;join&gt;"
+"</literal>을 검색하는데 outer join을 사용할 것이다. 만일 <literal>select</"
+"literal>로 설정할 경우, Hibernate는 서브클래스 상에 정의된 <literal>&lt;"
+"join&gt;</literal>에 대해 sequential select를 사용할 것이고, 그것은 한 행이 "
+"서브클래스의 인스턴스를 표현하는 것으로 판명되는 경우에만 명령이 내려질 것이"
+"다. inner join들은 여전히 클래스와 그것의 슈퍼클래스들에 의해 정의된 "
+"<literal>&lt;join&gt;</literal>을 검색하는데 사용될 것이다."
 
-#: index.docbook:2229
-msgid "<literal>inverse</literal> (optional - defaults to <literal>false</literal>): If enabled, Hibernate will not try to insert or update the properties defined by this join."
-msgstr "당신의 어플리케이션이 동일한 이름을 가진 두 개의 영속 클래스들을 갖고, 당신이 Hibernate 질의들 내에서 전체 수식어가 붙은 (패키지)이름을 지정하는 것을 원하지 않는다고 가정하자. 클래스들은 <literal>auto-import=\"true\"</literal>에 의존하기 보다 명시적으로 \"임포트 될 \" 것이다. 당신은 심지어 명시적으로 매핑되지 않는 클래스들과 인터페이스들을 임포트 시킬 수(가져오기 할 수) 있다."
+#. Tag: para
+#: basic_mapping.xml:2229
+#, no-c-format
+msgid ""
+"<literal>inverse</literal> (optional - defaults to <literal>false</"
+"literal>): If enabled, Hibernate will not try to insert or update the "
+"properties defined by this join."
+msgstr ""
+"<literal>inverse</literal> (옵션 - 디폴트는 <literal>false</literal>): 이용 "
+"가능할 경우, Hibernate는 이 조인에 의해 정의된 프로퍼티들을 삽입시키거나 업데"
+"이트하려고 시도하지 않을 것이다."
 
-#: index.docbook:2236
-msgid "<literal>optional</literal> (optional - defaults to <literal>false</literal>): If enabled, Hibernate will insert a row only if the properties defined by this join are non-null and will always use an outer join to retrieve the properties."
-msgstr "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:2236
+#, no-c-format
+msgid ""
+"<literal>optional</literal> (optional - defaults to <literal>false</"
+"literal>): If enabled, Hibernate will insert a row only if the properties "
+"defined by this join are non-null and will always use an outer join to "
+"retrieve the properties."
+msgstr ""
+"<literal>optional</literal> (옵션 - 디폴트는 <literal>false</literal>): 이용 "
+"가능할 경우, Hibernate는 이 조인에 의해 정의된 프로퍼티들이 null이 아닐 경우"
+"에만 한 행을 삽입시킬 것이고 그 프로퍼티들을 검색하는데 outer join을 항상 사"
+"용할 것이다."
 
-#: index.docbook:2245
-msgid "For example, the address information for a person can be mapped to a separate table (while preserving value type semantics for all properties):"
+#. Tag: para
+#: basic_mapping.xml:2245
+#, no-c-format
+msgid ""
+"For example, the address information for a person can be mapped to a "
+"separate table (while preserving value type semantics for all properties):"
 msgstr ""
-      "<![CDATA[<import\n"
-      "        class=\"ClassName\"\n"
-      "        rename=\"ShortName\"\n"
-      "/>]]>"
+"예를 들어, (모든 프로퍼티들에 대해 value 타입 의미를 유지하면서) 개인의 주소 "
+"정보는 별도의 테이블에 매핑될 수 있다:"
 
-#: index.docbook:2250
+#. Tag: programlisting
+#: basic_mapping.xml:2250
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\"\n"
-      "    table=\"PERSON\">\n"
-      "\n"
-      "    <id name=\"id\" column=\"PERSON_ID\">...</id>\n"
-      "\n"
-      "    <join table=\"ADDRESS\">\n"
-      "        <key column=\"ADDRESS_ID\"/>\n"
-      "        <property name=\"address\"/>\n"
-      "        <property name=\"zip\"/>\n"
-      "        <property name=\"country\"/>\n"
-      "    </join>\n"
-      "    ...]]>"
-msgstr "<literal>class</literal>: 임의의 Java 클래스의 전체 수식어가 붙은 클래스 이름."
+"<![CDATA[<class name=\"Person\"\n"
+"    table=\"PERSON\">\n"
+"\n"
+"    <id name=\"id\" column=\"PERSON_ID\">...</id>\n"
+"\n"
+"    <join table=\"ADDRESS\">\n"
+"        <key column=\"ADDRESS_ID\"/>\n"
+"        <property name=\"address\"/>\n"
+"        <property name=\"zip\"/>\n"
+"        <property name=\"country\"/>\n"
+"    </join>\n"
+"    ...]]>"
+msgstr ""
 
-#: index.docbook:2252
-msgid "This feature is often only useful for legacy data models, we recommend fewer tables than classes and a fine-grained domain model. However, it is useful for switching between inheritance mapping strategies in a single hierarchy, as explained later."
-msgstr "<literal>rename</literal> (옵션 - 디폴트는 수식어가 붙지 않은 클래스 이름): 질의 언어 내에서 사용될 이름."
+#. Tag: para
+#: basic_mapping.xml:2252
+#, no-c-format
+msgid ""
+"This feature is often only useful for legacy data models, we recommend fewer "
+"tables than classes and a fine-grained domain model. However, it is useful "
+"for switching between inheritance mapping strategies in a single hierarchy, "
+"as explained later."
+msgstr ""
+"이 특징은 자주 리거시 데이터 모형들에 대해서만 유용하고, 우리는 클래스들과 "
+"잘 정제된 도메인 모형 보다 더 적은 테이블들을 권장한다. 하지만 뒷 부분에 설명"
+"되어 있듯이, 그것은 하나의 계층구조 내에 있는 상속 매핑 방도들 사이를 전환하"
+"는 것에 유용하다."
 
-#: index.docbook:2262
+#. Tag: title
+#: basic_mapping.xml:2262
+#, no-c-format
 msgid "<title>key</title>"
-msgstr "<title>any</title>"
+msgstr ""
 
-#: index.docbook:2264
-msgid "We've seen the <literal>&lt;key&gt;</literal> element crop up a few times now. It appears anywhere the parent mapping element defines a join to a new table, and defines the foreign key in the joined table, that references the primary key of the original table."
-msgstr "하나 이상의 프로퍼티 매핑 타입이 존재한다. <literal>&lt;any&gt;</literal> 매핑 요소는 여러 테이블들로부터 클래스들에 대한 하나의 다형성 연관관계를 정의한다. 이 매핑 타입은 언제나 하나 이상의 컬럼을 필요로 한다. 첫 번째 컬럼은 연관된 엔티티의 타입을 보관한다. 나머지 컬럼들은 식별자를 보관한다. 이런 종류의 연관관계들에 대해 foreign key 컨스트레인트를 지정하는 것이 불가능해서, 이것은 (다형성) 연관관계들을 매핑하는 통상적인 방법으로서 가장 확실한 수단이 아니다. 당신은 매우 특별한 경우들 (예를 들어 감사 로그들, 사용자 세션 데이터 등)에서만 이것을 사용해야 한다."
+#. Tag: para
+#: basic_mapping.xml:2264
+#, no-c-format
+msgid ""
+"We've seen the <literal>&lt;key&gt;</literal> element crop up a few times "
+"now. It appears anywhere the parent mapping element defines a join to a new "
+"table, and defines the foreign key in the joined table, that references the "
+"primary key of the original table."
+msgstr ""
+"우리는 지금까지 몇 번 나타났던 <literal>&lt;key&gt;</literal> 요소를 보았다. "
+"그것은 부모 매핑 요소가 새로운 테이블에 대한 조인을 정의하는 어느 곳에서나 나"
+"타나고, 그것은 조인된 테이블의 foreign 키를 정의하고, 그것은 원래의 테이블의 "
+"프라이머리 키를 참조한다."
 
-#: index.docbook:2280
+#. Tag: programlisting
+#: basic_mapping.xml:2280
+#, no-c-format
 msgid ""
-      "<![CDATA[<key\n"
-      "        column=\"columnname\"\n"
-      "        on-delete=\"noaction|cascade\"\n"
-      "        property-ref=\"propertyName\"\n"
-      "        not-null=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "/>]]>"
-msgstr "<literal>meta-type</literal> 속성은 어플리케이션으로 하여금 데이터베이스 컬럼 값들을 <literal>id-type</literal>에 의해 지정된 타입의 식별자 프로퍼티들을 가진 영속 클래스들로 매핑시키는 맞춤형 타입을 지정하도록 한다. 당신은 meta-type의 값들로부터 클래스 이름들로의 매핑을 지정해야 한다."
+"<![CDATA[<key\n"
+"        column=\"columnname\"\n"
+"        on-delete=\"noaction|cascade\"\n"
+"        property-ref=\"propertyName\"\n"
+"        not-null=\"true|false\"\n"
+"        update=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:2291
-msgid "<literal>on-delete</literal> (optional, defaults to <literal>noaction</literal>): Specifies whether the foreign key constraint has database-level cascade delete enabled."
+#. Tag: para
+#: basic_mapping.xml:2291
+#, no-c-format
+msgid ""
+"<literal>on-delete</literal> (optional, defaults to <literal>noaction</"
+"literal>): Specifies whether the foreign key constraint has database-level "
+"cascade delete enabled."
 msgstr ""
-      "<![CDATA[<any\n"
-      "        name=\"propertyName\"\n"
-      "        id-type=\"idtypename\"\n"
-      "        meta-type=\"metatypename\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      ">\n"
-      "        <meta-value ... />\n"
-      "        <meta-value ... />\n"
-      "        .....\n"
-      "        <column .... />\n"
-      "        <column .... />\n"
-      "        .....\n"
-      "</any>]]>"
+"<literal>on-delete</literal> (옵션 - 디폴트는 <literal>noaction</literal>): "
+"foreign key 컨스트레인트가 데이터베이스 레벨의 cascade delete를 사용가능하도"
+"록 할 것인지 여부를 지정한다."
 
-#: index.docbook:2298
-msgid "<literal>property-ref</literal> (optional): Specifies that the foreign key refers to columns that are not the primary key of the orginal table. (Provided for legacy data.)"
-msgstr "<literal>name</literal>: 프로퍼티 이름."
+#. Tag: para
+#: basic_mapping.xml:2298
+#, no-c-format
+msgid ""
+"<literal>property-ref</literal> (optional): Specifies that the foreign key "
+"refers to columns that are not the primary key of the orginal table. "
+"(Provided for legacy data.)"
+msgstr ""
+"<literal>property-ref</literal> (옵션): foreign key가 원래의 테이블의 프라이"
+"머리 키가 아닌 컬럼들을 참조함을 지정한다. (리거시 데이터에 제공됨.)"
 
-#: index.docbook:2305
-msgid "<literal>not-null</literal> (optional): Specifies that the foreign key columns are not nullable (this is implied whenever the foreign key is also part of the primary key)."
-msgstr "<literal>id-type</literal>: 식별자 타입."
+#. Tag: para
+#: basic_mapping.xml:2305
+#, no-c-format
+msgid ""
+"<literal>not-null</literal> (optional): Specifies that the foreign key "
+"columns are not nullable (this is implied whenever the foreign key is also "
+"part of the primary key)."
+msgstr ""
+"<literal>not-null</literal> (옵션): foreign 키 컬럼들이 not null 임를 지정한"
+"다(이것은 foreign 키가 또한 프라이머리 키의 부분일 때마다 함축된다)."
 
-#: index.docbook:2312
-msgid "<literal>update</literal> (optional): Specifies that the foreign key should never be updated (this is implied whenever the foreign key is also part of the primary key)."
-msgstr "<literal>meta-type</literal> (옵션 - 디폴트는 <literal>string</literal>): discriminator 매핑에 허용되는 임의의 타입."
+#. Tag: para
+#: basic_mapping.xml:2312
+#, no-c-format
+msgid ""
+"<literal>update</literal> (optional): Specifies that the foreign key should "
+"never be updated (this is implied whenever the foreign key is also part of "
+"the primary key)."
+msgstr ""
+"<literal>update</literal> (옵션): foreign 키가 결코 업데이트되지 않아야 함을 "
+"지정한다(이것은 foreign 키가 또한 프라이머리 키의 부분일 때마다 함축된다)."
 
-#: index.docbook:2319
-msgid "<literal>unique</literal> (optional): Specifies that the foreign key should have a unique constraint (this is implied whenever the foreign key is also the primary key)."
-msgstr "<literal>cascade</literal> (optional- defaults to <literal>none</literal>): cascade 스타일."
+#. Tag: para
+#: basic_mapping.xml:2319
+#, no-c-format
+msgid ""
+"<literal>unique</literal> (optional): Specifies that the foreign key should "
+"have a unique constraint (this is implied whenever the foreign key is also "
+"the primary key)."
+msgstr ""
+"<literal>unique</literal> (옵션): foreign 키가 유일 컨스트레인트를 가져야 함"
+"을 지정한다 (이것은 foreign 키가 또한 프라이머리 키의 부분일 때마다 함축된"
+"다)."
 
-#: index.docbook:2327
-msgid "We recommend that for systems where delete performance is important, all keys should be defined <literal>on-delete=\"cascade\"</literal>, and Hibernate will use a database-level <literal>ON CASCADE DELETE</literal> constraint, instead of many individual <literal>DELETE</literal> statements. Be aware that this feature bypasses Hibernate's usual optimistic locking strategy for versioned data."
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 프로퍼티 값에 접근하는데 사용할 방도."
+#. Tag: para
+#: basic_mapping.xml:2327
+#, no-c-format
+msgid ""
+"We recommend that for systems where delete performance is important, all "
+"keys should be defined <literal>on-delete=\"cascade\"</literal>, and "
+"Hibernate will use a database-level <literal>ON CASCADE DELETE</literal> "
+"constraint, instead of many individual <literal>DELETE</literal> statements. "
+"Be aware that this feature bypasses Hibernate's usual optimistic locking "
+"strategy for versioned data."
+msgstr ""
+"우리는 delete 퍼포먼스가 중요한 시스템들에 대해 권장하고, 모든 키들은 "
+"<literal>on-delete=\"cascade\"</literal>로 정의되고, Hibernate는 많은 "
+"<literal>DELETE</literal> 문장들 대신에, 데이터베이스 레벨의 <literal>ON "
+"CASCADE DELETE</literal> 컨스트레인트를 사용할 것이다. 이 특징은 Hibernate의 "
+"통상적인 버전화된 데이터에 대한 optimistic 잠금 방도를 무시한다는 점을 알고 "
+"있어라."
 
-#: index.docbook:2335
-msgid "The <literal>not-null</literal> and <literal>update</literal> attributes are useful when mapping a unidirectional one to many association. If you map a unidirectional one to many to a non-nullable foreign key, you <emphasis>must</emphasis> declare the key column using <literal>&lt;key not-null=\"true\"&gt;</literal>."
-msgstr "<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</literal>): 이 프로퍼티에 대한 업데이트들이 optimistic 잠금 획득을 필요로 하는지 여부를 지정한다. 달리 말해, 이 프로퍼티가 dirty일 경우에 버전증가가 발생할 것인지 여부를 정의한다."
+#. Tag: para
+#: basic_mapping.xml:2335
+#, no-c-format
+msgid ""
+"The <literal>not-null</literal> and <literal>update</literal> attributes are "
+"useful when mapping a unidirectional one to many association. If you map a "
+"unidirectional one to many to a non-nullable foreign key, you "
+"<emphasis>must</emphasis> declare the key column using <literal>&lt;key not-"
+"null=\"true\"&gt;</literal>."
+msgstr ""
+"<literal>not-null</literal> 속성과 <literal>update</literal> 속성들은 단방향 "
+"one to many 연관관계를 매핑할 때 유용하다. 만일 당신이 단방향 one to many를 "
+"null이 허용되지 않는 foreign 키로 매핑할 경우, 당신은 <literal>&lt;key not-"
+"null=\"true\"&gt;</literal>를 사용하여 그 키 컬럼을 선언<emphasis>해야 한다</"
+"emphasis>."
 
-#: index.docbook:2345
+#. Tag: title
+#: basic_mapping.xml:2345
+#, no-c-format
 msgid "column and formula elements"
-msgstr "Hibernate 타입들"
+msgstr "column 요소와 formula 요소"
 
-#: index.docbook:2346
-msgid "Any mapping element which accepts a <literal>column</literal> attribute will alternatively accept a <literal>&lt;column&gt;</literal> subelement. Likewise, <literal>&lt;formula&gt;</literal> is an alternative to the <literal>formula</literal> attribute."
-msgstr "엔티티들과 값들"
+#. Tag: para
+#: basic_mapping.xml:2346
+#, no-c-format
+msgid ""
+"Any mapping element which accepts a <literal>column</literal> attribute will "
+"alternatively accept a <literal>&lt;column&gt;</literal> subelement. "
+"Likewise, <literal>&lt;formula&gt;</literal> is an alternative to the "
+"<literal>formula</literal> attribute."
+msgstr ""
+"column 속성을 허용하는 임의의 매핑 요소는 대안적으로 하나의 <literal>&lt;"
+"column&gt;</literal> 서브요소를 수용할 것이다. 비슷하게 <literal>&lt;"
+"formula&gt;</literal>는 <literal>formula</literal> 속성에 대한 대안이다."
 
-#: index.docbook:2352
+#. Tag: programlisting
+#: basic_mapping.xml:2352
+#, no-c-format
 msgid ""
-      "<![CDATA[<column\n"
-      "        name=\"column_name\"\n"
-      "        length=\"N\"\n"
-      "        precision=\"N\"\n"
-      "        scale=\"N\"\n"
-      "        not-null=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        unique-key=\"multicolumn_unique_key_name\"\n"
-      "        index=\"index_name\"\n"
-      "        sql-type=\"sql_type_name\"\n"
-      "        check=\"SQL expression\"\n"
-      "        default=\"SQL expression\"/>]]>"
-msgstr "영속 서비스에 관한 여러 Java 언어-레벨의 객체들을 이해하기 위해, 우리는 그것들을 다음 두 개의 그룹들로 분류할 필요가 있다:"
+"<![CDATA[<column\n"
+"        name=\"column_name\"\n"
+"        length=\"N\"\n"
+"        precision=\"N\"\n"
+"        scale=\"N\"\n"
+"        not-null=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+"        unique-key=\"multicolumn_unique_key_name\"\n"
+"        index=\"index_name\"\n"
+"        sql-type=\"sql_type_name\"\n"
+"        check=\"SQL expression\"\n"
+"        default=\"SQL expression\"/>]]>"
+msgstr ""
 
-#: index.docbook:2354
+#. Tag: programlisting
+#: basic_mapping.xml:2354
+#, no-c-format
 msgid "<![CDATA[<formula>SQL expression</formula>]]>"
-msgstr "<emphasis>entity</emphasis>는 엔티티에 대한 참조들을 보관하는 임의의 다른 객체들과는 독립적으로 존재한다. 참조되지 않은 객체가 쓰레기 수집되는 통상의 자바 모형과 이것은 대조적이다. (저장들과 삭제들이 부모 엔티티로부터 그것의 자식으로의 케스케이드 되는 경우를 제외하면) 엔티티들은 명시적으로 저장되고 삭제되어야 한다. 이것은 도달 가능성(reachablity)에 의한 객체 영속성의 ODMG 모형과는 다르다 - 그리고 어플리케이션 객체들이 대형 시스템들에서 대개 어떻게 사용되는가에 훨씬 더 가깝게 대응한다. 엔티티들은 순환 참조와 공유 참조들을 지원한다. 그것들 또한 버전화 될 수 있다."
+msgstr ""
 
-#: index.docbook:2356
-msgid "<literal>column</literal> and <literal>formula</literal> attributes may even be combined within the same property or association mapping to express, for example, exotic join conditions."
-msgstr "엔티티의 영속 상태는 다른 엔티티들에 대한 참조들과 <emphasis>value</emphasis> 타입들로 구성된다. 값들은 원시 타입들, 콜렉션들(하나의 콜렉션 내부에 있지 않는 것들), 컴포넌트들, 그리고 어떤 불변의 객체들이다. entities와는 달리, (특별한 콜렉션들과 컴포넌트들에서) 값들은 도달가능성(reachability)에 의해 영속화 <emphasis>되고</emphasis> 삭제 된다. value 객체들(과 원시 타입들)이 그것들의 포함하는 엔티티에 따라 영속화 되고 삭제 되므로, 그것들은 독립적으로 버전화 되지 않는다. 값들은 독립적인 엔티티를 갖지 않아서, 그것들은 두 개의 엔티티들이나 콜렉션들에 의해 공유될 수 없다."
+#. Tag: para
+#: basic_mapping.xml:2356
+#, no-c-format
+msgid ""
+"<literal>column</literal> and <literal>formula</literal> attributes may even "
+"be combined within the same property or association mapping to express, for "
+"example, exotic join conditions."
+msgstr ""
+"<literal>column</literal> 속성과 <literal>formula</literal> 속성은 예를 들어 "
+"신종 조인 조건들을 표현하기 위해 동일한 property 또는 연관관계 매핑 내에 결합"
+"될 수 있다."
 
-#: index.docbook:2362
+#. Tag: programlisting
+#: basic_mapping.xml:2362
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one name=\"homeAddress\" class=\"Address\"\n"
-      "        insert=\"false\" update=\"false\">\n"
-      "    <column name=\"person_id\" not-null=\"true\" length=\"10\"/>\n"
-      "    <formula>'MAILING'</formula>\n"
-      "</many-to-one>]]>"
-msgstr "지금까지 우리는 엔티티들을 참조하기 위해 \"영속 클래스\"를 사용해 왔다. 우리는 그것을 계속 사용할 것이다. 하지만 엄격히 말해, 영속 상태를 가진 모든 사용자 정의 클래스들은 엔티티들이 아니다. <emphasis>컴포넌트</emphasis>는 value 의미를 가진 사용자 정의 클래스이다. <literal>java.lang.String</literal> 타입의 자바 프로퍼티는 또한 value 의미를 갖는다. 이 정의가 주어지면, 우리는 JDK에 의해 제공된 모든 타입들(클래스들)이 자바에서 value 타입 의미를 ê°–ê³ , 반면에 사용자 정의 타입들은 엔티티 또는 type 의미로서 매핑된다고 말할 수 있다. 이 판단은 어플리케이션 개발자에게 달려 있다. 도메인 모형에서 엔티티 클래스에 대한 좋은 힌트는 ê·¸ 클래스의 하나의 인스턴스에 대한 공유된 참조들인 반면에, composition이나 aggregation은 대개 value í!
 ƒ€ìž…으로 변환된다."
+"<![CDATA[<many-to-one name=\"homeAddress\" class=\"Address\"\n"
+"        insert=\"false\" update=\"false\">\n"
+"    <column name=\"person_id\" not-null=\"true\" length=\"10\"/>\n"
+"    <formula>'MAILING'</formula>\n"
+"</many-to-one>]]>"
+msgstr ""
 
-#: index.docbook:2367
+#. Tag: title
+#: basic_mapping.xml:2367
+#, no-c-format
 msgid "import"
-msgstr "우리는 문서를 통해 두 개념들을 다시 고찰할 것이다."
+msgstr "import"
 
-#: index.docbook:2369
-msgid "Suppose your application has two persistent classes with the same name, and you don't want to specify the fully qualified (package) name in Hibernate queries. Classes may be \"imported\" explicitly, rather than relying upon <literal>auto-import=\"true\"</literal>. You may even import classes and interfaces that are not explicitly mapped."
-msgstr "도점점은 Java type 시스템(과 엔티티들 및 value 타입들에 대한 개발자의 정의)를 SQL/데이터베이스 type 타입으로 매핑하는 것이다. 두 시스템들 사이의 다리는 Hibernate에 의해 제공된다: 엔티티들의 경우 우리는 <literal>&lt;class&gt;</literal>, <literal>&lt;subclass&gt;</literal> 등을 사용한다.value 타입들의 경우 우리는 대개<literal>type</literal> 속성을 가진 <literal>&lt;property&gt;</literal>, <literal>&lt;component&gt;</literal> 등을 사용한다. 이 속성의 값은 Hibernate <emphasis>매핑 타입</emphasis>의 이름이다. Hibernate는 (표준 JDK value 타입들에 대해) 많은 매핑들을 제공한다. 나중에 보게 되듯이, 당신은 당신 자신의 매핑 타입들을 작성할 수 있고 마찬가지로 당신의 맞춤형 변환 방도들을 구현할 수 있다."
+#. Tag: para
+#: basic_mapping.xml:2369
+#, no-c-format
+msgid ""
+"Suppose your application has two persistent classes with the same name, and "
+"you don't want to specify the fully qualified (package) name in Hibernate "
+"queries. Classes may be \"imported\" explicitly, rather than relying upon "
+"<literal>auto-import=\"true\"</literal>. You may even import classes and "
+"interfaces that are not explicitly mapped."
+msgstr ""
+"당신의 어플리케이션이 동일한 이름을 가진 두 개의 영속 클래스들을 갖고, 당신"
+"이 Hibernate 질의들 내에서 전체 수식어가 붙은 (패키지)이름을 지정하는 것을 원"
+"하지 않는다고 가정하자. 클래스들은 <literal>auto-import=\"true\"</literal>에 "
+"의존하기 보다 명시적으로 \"임포트 될 \" 것이다. 당신은 심지어 명시적으로 매핑"
+"되지 않는 클래스들과 인터페이스들을 임포트 시킬 수(가져오기 할 수) 있다."
 
-#: index.docbook:2376
+#. Tag: programlisting
+#: basic_mapping.xml:2376
+#, no-c-format
 msgid "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
-msgstr "콜렉션들을 제외한 모든 미리 빌드된 Hibernate 타입들은 null 의미를 지원한다."
+msgstr ""
 
-#: index.docbook:2383
+#. Tag: programlisting
+#: basic_mapping.xml:2383
+#, no-c-format
 msgid ""
-      "<![CDATA[<import\n"
-      "        class=\"ClassName\"\n"
-      "        rename=\"ShortName\"\n"
-      "/>]]>"
-msgstr "기본 value 타입들"
+"<![CDATA[<import\n"
+"        class=\"ClassName\"\n"
+"        rename=\"ShortName\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:2386
-msgid "<literal>class</literal>: The fully qualified class name of of any Java class."
-msgstr "미리-만들어진 <emphasis>기본 매핑 타입들</emphasis>은 대략 다음과 같이 카테고리로 분류된다"
+#. Tag: para
+#: basic_mapping.xml:2386
+#, no-c-format
+msgid ""
+"<literal>class</literal>: The fully qualified class name of of any Java "
+"class."
+msgstr ""
+"<literal>class</literal>: 임의의 Java 클래스의 전체 수식어가 붙은 클래스 이"
+"름."
 
-#: index.docbook:2391
-msgid "<literal>rename</literal> (optional - defaults to the unqualified class name): A name that may be used in the query language."
-msgstr "integer, long, short, float, double, character, byte, boolean, yes_no, true_false"
+#. Tag: para
+#: basic_mapping.xml:2391
+#, no-c-format
+msgid ""
+"<literal>rename</literal> (optional - defaults to the unqualified class "
+"name): A name that may be used in the query language."
+msgstr ""
+"<literal>rename</literal> (옵션 - 디폴트는 수식어가 붙지 않은 클래스 이름): "
+"질의 언어 내에서 사용될 이름."
 
-#: index.docbook:2402
+#. Tag: title
+#: basic_mapping.xml:2402
+#, no-c-format
 msgid "<title>any</title>"
-msgstr "자바 원시타입들이나 wrapper 클래스들로부터 적절한(벤더-지정적인) SQL 컬럼 타입들로의 타입 매핑. <literal>boolean, yes_no</literal>와 <literal>true_false</literal>는 Java <literal>boolean</literal>이나 <literal>java.lang.Boolean</literal>에 대한 모든 대체적인 인코딩들이다."
+msgstr ""
 
-#: index.docbook:2404
-msgid "There is one further type of property mapping. The <literal>&lt;any&gt;</literal> mapping element defines a polymorphic association to classes from multiple tables. This type of mapping always requires more than one column. The first column holds the type of the associated entity. The remaining columns hold the identifier. It is impossible to specify a foreign key constraint for this kind of association, so this is most certainly not meant as the usual way of mapping (polymorphic) associations. You should use this only in very special cases (eg. audit logs, user session data, etc)."
-msgstr "string"
+#. Tag: para
+#: basic_mapping.xml:2404
+#, no-c-format
+msgid ""
+"There is one further type of property mapping. The <literal>&lt;any&gt;</"
+"literal> mapping element defines a polymorphic association to classes from "
+"multiple tables. This type of mapping always requires more than one column. "
+"The first column holds the type of the associated entity. The remaining "
+"columns hold the identifier. It is impossible to specify a foreign key "
+"constraint for this kind of association, so this is most certainly not meant "
+"as the usual way of mapping (polymorphic) associations. You should use this "
+"only in very special cases (eg. audit logs, user session data, etc)."
+msgstr ""
+"하나 이상의 프로퍼티 매핑 타입이 존재한다. <literal>&lt;any&gt;</literal> 매"
+"핑 요소는 여러 테이블들로부터 클래스들에 대한 하나의 다형성 연관관계를 정의한"
+"다. 이 매핑 타입은 언제나 하나 이상의 컬럼을 필요로 한다. 첫 번째 컬럼은 연관"
+"된 엔티티의 타입을 보관한다. 나머지 컬럼들은 식별자를 보관한다. 이런 종류의 "
+"연관관계들에 대해 foreign key 컨스트레인트를 지정하는 것이 불가능해서, 이것"
+"은 (다형성) 연관관계들을 매핑하는 통상적인 방법으로서 가장 확실한 수단이 아니"
+"다. 당신은 매우 특별한 경우들 (예를 들어 감사 로그들, 사용자 세션 데이터 등)"
+"에서만 이것을 사용해야 한다."
 
-#: index.docbook:2414
-msgid "The <literal>meta-type</literal> attribute lets the application specify a custom type that maps database column values to persistent classes which have identifier properties of the type specified by <literal>id-type</literal>. You must specify the mapping from values of the meta-type to class names."
-msgstr "<literal>java.lang.String</literal>으로부터 <literal>VARCHAR</literal> (또는 Oracle <literal>VARCHAR2</literal>)로의 타입 매핑."
+#. Tag: para
+#: basic_mapping.xml:2414
+#, no-c-format
+msgid ""
+"The <literal>meta-type</literal> attribute lets the application specify a "
+"custom type that maps database column values to persistent classes which "
+"have identifier properties of the type specified by <literal>id-type</"
+"literal>. You must specify the mapping from values of the meta-type to class "
+"names."
+msgstr ""
+"<literal>meta-type</literal> 속성은 어플리케이션으로 하여금 데이터베이스 컬"
+"럼 값들을 <literal>id-type</literal>에 의해 지정된 타입의 식별자 프로퍼티들"
+"을 가진 영속 클래스들로 매핑시키는 맞춤형 타입을 지정하도록 한다. 당신은 "
+"meta-type의 값들로부터 클래스 이름들로의 매핑을 지정해야 한다."
 
-#: index.docbook:2421
+#. Tag: programlisting
+#: basic_mapping.xml:2421
+#, no-c-format
 msgid ""
-      "<![CDATA[<any name=\"being\" id-type=\"long\" meta-type=\"string\">\n"
-      "    <meta-value value=\"TBL_ANIMAL\" class=\"Animal\"/>\n"
-      "    <meta-value value=\"TBL_HUMAN\" class=\"Human\"/>\n"
-      "    <meta-value value=\"TBL_ALIEN\" class=\"Alien\"/>\n"
-      "    <column name=\"table_name\"/>\n"
-      "    <column name=\"id\"/>\n"
-      "</any>]]>"
-msgstr "date, time, timestamp"
+"<![CDATA[<any name=\"being\" id-type=\"long\" meta-type=\"string\">\n"
+"    <meta-value value=\"TBL_ANIMAL\" class=\"Animal\"/>\n"
+"    <meta-value value=\"TBL_HUMAN\" class=\"Human\"/>\n"
+"    <meta-value value=\"TBL_ALIEN\" class=\"Alien\"/>\n"
+"    <column name=\"table_name\"/>\n"
+"    <column name=\"id\"/>\n"
+"</any>]]>"
+msgstr ""
 
-#: index.docbook:2432
+#. Tag: programlisting
+#: basic_mapping.xml:2432
+#, no-c-format
 msgid ""
-      "<![CDATA[<any\n"
-      "        name=\"propertyName\"\n"
-      "        id-type=\"idtypename\"\n"
-      "        meta-type=\"metatypename\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      ">\n"
-      "        <meta-value ... />\n"
-      "        <meta-value ... />\n"
-      "        .....\n"
-      "        <column .... />\n"
-      "        <column .... />\n"
-      "        .....\n"
-      "</any>]]>"
-msgstr "<literal>java.util.Date</literal>와 그것의 서브클래스로부터 SQL 타입들인 <literal>DATE</literal>, <literal>TIME</literal>, <literal>TIMESTAMP</literal> (또는 등가물)로의 타입 매핑들."
+"<![CDATA[<any\n"
+"        name=\"propertyName\"\n"
+"        id-type=\"idtypename\"\n"
+"        meta-type=\"metatypename\"\n"
+"        cascade=\"cascade_style\"\n"
+"        access=\"field|property|ClassName\"\n"
+"        optimistic-lock=\"true|false\"\n"
+">\n"
+"        <meta-value ... />\n"
+"        <meta-value ... />\n"
+"        .....\n"
+"        <column .... />\n"
+"        <column .... />\n"
+"        .....\n"
+"</any>]]>"
+msgstr ""
 
-#: index.docbook:2435
+#. Tag: para
+#: basic_mapping.xml:2435
+#, no-c-format
 msgid "<literal>name</literal>: the property name."
-msgstr "calendar, calendar_date"
+msgstr "<literal>name</literal>: 프로퍼티 이름."
 
-#: index.docbook:2440
+#. Tag: para
+#: basic_mapping.xml:2440
+#, no-c-format
 msgid "<literal>id-type</literal>: the identifier type."
-msgstr "<literal>java.util.Calendar</literal>로부터 SQL 타입들인 <literal>TIMESTAMP</literal>, <literal>DATE</literal> (또는 등가물)로의 타입 매핑들."
+msgstr "<literal>id-type</literal>: 식별자 타입."
 
-#: index.docbook:2445
-msgid "<literal>meta-type</literal> (optional - defaults to <literal>string</literal>): Any type that is allowed for a discriminator mapping."
-msgstr "big_decimal, big_integer"
+#. Tag: para
+#: basic_mapping.xml:2445
+#, no-c-format
+msgid ""
+"<literal>meta-type</literal> (optional - defaults to <literal>string</"
+"literal>): Any type that is allowed for a discriminator mapping."
+msgstr ""
+"<literal>meta-type</literal> (옵션 - 디폴트는 <literal>string</literal>): "
+"discriminator 매핑에 허용되는 임의의 타입."
 
-#: index.docbook:2451
-msgid "<literal>cascade</literal> (optional- defaults to <literal>none</literal>): the cascade style."
-msgstr "<literal>java.math.BigDecimal</literal>과 <literal>java.math.BigInteger</literal>로부터 <literal>NUMERIC</literal> (또는 Oracle <literal>NUMBER</literal>)로의 타입 매핑들."
+#. Tag: para
+#: basic_mapping.xml:2451
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional- defaults to <literal>none</literal>): "
+"the cascade style."
+msgstr ""
+"<literal>cascade</literal> (optional- defaults to <literal>none</literal>): "
+"cascade 스타일."
 
-#: index.docbook:2463
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to this property do or do not require acquisition of the optimistic lock. In other words, define if a version increment should occur if this property is dirty."
-msgstr "<literal>java.util.Locale</literal>, <literal>java.util.TimeZone</literal>, 그리고 <literal>java.util.Currency</literal>로부터 <literal>VARCHAR</literal>(또는 Oracle <literal>VARCHAR2</literal>)로의 타입 매핑. <literal>Locale</literal>과 <literal>Currency</literal>의 인스턴스들은 그것들의 ISO 코드들로 매핑된다. <literal>TimeZone</literal>의 인스턴스들은 그것들의 <literal>ID</literal>로 매핑된다."
+#. Tag: para
+#: basic_mapping.xml:2463
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, define if a version "
+"increment should occur if this property is dirty."
+msgstr ""
+"<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</"
+"literal>): 이 프로퍼티에 대한 업데이트들이 optimistic 잠금 획득을 필요로 하는"
+"지 여부를 지정한다. 달리 말해, 이 프로퍼티가 dirty일 경우에 버전증가가 발생"
+"할 것인지 여부를 정의한다."
 
-#: index.docbook:2478
+#. Tag: title
+#: basic_mapping.xml:2478
+#, no-c-format
 msgid "Hibernate Types"
-msgstr "<literal>class</literal>"
+msgstr "Hibernate 타입들"
 
-#: index.docbook:2481
+#. Tag: title
+#: basic_mapping.xml:2481
+#, no-c-format
 msgid "Entities and values"
-msgstr "<literal>java.lang.Class</literal>로부터 <literal>VARCHAR</literal> (또는 Oracle <literal>VARCHAR2</literal>)로의 타입 매핑. <literal>Class</literal>는 그것의 전체 수식어가 붙은 이름으로 매핑된다."
+msgstr "엔티티들과 값들"
 
-#: index.docbook:2483
-msgid "To understand the behaviour of various Java language-level objects with respect to the persistence service, we need to classify them into two groups:"
-msgstr "binary"
+#. Tag: para
+#: basic_mapping.xml:2483
+#, no-c-format
+msgid ""
+"To understand the behaviour of various Java language-level objects with "
+"respect to the persistence service, we need to classify them into two groups:"
+msgstr ""
+"영속 서비스에 관한 여러 Java 언어-레벨의 객체들을 이해하기 위해, 우리는 그것"
+"들을 다음 두 개의 그룹들로 분류할 필요가 있다:"
 
-#: index.docbook:2488
-msgid "An <emphasis>entity</emphasis> exists independently of any other objects holding references to the entity. Contrast this with the usual Java model where an unreferenced object is garbage collected. Entities must be explicitly saved and deleted (except that saves and deletions may be <emphasis>cascaded</emphasis> from a parent entity to its children). This is different from the ODMG model of object persistence by reachablity - and corresponds more closely to how application objects are usually used in large systems. Entities support circular and shared references. They may also be versioned."
-msgstr "byte 배열들을 적절한 SQL binary 타입으로 매핑시킨다."
+#. Tag: para
+#: basic_mapping.xml:2488
+#, no-c-format
+msgid ""
+"An <emphasis>entity</emphasis> exists independently of any other objects "
+"holding references to the entity. Contrast this with the usual Java model "
+"where an unreferenced object is garbage collected. Entities must be "
+"explicitly saved and deleted (except that saves and deletions may be "
+"<emphasis>cascaded</emphasis> from a parent entity to its children). This is "
+"different from the ODMG model of object persistence by reachablity - and "
+"corresponds more closely to how application objects are usually used in "
+"large systems. Entities support circular and shared references. They may "
+"also be versioned."
+msgstr ""
+"<emphasis>entity</emphasis>는 엔티티에 대한 참조들을 보관하는 임의의 다른 객"
+"체들과는 독립적으로 존재한다. 참조되지 않은 객체가 쓰레기 수집되는 통상의 자"
+"바 모형과 이것은 대조적이다. (저장들과 삭제들이 부모 엔티티로부터 그것의 자식"
+"으로의 케스케이드 되는 경우를 제외하면) 엔티티들은 명시적으로 저장되고 삭제되"
+"어야 한다. 이것은 도달 가능성(reachablity)에 의한 객체 영속성의 ODMG 모형과"
+"는 다르다 - 그리고 어플리케이션 객체들이 대형 시스템들에서 대개 어떻게 사용되"
+"는가에 훨씬 더 가깝게 대응한다. 엔티티들은 순환 참조와 공유 참조들을 지원한"
+"다. 그것들 또한 버전화 될 수 있다."
 
-#: index.docbook:2499
-msgid "An entity's persistent state consists of references to other entities and instances of <emphasis>value</emphasis> types. Values are primitives, collections (not what's inside a collection), components and certain immutable objects. Unlike entities, values (in particular collections and components) <emphasis>are</emphasis> persisted and deleted by reachability. Since value objects (and primitives) are persisted and deleted along with their containing entity they may not be independently versioned. Values have no independent identity, so they cannot be shared by two entities or collections."
-msgstr "text"
+#. Tag: para
+#: basic_mapping.xml:2499
+#, no-c-format
+msgid ""
+"An entity's persistent state consists of references to other entities and "
+"instances of <emphasis>value</emphasis> types. Values are primitives, "
+"collections (not what's inside a collection), components and certain "
+"immutable objects. Unlike entities, values (in particular collections and "
+"components) <emphasis>are</emphasis> persisted and deleted by reachability. "
+"Since value objects (and primitives) are persisted and deleted along with "
+"their containing entity they may not be independently versioned. Values have "
+"no independent identity, so they cannot be shared by two entities or "
+"collections."
+msgstr ""
+"엔티티의 영속 상태는 다른 엔티티들에 대한 참조들과 <emphasis>value</"
+"emphasis> 타입들로 구성된다. 값들은 원시 타입들, 콜렉션들(하나의 콜렉션 내부"
+"에 있지 않는 것들), 컴포넌트들, 그리고 어떤 불변의 객체들이다. entities와는 "
+"달리, (특별한 콜렉션들과 컴포넌트들에서) 값들은 도달가능성(reachability)에 의"
+"해 영속화 <emphasis>되고</emphasis> 삭제 된다. value 객체들(과 원시 타입들)"
+"이 그것들의 포함하는 엔티티에 따라 영속화 되고 삭제 되므로, 그것들은 독립적으"
+"로 버전화 되지 않는다. 값들은 독립적인 엔티티를 갖지 않아서, 그것들은 두 개"
+"의 엔티티들이나 콜렉션들에 의해 공유될 수 없다."
 
-#: index.docbook:2510
-msgid "Up until now, we've been using the term \"persistent class\" to refer to entities. We will continue to do that. Strictly speaking, however, not all user-defined classes with persistent state are entities. A <emphasis>component</emphasis> is a user defined class with value semantics. A Java property of type <literal>java.lang.String</literal> also has value semantics. Given this definition, we can say that all types (classes) provided by the JDK have value type semantics in Java, while user-defined types may be mapped with entity or value type semantics. This decision is up to the application developer. A good hint for an entity class in a domain model are shared references to a single instance of that class, while composition or aggregation usually translates to a value type."
-msgstr "long Java 문자열을 SQL <literal>CLOB</literal> 또는 <literal>TEXT</literal> 타입으로 매핑시킨다"
+#. Tag: para
+#: basic_mapping.xml:2510
+#, no-c-format
+msgid ""
+"Up until now, we've been using the term \"persistent class\" to refer to "
+"entities. We will continue to do that. Strictly speaking, however, not all "
+"user-defined classes with persistent state are entities. A "
+"<emphasis>component</emphasis> is a user defined class with value semantics. "
+"A Java property of type <literal>java.lang.String</literal> also has value "
+"semantics. Given this definition, we can say that all types (classes) "
+"provided by the JDK have value type semantics in Java, while user-defined "
+"types may be mapped with entity or value type semantics. This decision is up "
+"to the application developer. A good hint for an entity class in a domain "
+"model are shared references to a single instance of that class, while "
+"composition or aggregation usually translates to a value type."
+msgstr ""
+"지금까지 우리는 엔티티들을 참조하기 위해 \"영속 클래스\"를 사용해 왔다. 우리"
+"는 그것을 계속 사용할 것이다. 하지만 엄격히 말해, 영속 상태를 가진 모든 사용"
+"자 정의 클래스들은 엔티티들이 아니다. <emphasis>컴포넌트</emphasis>는 value "
+"의미를 가진 사용자 정의 클래스이다. <literal>java.lang.String</literal> 타입"
+"의 자바 프로퍼티는 또한 value 의미를 갖는다. 이 정의가 주어지면, 우리는 JDK"
+"에 의해 제공된 모든 타입들(클래스들)이 자바에서 value 타입 의미를 갖고, 반면"
+"에 사용자 정의 타입들은 엔티티 또는 type 의미로서 매핑된다고 말할 수 있다. "
+"이 판단은 어플리케이션 개발자에게 달려 있다. 도메인 모형에서 엔티티 클래스에 "
+"대한 좋은 힌트는 그 클래스의 하나의 인스턴스에 대한 공유된 참조들인 반면에, "
+"composition이나 aggregation은 대개 value 타입으로 변환된다."
 
-#: index.docbook:2524
+#. Tag: para
+#: basic_mapping.xml:2524
+#, no-c-format
 msgid "We'll revisit both concepts throughout the documentation."
-msgstr "serializable"
+msgstr "우리는 문서를 통해 두 개념들을 다시 고찰할 것이다."
 
-#: index.docbook:2528
-msgid "The challenge is to map the Java type system (and the developers' definition of entities and value types) to the SQL/database type system. The bridge between both systems is provided by Hibernate: for entities we use <literal>&lt;class&gt;</literal>, <literal>&lt;subclass&gt;</literal> and so on. For value types we use <literal>&lt;property&gt;</literal>, <literal>&lt;component&gt;</literal>, etc, usually with a <literal>type</literal> attribute. The value of this attribute is the name of a Hibernate <emphasis>mapping type</emphasis>. Hibernate provides many mappings (for standard JDK value types) out of the box. You can write your own mapping types and implement your custom conversion strategies as well, as you'll see later."
-msgstr "serializable Java 타입들을 적절한 SQL binary 타입으로 매핑시킨다. 당신은 또한 디폴트로 기본 타입이 아닌 serializable 자바 클래스 또는 인터페이스의 이름을 가진 Hibernate 타입 <literal>serializable</literal>을 나타낼 수도 있다."
+#. Tag: para
+#: basic_mapping.xml:2528
+#, no-c-format
+msgid ""
+"The challenge is to map the Java type system (and the developers' definition "
+"of entities and value types) to the SQL/database type system. The bridge "
+"between both systems is provided by Hibernate: for entities we use "
+"<literal>&lt;class&gt;</literal>, <literal>&lt;subclass&gt;</literal> and so "
+"on. For value types we use <literal>&lt;property&gt;</literal>, <literal>&lt;"
+"component&gt;</literal>, etc, usually with a <literal>type</literal> "
+"attribute. The value of this attribute is the name of a Hibernate "
+"<emphasis>mapping type</emphasis>. Hibernate provides many mappings (for "
+"standard JDK value types) out of the box. You can write your own mapping "
+"types and implement your custom conversion strategies as well, as you'll see "
+"later."
+msgstr ""
+"도점점은 Java type 시스템(과 엔티티들 및 value 타입들에 대한 개발자의 정의)"
+"를 SQL/데이터베이스 type 타입으로 매핑하는 것이다. 두 시스템들 사이의 다리는 "
+"Hibernate에 의해 제공된다: 엔티티들의 경우 우리는 <literal>&lt;class&gt;</"
+"literal>, <literal>&lt;subclass&gt;</literal> 등을 사용한다.value 타입들의 경"
+"우 우리는 대개<literal>type</literal> 속성을 가진 <literal>&lt;property&gt;</"
+"literal>, <literal>&lt;component&gt;</literal> 등을 사용한다. 이 속성의 값은 "
+"Hibernate <emphasis>매핑 타입</emphasis>의 이름이다. Hibernate는 (표준 JDK "
+"value 타입들에 대해) 많은 매핑들을 제공한다. 나중에 보게 되듯이, 당신은 당신 "
+"자신의 매핑 타입들을 작성할 수 있고 마찬가지로 당신의 맞춤형 변환 방도들을 구"
+"현할 수 있다."
 
-#: index.docbook:2541
+#. Tag: para
+#: basic_mapping.xml:2541
+#, no-c-format
 msgid "All built-in Hibernate types except collections support null semantics."
-msgstr "clob, blob"
+msgstr ""
+"콜렉션들을 제외한 모든 미리 빌드된 Hibernate 타입들은 null 의미를 지원한다."
 
-#: index.docbook:2548
+#. Tag: title
+#: basic_mapping.xml:2548
+#, no-c-format
 msgid "Basic value types"
-msgstr "<literal>java.sql.Clob</literal>와 <literal>java.sql.Blob</literal> JDBC 클래스들에 대한 타입 매핑들. 이들 타입들은 몇몇 어플리케이션들에서는 불편하다. 왜냐하면 blob 또는 clob 객체는 트랜잭션 외부에서 재사용될 수 없기 때문이다.(게다가 드라이버 지원이 비일관적이고 페치되어야 한다)"
+msgstr "기본 value 타입들"
 
-#: index.docbook:2550
-msgid "The built-in <emphasis>basic mapping types</emphasis> may be roughly categorized into"
-msgstr "imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, imm_serializable, imm_binary"
+#. Tag: para
+#: basic_mapping.xml:2550
+#, fuzzy, no-c-format
+msgid ""
+"The built-in <emphasis>basic mapping types</emphasis> may be roughly "
+"categorized into"
+msgstr ""
+"미리-만들어진 <emphasis>기본 매핑 타입들</emphasis>은 대략 다음과 같이 카테고"
+"리로 분류된다 <placeholder-1/>"
 
-#: index.docbook:2555
-msgid "integer, long, short, float, double, character, byte, boolean, yes_no, true_false"
-msgstr "대개 가변적인 Java 타입들로 간주되는 것에 대한 타입 매핑들. 여기서 Hibernate는 불변적인 Java 타입들에 대해서만 적절한 어떤 최적화를 행하고, 어플리케이션 그 객체를 변할 수 없는 것으로 취급한다. 예를 들어, 당신은 <literal>imm_timestamp</literal>로서 매핑된 인스턴스에 대해 <literal>Date.setTime()</literal>을 호출하지 않을 것이다. 프로퍼티의 값을 변경시키고, 그 변경을 영속화 시키기 위해서, 어플리케이션은 하나의 새로운 (동일하지 않은) 객체를 그 프로퍼티에 할당해야 한다."
+#. Tag: literal
+#: basic_mapping.xml:2555
+#, no-c-format
+msgid ""
+"integer, long, short, float, double, character, byte, boolean, yes_no, "
+"true_false"
+msgstr ""
+"integer, long, short, float, double, character, byte, boolean, yes_no, "
+"true_false"
 
-#: index.docbook:2558
-msgid "Type mappings from Java primitives or wrapper classes to appropriate (vendor-specific) SQL column types. <literal>boolean, yes_no</literal> and <literal>true_false</literal> are all alternative encodings for a Java <literal>boolean</literal> or <literal>java.lang.Boolean</literal>."
-msgstr "엔트리들과 콜렉션들의 유일 식별자들은 <literal>binary</literal>, <literal>blob</literal> 그리고 <literal>clob</literal>를 제외한 기본 타입 중 어느 것일 수 있다. (Composite 식별자들이 또한 허용된다. 아래를 보라.)"
+#. Tag: para
+#: basic_mapping.xml:2558
+#, no-c-format
+msgid ""
+"Type mappings from Java primitives or wrapper classes to appropriate (vendor-"
+"specific) SQL column types. <literal>boolean, yes_no</literal> and "
+"<literal>true_false</literal> are all alternative encodings for a Java "
+"<literal>boolean</literal> or <literal>java.lang.Boolean</literal>."
+msgstr ""
+"자바 원시타입들이나 wrapper 클래스들로부터 적절한(벤더-지정적인) SQL 컬럼 타"
+"입들로의 타입 매핑. <literal>boolean, yes_no</literal>와 "
+"<literal>true_false</literal>는 Java <literal>boolean</literal>이나 "
+"<literal>java.lang.Boolean</literal>에 대한 모든 대체적인 인코딩들이다."
 
-#: index.docbook:2567
+#. Tag: literal
+#: basic_mapping.xml:2567
+#, no-c-format
 msgid "string"
-msgstr "기본 value 타입들은 <literal>org.hibernate.Hibernate</literal>에 정의되어 있는 대응하는 <literal>Type</literal> 상수들을 갖는다. 예를 들어, <literal>Hibernate.STRING</literal>은 <literal>string</literal> 타입을 표현한다."
+msgstr "string"
 
-#: index.docbook:2569
-msgid "A type mapping from <literal>java.lang.String</literal> to <literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>)."
-msgstr "맞춤형 value 타입들"
+#. Tag: para
+#: basic_mapping.xml:2569
+#, no-c-format
+msgid ""
+"A type mapping from <literal>java.lang.String</literal> to <literal>VARCHAR</"
+"literal> (or Oracle <literal>VARCHAR2</literal>)."
+msgstr ""
+"<literal>java.lang.String</literal>으로부터 <literal>VARCHAR</literal> (또는 "
+"Oracle <literal>VARCHAR2</literal>)로의 타입 매핑."
 
-#: index.docbook:2576
+#. Tag: literal
+#: basic_mapping.xml:2576
+#, no-c-format
 msgid "date, time, timestamp"
-msgstr "개발자들이 그들 자신들의 value 타입들을 생성시키는 것이 상대적으로 쉽다. 예를 들어, 당신은 <literal>java.lang.BigInteger</literal> 타입의 프로퍼티들을 <literal>VARCHAR</literal> 컬럼들로 영속화 시키고자 원할 수 있다. Hibernate는 이것을 위한 미리 만들어진 타입을 제공하지 않는다. 그러나 맞춤형 타입들은 프로퍼티(또는 콜렉션 요소)를 하나의 테이블 컬럼으로의 매핑하는 것에 제약되지 않는다. 따라서 예를 들어, 당신은 <literal>FIRST_NAME</literal>, <literal>INITIAL</literal>, <literal>SURNAME</literal> 컬럼들로 영속화 되는 <literal>java.lang.String</literal> 타입의 자바 프로퍼티<literal>getName()</literal>/ <literal>setName()</literal>를 가질 수 있다."
+msgstr "date, time, timestamp"
 
-#: index.docbook:2578
-msgid "Type mappings from <literal>java.util.Date</literal> and its subclasses to SQL types <literal>DATE</literal>, <literal>TIME</literal> and <literal>TIMESTAMP</literal> (or equivalent)."
-msgstr "맞춤형 타입을 구현하려면, <literal>org.hibernate.UserType</literal> 또는 <literal>org.hibernate.CompositeUserType</literal>을 구현하고 그 타입의 전체 수식어가 붙은 클래스명을 사용하여 프로퍼티들을 선언하라. 가능한 종류의 것들을 보려면 <literal>org.hibernate.test.DoubleStringType</literal>을 체크하라."
+#. Tag: para
+#: basic_mapping.xml:2578
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Date</literal> and its subclasses to "
+"SQL types <literal>DATE</literal>, <literal>TIME</literal> and "
+"<literal>TIMESTAMP</literal> (or equivalent)."
+msgstr ""
+"<literal>java.util.Date</literal>와 그것의 서브클래스로부터 SQL 타입들인 "
+"<literal>DATE</literal>, <literal>TIME</literal>, <literal>TIMESTAMP</"
+"literal> (또는 등가물)로의 타입 매핑들."
 
-#: index.docbook:2586
+#. Tag: literal
+#: basic_mapping.xml:2586
+#, no-c-format
 msgid "calendar, calendar_date"
+msgstr "calendar, calendar_date"
+
+#. Tag: para
+#: basic_mapping.xml:2588
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Calendar</literal> to SQL types "
+"<literal>TIMESTAMP</literal> and <literal>DATE</literal> (or equivalent)."
 msgstr ""
-      "<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test.DoubleStringType\">\n"
-      "    <column name=\"first_string\"/>\n"
-      "    <column name=\"second_string\"/>\n"
-      "</property>]]>"
+"<literal>java.util.Calendar</literal>로부터 SQL 타입들인 <literal>TIMESTAMP</"
+"literal>, <literal>DATE</literal> (또는 등가물)로의 타입 매핑들."
 
-#: index.docbook:2588
-msgid "Type mappings from <literal>java.util.Calendar</literal> to SQL types <literal>TIMESTAMP</literal> and <literal>DATE</literal> (or equivalent)."
-msgstr "하나의 프로퍼티를 여러 개의 컬럼들로 매핑시키는 <literal>&lt;column&gt;</literal> 태그의 사용을 주목하라."
-
-#: index.docbook:2596
+#. Tag: literal
+#: basic_mapping.xml:2596
+#, no-c-format
 msgid "big_decimal, big_integer"
-msgstr "<literal>CompositeUserType</literal>, <literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, 그리고 <literal>UserVersionType</literal> 인터페이스들은 더 많은 특화된 사용들을 위한 지원을 제공한다."
+msgstr "big_decimal, big_integer"
 
-#: index.docbook:2598
-msgid "Type mappings from <literal>java.math.BigDecimal</literal> and <literal>java.math.BigInteger</literal> to <literal>NUMERIC</literal> (or Oracle <literal>NUMBER</literal>)."
-msgstr "당신은 매핑 파일 속에 <literal>UserType</literal>에 대한 파라미터들을 제공할 수도 있다. 이것을 행하기 위해, 당신의 <literal>UserType</literal>은 <literal>org.hibernate.usertype.ParameterizedType</literal> 인터페이스를 구현해야 한다. 당신의 맞춤형 타입에 파라미터들을 제공하기 위해, 당신은 당신의 매핑 파일들 속에 <literal>&lt;type&gt;</literal> 요소를 사용할 수 있다."
+#. Tag: para
+#: basic_mapping.xml:2598
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.math.BigDecimal</literal> and <literal>java."
+"math.BigInteger</literal> to <literal>NUMERIC</literal> (or Oracle "
+"<literal>NUMBER</literal>)."
+msgstr ""
+"<literal>java.math.BigDecimal</literal>ê³¼ <literal>java.math.BigInteger</"
+"literal>로부터 <literal>NUMERIC</literal> (또는 Oracle <literal>NUMBER</"
+"literal>)로의 타입 매핑들."
 
-#: index.docbook:2606
+#. Tag: literal
+#: basic_mapping.xml:2606
+#, no-c-format
 msgid "locale, timezone, currency"
+msgstr "locale, timezone, currency"
+
+#. Tag: para
+#: basic_mapping.xml:2608
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Locale</literal>, <literal>java.util."
+"TimeZone</literal> and <literal>java.util.Currency</literal> to "
+"<literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>). "
+"Instances of <literal>Locale</literal> and <literal>Currency</literal> are "
+"mapped to their ISO codes. Instances of <literal>TimeZone</literal> are "
+"mapped to their <literal>ID</literal>."
 msgstr ""
-      "<![CDATA[<property name=\"priority\">\n"
-      "    <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
-      "        <param name=\"default\">0</param>\n"
-      "    </type>\n"
-      "</property>]]>"
+"<literal>java.util.Locale</literal>, <literal>java.util.TimeZone</literal>, "
+"그리고 <literal>java.util.Currency</literal>로부터 <literal>VARCHAR</literal>"
+"(또는 Oracle <literal>VARCHAR2</literal>)로의 타입 매핑. <literal>Locale</"
+"literal>과 <literal>Currency</literal>의 인스턴스들은 그것들의 ISO 코드들로 "
+"매핑된다. <literal>TimeZone</literal>의 인스턴스들은 그것들의 <literal>ID</"
+"literal>로 매핑된다."
 
-#: index.docbook:2608
-msgid "Type mappings from <literal>java.util.Locale</literal>, <literal>java.util.TimeZone</literal> and <literal>java.util.Currency</literal> to <literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>). Instances of <literal>Locale</literal> and <literal>Currency</literal> are mapped to their ISO codes. Instances of <literal>TimeZone</literal> are mapped to their <literal>ID</literal>."
-msgstr "<literal>UserType</literal>은 이제 그것에 전달된 <literal>Properties</literal> 객체로부터 <literal>default</literal>로 명명된 파라미터에 대한 값을 검색할 수 있다."
-
-#: index.docbook:2620
+#. Tag: literal
+#: basic_mapping.xml:2620
+#, fuzzy, no-c-format
 msgid "<literal>class</literal>"
-msgstr "만일 당신이 매우 자주 어떤 UserType을 사용할 경우, 그것은 그것에 대한 더 짧은 이름을 정의하는 것이 유용할 수 있다. <literal>&lt;typedef&gt;</literal> 요소를 사용하여 이것을 행할 수 있다. Typedef들은 이름을 맞춤형 타입에 할당하고, 또한 만일 그 타입이 파라미터화 된 경우에 디폴트 파라미터 값들의 리스트를 포함할 수도 있다."
+msgstr "<literal>all</literal>은 모든 컬럼들을 체크한다"
 
-#: index.docbook:2622
-msgid "A type mapping from <literal>java.lang.Class</literal> to <literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>). A <literal>Class</literal> is mapped to its fully qualified name."
+#. Tag: para
+#: basic_mapping.xml:2622
+#, no-c-format
+msgid ""
+"A type mapping from <literal>java.lang.Class</literal> to <literal>VARCHAR</"
+"literal> (or Oracle <literal>VARCHAR2</literal>). A <literal>Class</literal> "
+"is mapped to its fully qualified name."
 msgstr ""
-      "<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" name=\"default_zero\">\n"
-      "    <param name=\"default\">0</param>\n"
-      "</typedef>]]>"
+"<literal>java.lang.Class</literal>로부터 <literal>VARCHAR</literal> (또는 "
+"Oracle <literal>VARCHAR2</literal>)로의 타입 매핑. <literal>Class</literal>"
+"는 그것의 전체 수식어가 붙은 이름으로 매핑된다."
 
-#: index.docbook:2630
+#. Tag: literal
+#: basic_mapping.xml:2630
+#, no-c-format
 msgid "binary"
-msgstr "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
+msgstr "binary"
 
-#: index.docbook:2632
+#. Tag: para
+#: basic_mapping.xml:2632
+#, no-c-format
 msgid "Maps byte arrays to an appropriate SQL binary type."
-msgstr "property 매핑 상에 type 파라미터들을 사용함으로써 경우에 맞게 typedef 내에 제공된 파라미터들을 오버라이드 시키는 것이 가능하다."
+msgstr "byte 배열들을 적절한 SQL binary 타입으로 매핑시킨다."
 
-#: index.docbook:2638
+#. Tag: literal
+#: basic_mapping.xml:2638
+#, no-c-format
 msgid "text"
-msgstr "비록 Hibernate의 풍부한 범위의 미리 만들어진 타입들과 컴포넌트들에 대한 지원이 당신이 가끔 맞춤형 타입을 사용할 <emphasis>필요가</emphasis> 거의 없을 것임을 의미할 지라도, 그럼에도 불구하고 그것은 당신의 어플리케이션에서 자주 발생하는 (엔티티가 아닌) 클래스들에 대해 맞춤형 타입들을 사용하는 좋은 형식으로 간주된다. 예를 들어 <literal>MonetaryAmount</literal> 클래스는 비록 그것이 컴포넌트로서 쉽게 매핑될 수 있을지라도, <literal>CompositeUserType</literal>에 대한 좋은 후보이다. 이것에 대한 하나의 동기는 추상화이다. 맞춤형 타입으로, 당신의 매핑 문서들은 화폐 값들을 표현하는 당신의 방법에서 가능한 변경들에 대해 장차 검증될 것이다."
+msgstr "text"
 
-#: index.docbook:2640
-msgid "Maps long Java strings to a SQL <literal>CLOB</literal> or <literal>TEXT</literal> type."
-msgstr "하나의 클래스를 한 번 이상 매핑하기"
+#. Tag: para
+#: basic_mapping.xml:2640
+#, no-c-format
+msgid ""
+"Maps long Java strings to a SQL <literal>CLOB</literal> or <literal>TEXT</"
+"literal> type."
+msgstr ""
+"long Java 문자열을 SQL <literal>CLOB</literal> 또는 <literal>TEXT</literal> "
+"타입으로 매핑시킨다"
 
-#: index.docbook:2647
+#. Tag: literal
+#: basic_mapping.xml:2647
+#, no-c-format
 msgid "serializable"
-msgstr "하나의 특정한 영속 클래스에 대해 하나 이상의 매핑을 제공하는 것이 가능하다. 이 경우에 당신은 두 개의 매핑된 엔티티들의 인스턴스들 사이를 명확하게 하기 위해 <emphasis>하나의 엔티티 이름</emphasis>을 지정해야 한다. (디폴트로, 엔티티 이름은 클래스 이름과 동일한 것이다.) Hibernate는 영속 객체들에 대해 작업할 때, 질의들을 작성할 때, 또는 명명된 엔티티에 대한 연관들을 매핑할 때 당신으로 하여금 엔티티 이름을 지정하도록 한다."
+msgstr "serializable"
 
-#: index.docbook:2649
-msgid "Maps serializable Java types to an appropriate SQL binary type. You may also indicate the Hibernate type <literal>serializable</literal> with the name of a serializable Java class or interface that does not default to a basic type."
+#. Tag: para
+#: basic_mapping.xml:2649
+#, no-c-format
+msgid ""
+"Maps serializable Java types to an appropriate SQL binary type. You may also "
+"indicate the Hibernate type <literal>serializable</literal> with the name of "
+"a serializable Java class or interface that does not default to a basic type."
 msgstr ""
-      "<![CDATA[<class name=\"Contract\" table=\"Contracts\" \n"
-      "        entity-name=\"CurrentContract\">\n"
-      "    ...\n"
-      "    <set name=\"history\" inverse=\"true\" \n"
-      "            order-by=\"effectiveEndDate desc\">\n"
-      "        <key column=\"currentContractId\"/>\n"
-      "        <one-to-many entity-name=\"HistoricalContract\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Contract\" table=\"ContractHistory\" \n"
-      "        entity-name=\"HistoricalContract\">\n"
-      "    ...\n"
-      "    <many-to-one name=\"currentContract\" \n"
-      "            column=\"currentContractId\" \n"
-      "            entity-name=\"CurrentContract\"/>\n"
-      "</class>]]>"
+"serializable Java 타입들을 적절한 SQL binary 타입으로 매핑시킨다. 당신은 또"
+"한 디폴트로 기본 타입이 아닌 serializable 자바 클래스 또는 인터페이스의 이름"
+"을 가진 Hibernate 타입 <literal>serializable</literal>을 나타낼 수도 있다."
 
-#: index.docbook:2658
+#. Tag: literal
+#: basic_mapping.xml:2658
+#, no-c-format
 msgid "clob, blob"
-msgstr "연관들은 이제 <literal>class</literal> 대신에 <literal>entity-name</literal>을 사용하여 어떻게 지정되는지를 주목하라."
+msgstr "clob, blob"
 
-#: index.docbook:2660
-msgid "Type mappings for the JDBC classes <literal>java.sql.Clob</literal> and <literal>java.sql.Blob</literal>. These types may be inconvenient for some applications, since the blob or clob object may not be reused outside of a transaction. (Furthermore, driver support is patchy and inconsistent.)"
-msgstr "SQL 인용부호 표시된 식별자들"
+#. Tag: para
+#: basic_mapping.xml:2660
+#, no-c-format
+msgid ""
+"Type mappings for the JDBC classes <literal>java.sql.Clob</literal> and "
+"<literal>java.sql.Blob</literal>. These types may be inconvenient for some "
+"applications, since the blob or clob object may not be reused outside of a "
+"transaction. (Furthermore, driver support is patchy and inconsistent.)"
+msgstr ""
+"<literal>java.sql.Clob</literal>와 <literal>java.sql.Blob</literal> JDBC 클래"
+"스들에 대한 타입 매핑들. 이들 타입들은 몇몇 어플리케이션들에서는 불편하다. 왜"
+"냐하면 blob 또는 clob 객체는 트랜잭션 외부에서 재사용될 수 없기 때문이다.(게"
+"다가 드라이버 지원이 비일관적이고 페치되어야 한다)"
 
-#: index.docbook:2670
-msgid "imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, imm_serializable, imm_binary"
-msgstr "당신은 매핑 문서 내에서 테이블 또는 컬럼 이름을 역인용기호(`)들 속에 넣어서 생성된 SQL에서 식별자를 인용부호 처리하도록 Hibernate에게 강제할 수도 있다. Hibernate는 SQL <literal>Dialect</literal>에 대해 정확한 인용 스타일을 사용할 것이다(대개 이중 인용부호 이지만, SQL Server의 경우에는 모난 괄호들이고 MySQL의 경우에는 역인용부호(`))."
+#. Tag: literal
+#: basic_mapping.xml:2670
+#, no-c-format
+msgid ""
+"imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
+"imm_serializable, imm_binary"
+msgstr ""
+"imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
+"imm_serializable, imm_binary"
 
-#: index.docbook:2674
-msgid "Type mappings for what are usually considered mutable Java types, where Hibernate makes certain optimizations appropriate only for immutable Java types, and the application treats the object as immutable. For example, you should not call <literal>Date.setTime()</literal> for an instance mapped as <literal>imm_timestamp</literal>. To change the value of the property, and have that change made persistent, the application must assign a new (nonidentical) object to the property."
+#. Tag: para
+#: basic_mapping.xml:2674
+#, no-c-format
+msgid ""
+"Type mappings for what are usually considered mutable Java types, where "
+"Hibernate makes certain optimizations appropriate only for immutable Java "
+"types, and the application treats the object as immutable. For example, you "
+"should not call <literal>Date.setTime()</literal> for an instance mapped as "
+"<literal>imm_timestamp</literal>. To change the value of the property, and "
+"have that change made persistent, the application must assign a new "
+"(nonidentical) object to the property."
 msgstr ""
-      "<![CDATA[<class name=\"LineItem\" table=\"`Line Item`\">\n"
-      "    <id name=\"id\" column=\"`Item Id`\"/><generator class=\"assigned\"/></id>\n"
-      "    <property name=\"itemNumber\" column=\"`Item #`\"/>\n"
-      "    ...\n"
-      "</class>]]>"
+"대개 가변적인 Java 타입들로 간주되는 것에 대한 타입 매핑들. 여기서 Hibernate"
+"는 불변적인 Java 타입들에 대해서만 적절한 어떤 최적화를 행하고, 어플리케이션 "
+"그 객체를 변할 수 없는 것으로 취급한다. 예를 들어, 당신은 "
+"<literal>imm_timestamp</literal>로서 매핑된 인스턴스에 대해 <literal>Date."
+"setTime()</literal>을 호출하지 않을 것이다. 프로퍼티의 값을 변경시키고, 그 변"
+"경을 영속화 시키기 위해서, 어플리케이션은 하나의 새로운 (동일하지 않은) 객체"
+"를 그 프로퍼티에 할당해야 한다."
 
-#: index.docbook:2689
-msgid "Unique identifiers of entities and collections may be of any basic type except <literal>binary</literal>, <literal>blob</literal> and <literal>clob</literal>. (Composite identifiers are also allowed, see below.)"
-msgstr "Metadata 대안들"
+#. Tag: para
+#: basic_mapping.xml:2689
+#, no-c-format
+msgid ""
+"Unique identifiers of entities and collections may be of any basic type "
+"except <literal>binary</literal>, <literal>blob</literal> and <literal>clob</"
+"literal>. (Composite identifiers are also allowed, see below.)"
+msgstr ""
+"엔트리들과 콜렉션들의 유일 식별자들은 <literal>binary</literal>, "
+"<literal>blob</literal> 그리고 <literal>clob</literal>를 제외한 기본 타입 중 "
+"어느 것일 수 있다. (Composite 식별자들이 또한 허용된다. 아래를 보라.)"
 
-#: index.docbook:2695
-msgid "The basic value types have corresponding <literal>Type</literal> constants defined on <literal>org.hibernate.Hibernate</literal>. For example, <literal>Hibernate.STRING</literal> represents the <literal>string</literal> type."
-msgstr "XML은 모든 사람들을 위한 것이 아니지만, Hibernate에서 O/R 매핑 메타데이터를 정의하는 몇몇 대안적인 방법들이 존재한다."
+#. Tag: para
+#: basic_mapping.xml:2695
+#, no-c-format
+msgid ""
+"The basic value types have corresponding <literal>Type</literal> constants "
+"defined on <literal>org.hibernate.Hibernate</literal>. For example, "
+"<literal>Hibernate.STRING</literal> represents the <literal>string</literal> "
+"type."
+msgstr ""
+"기본 value 타입들은 <literal>org.hibernate.Hibernate</literal>에 정의되어 있"
+"는 대응하는 <literal>Type</literal> 상수들을 갖는다. 예를 들어, "
+"<literal>Hibernate.STRING</literal>은 <literal>string</literal> 타입을 표현한"
+"다."
 
-#: index.docbook:2704
+#. Tag: title
+#: basic_mapping.xml:2704
+#, no-c-format
 msgid "Custom value types"
-msgstr "XDoclet 마크업 사용하기"
+msgstr "맞춤형 value 타입들"
 
-#: index.docbook:2706
-msgid "It is relatively easy for developers to create their own value types. For example, you might want to persist properties of type <literal>java.lang.BigInteger</literal> to <literal>VARCHAR</literal> columns. Hibernate does not provide a built-in type for this. But custom types are not limited to mapping a property (or collection element) to a single table column. So, for example, you might have a Java property <literal>getName()</literal>/<literal>setName()</literal> of type <literal>java.lang.String</literal> that is persisted to the columns <literal>FIRST_NAME</literal>, <literal>INITIAL</literal>, <literal>SURNAME</literal>."
-msgstr "많은 Hibernate 사용자들은 XDoclet <literal>@hibernate.tags</literal>를 사용하여 소스 코드 속에 직접 매핑 정보를 삽입시키는 것을 선호한다. 우리는 이 문서에서 이 접근법을 다루지 않을 것이다. 왜냐하면 그것은 엄격하게는 XDoclet의 부분으로 간주되기 때문이다. 하지만 우리는 XDoclet 매핑들을 가진 <literal>Cat</literal> 클래스에 관한 다음 예제를 포함한다."
+#. Tag: para
+#: basic_mapping.xml:2706
+#, no-c-format
+msgid ""
+"It is relatively easy for developers to create their own value types. For "
+"example, you might want to persist properties of type <literal>java.lang."
+"BigInteger</literal> to <literal>VARCHAR</literal> columns. Hibernate does "
+"not provide a built-in type for this. But custom types are not limited to "
+"mapping a property (or collection element) to a single table column. So, for "
+"example, you might have a Java property <literal>getName()</literal>/"
+"<literal>setName()</literal> of type <literal>java.lang.String</literal> "
+"that is persisted to the columns <literal>FIRST_NAME</literal>, "
+"<literal>INITIAL</literal>, <literal>SURNAME</literal>."
+msgstr ""
+"개발자들이 그들 자신들의 value 타입들을 생성시키는 것이 상대적으로 쉽다. 예"
+"를 들어, 당신은 <literal>java.lang.BigInteger</literal> 타입의 프로퍼티들을 "
+"<literal>VARCHAR</literal> 컬럼들로 영속화 시키고자 원할 수 있다. Hibernate"
+"는 이것을 위한 미리 만들어진 타입을 제공하지 않는다. 그러나 맞춤형 타입들은 "
+"프로퍼티(또는 콜렉션 요소)를 하나의 테이블 컬럼으로의 매핑하는 것에 제약되지 "
+"않는다. 따라서 예를 들어, 당신은 <literal>FIRST_NAME</literal>, "
+"<literal>INITIAL</literal>, <literal>SURNAME</literal> 컬럼들로 영속화 되는 "
+"<literal>java.lang.String</literal> 타입의 자바 프로퍼티<literal>getName()</"
+"literal>/ <literal>setName()</literal>를 가질 수 있다."
 
-#: index.docbook:2717
-msgid "To implement a custom type, implement either <literal>org.hibernate.UserType</literal> or <literal>org.hibernate.CompositeUserType</literal> and declare properties using the fully qualified classname of the type. Check out <literal>org.hibernate.test.DoubleStringType</literal> to see the kind of things that are possible."
+#. Tag: para
+#: basic_mapping.xml:2717
+#, no-c-format
+msgid ""
+"To implement a custom type, implement either <literal>org.hibernate."
+"UserType</literal> or <literal>org.hibernate.CompositeUserType</literal> and "
+"declare properties using the fully qualified classname of the type. Check "
+"out <literal>org.hibernate.test.DoubleStringType</literal> to see the kind "
+"of things that are possible."
 msgstr ""
-      "<![CDATA[package eg;\n"
-      "import java.util.Set;\n"
-      "import java.util.Date;\n"
-      "\n"
-      "/**\n"
-      " * @hibernate.class\n"
-      " *  table=\"CATS\"\n"
-      " */\n"
-      "public class Cat {\n"
-      "    private Long id; // identifier\n"
-      "    private Date birthdate;\n"
-      "    private Cat mother;\n"
-      "    private Set kittens\n"
-      "    private Color color;\n"
-      "    private char sex;\n"
-      "    private float weight;\n"
-      "\n"
-      "    /*\n"
-      "     * @hibernate.id\n"
-      "     *  generator-class=\"native\"\n"
-      "     *  column=\"CAT_ID\"\n"
-      "     */\n"
-      "    public Long getId() {\n"
-      "        return id;\n"
-      "    }\n"
-      "    private void setId(Long id) {\n"
-      "        this.id=id;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.many-to-one\n"
-      "     *  column=\"PARENT_ID\"\n"
-      "     */\n"
-      "    public Cat getMother() {\n"
-      "        return mother;\n"
-      "    }\n"
-      "    void setMother(Cat mother) {\n"
-      "        this.mother = mother;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"BIRTH_DATE\"\n"
-      "     */\n"
-      "    public Date getBirthdate() {\n"
-      "        return birthdate;\n"
-      "    }\n"
-      "    void setBirthdate(Date date) {\n"
-      "        birthdate = date;\n"
-      "    }\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"WEIGHT\"\n"
-      "     */\n"
-      "    public float getWeight() {\n"
-      "        return weight;\n"
-      "    }\n"
-      "    void setWeight(float weight) {\n"
-      "        this.weight = weight;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"COLOR\"\n"
-      "     *  not-null=\"true\"\n"
-      "     */\n"
-      "    public Color getColor() {\n"
-      "        return color;\n"
-      "    }\n"
-      "    void setColor(Color color) {\n"
-      "        this.color = color;\n"
-      "    }\n"
-      "    /**\n"
-      "     * @hibernate.set\n"
-      "     *  inverse=\"true\"\n"
-      "     *  order-by=\"BIRTH_DATE\"\n"
-      "     * @hibernate.collection-key\n"
-      "     *  column=\"PARENT_ID\"\n"
-      "     * @hibernate.collection-one-to-many\n"
-      "     */\n"
-      "    public Set getKittens() {\n"
-      "        return kittens;\n"
-      "    }\n"
-      "    void setKittens(Set kittens) {\n"
-      "        this.kittens = kittens;\n"
-      "    }\n"
-      "    // addKitten not needed by Hibernate\n"
-      "    public void addKitten(Cat kitten) {\n"
-      "        kittens.add(kitten);\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"SEX\"\n"
-      "     *  not-null=\"true\"\n"
-      "     *  update=\"false\"\n"
-      "     */\n"
-      "    public char getSex() {\n"
-      "        return sex;\n"
-      "    }\n"
-      "    void setSex(char sex) {\n"
-      "        this.sex=sex;\n"
-      "    }\n"
-      "}]]>"
+"맞춤형 타입을 구현하려면, <literal>org.hibernate.UserType</literal> 또는 "
+"<literal>org.hibernate.CompositeUserType</literal>을 구현하고 그 타입의 전체 "
+"수식어가 붙은 클래스명을 사용하여 프로퍼티들을 선언하라. 가능한 종류의 것들"
+"을 보려면 <literal>org.hibernate.test.DoubleStringType</literal>을 체크하라."
 
-#: index.docbook:2725
+#. Tag: programlisting
+#: basic_mapping.xml:2725
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test.DoubleStringType\">\n"
-      "    <column name=\"first_string\"/>\n"
-      "    <column name=\"second_string\"/>\n"
-      "</property>]]>"
-msgstr "XDoclet과 ibernate에 관한 추가 예제들은 Hibernate 웹 사이트를 보라."
+"<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test."
+"DoubleStringType\">\n"
+"    <column name=\"first_string\"/>\n"
+"    <column name=\"second_string\"/>\n"
+"</property>]]>"
+msgstr ""
 
-#: index.docbook:2727
-msgid "Notice the use of <literal>&lt;column&gt;</literal> tags to map a property to multiple columns."
-msgstr "JDK 5.0 Annotations 사용하기"
+#. Tag: para
+#: basic_mapping.xml:2727
+#, no-c-format
+msgid ""
+"Notice the use of <literal>&lt;column&gt;</literal> tags to map a property "
+"to multiple columns."
+msgstr ""
+"하나의 프로퍼티를 여러 개의 컬럼들로 매핑시키는 <literal>&lt;column&gt;</"
+"literal> 태그의 사용을 주목하라."
 
-#: index.docbook:2732
-msgid "The <literal>CompositeUserType</literal>, <literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, and <literal>UserVersionType</literal> interfaces provide support for more specialized uses."
-msgstr "JDK 5.0은 언어 레벨에서 XDoclet-스타일의 주석들, type-safe와 컴파일 시 체킹을 도입했다. 이 메커니즘은 XDoclet 주석들 보다 더 강력하며 도구들과 IDE들에 의해 더 좋게 지원된다. 예를 들어 IntelliJ IDEA는 JDK 5.0 주석들에 대한 자동-완성 기능과 구문 강조를 지원한다. EJB 명세서의 새로운 개정판(JSR-220)은 엔티티 빈즈에 대한 프라이머리 메타데이터 메커니즘으로서 JDK 5.0 Annotations을 사용한다. Hibernate3는 JSR-220(영속 API)의 <literal>EntityManager</literal>를 구현하고, 매핑 메타데이터에 대한 지원은 별도의 내려받기로서 <emphasis>Hibernate Annotations</emphasis> 패키지를 통해 이용 가능하다. EJB3 (JSR-220)과 Hibernate3 metadata 양자가 지원된다."
+#. Tag: para
+#: basic_mapping.xml:2732
+#, no-c-format
+msgid ""
+"The <literal>CompositeUserType</literal>, <literal>EnhancedUserType</"
+"literal>, <literal>UserCollectionType</literal>, and "
+"<literal>UserVersionType</literal> interfaces provide support for more "
+"specialized uses."
+msgstr ""
+"<literal>CompositeUserType</literal>, <literal>EnhancedUserType</literal>, "
+"<literal>UserCollectionType</literal>, 그리고 <literal>UserVersionType</"
+"literal> 인터페이스들은 더 많은 특화된 사용들을 위한 지원을 제공한다."
 
-#: index.docbook:2738
-msgid "You may even supply parameters to a <literal>UserType</literal> in the mapping file. To do this, your <literal>UserType</literal> must implement the <literal>org.hibernate.usertype.ParameterizedType</literal> interface. To supply parameters to your custom type, you can use the <literal>&lt;type&gt;</literal> element in your mapping files."
-msgstr "다음은 EJB 엔티티 빈으로서 주석이 붙은 POJO 클래스에 관한 예제이다:"
+#. Tag: para
+#: basic_mapping.xml:2738
+#, no-c-format
+msgid ""
+"You may even supply parameters to a <literal>UserType</literal> in the "
+"mapping file. To do this, your <literal>UserType</literal> must implement "
+"the <literal>org.hibernate.usertype.ParameterizedType</literal> interface. "
+"To supply parameters to your custom type, you can use the <literal>&lt;"
+"type&gt;</literal> element in your mapping files."
+msgstr ""
+"당신은 매핑 파일 속에 <literal>UserType</literal>에 대한 파라미터들을 제공할 "
+"수도 있다. 이것을 행하기 위해, 당신의 <literal>UserType</literal>은 "
+"<literal>org.hibernate.usertype.ParameterizedType</literal> 인터페이스를 구현"
+"해야 한다. 당신의 맞춤형 타입에 파라미터들을 제공하기 위해, 당신은 당신의 매"
+"핑 파일들 속에 <literal>&lt;type&gt;</literal> 요소를 사용할 수 있다."
 
-#: index.docbook:2746
+#. Tag: programlisting
+#: basic_mapping.xml:2746
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"priority\">\n"
-      "    <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
-      "        <param name=\"default\">0</param>\n"
-      "    </type>\n"
-      "</property>]]>"
+"<![CDATA[<property name=\"priority\">\n"
+"    <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
+"        <param name=\"default\">0</param>\n"
+"    </type>\n"
+"</property>]]>"
 msgstr ""
-      "<![CDATA[@Entity(access = AccessType.FIELD)\n"
-      "public class Customer implements Serializable {\n"
-      "\n"
-      "    @Id;\n"
-      "    Long id;\n"
-      "\n"
-      "    String firstName;\n"
-      "    String lastName;\n"
-      "    Date birthday;\n"
-      "\n"
-      "    @Transient\n"
-      "    Integer age;\n"
-      "\n"
-      "    @Embedded\n"
-      "    private Address homeAddress;\n"
-      "\n"
-      "    @OneToMany(cascade=CascadeType.ALL)\n"
-      "    @JoinColumn(name=\"CUSTOMER_ID\")\n"
-      "    Set<Order> orders;\n"
-      "\n"
-      "    // Getter/setter and business methods\n"
-      "}]]>"
 
-#: index.docbook:2748
-msgid "The <literal>UserType</literal> can now retrieve the value for the parameter named <literal>default</literal> from the <literal>Properties</literal> object passed to it."
-msgstr "JDK 5.0 Annotations(그리고 JSR-220)에 대한 지원은 여전히 작업이 진행 중이고 완성되지 않았음을 노트하라. 상세한 것은 Hibernate Anotations를 참조하라."
+#. Tag: para
+#: basic_mapping.xml:2748
+#, no-c-format
+msgid ""
+"The <literal>UserType</literal> can now retrieve the value for the parameter "
+"named <literal>default</literal> from the <literal>Properties</literal> "
+"object passed to it."
+msgstr ""
+"<literal>UserType</literal>은 이제 그것에 전달된 <literal>Properties</"
+"literal> 객체로부터 <literal>default</literal>로 명명된 파라미터에 대한 값을 "
+"검색할 수 있다."
 
-#: index.docbook:2753
-msgid "If you use a certain <literal>UserType</literal> very often, it may be useful to define a shorter name for it. You can do this using the <literal>&lt;typedef&gt;</literal> element. Typedefs assign a name to a custom type, and may also contain a list of default parameter values if the type is parameterized."
-msgstr "산출되는 프로퍼티들"
+#. Tag: para
+#: basic_mapping.xml:2753
+#, no-c-format
+msgid ""
+"If you use a certain <literal>UserType</literal> very often, it may be "
+"useful to define a shorter name for it. You can do this using the "
+"<literal>&lt;typedef&gt;</literal> element. Typedefs assign a name to a "
+"custom type, and may also contain a list of default parameter values if the "
+"type is parameterized."
+msgstr ""
+"만일 당신이 매우 자주 어떤 UserType을 사용할 경우, 그것은 그것에 대한 더 짧"
+"은 이름을 정의하는 것이 유용할 수 있다. <literal>&lt;typedef&gt;</literal> 요"
+"소를 사용하여 이것을 행할 수 있다. Typedef들은 이름을 맞춤형 타입에 할당하"
+"고, 또한 만일 그 타입이 파라미터화 된 경우에 디폴트 파라미터 값들의 리스트를 "
+"포함할 수도 있다."
 
-#: index.docbook:2760
+#. Tag: programlisting
+#: basic_mapping.xml:2760
+#, no-c-format
 msgid ""
-      "<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" name=\"default_zero\">\n"
-      "    <param name=\"default\">0</param>\n"
-      "</typedef>]]>"
-msgstr "산출되는 프로퍼티들은 데이터베이스에 의해 산출되는 그것들의 값들을 갖는 프로퍼티들이다. 전형적으로, Hibernate 어플리케이션들은 데이터베이스가 값들을 생성시켰던 임의의 프로퍼티들을 포함하는 객체들을 <literal>갱신</literal>시킬 필요가 있었다.하지만 generated로 마크된 프로퍼티들은 어플리케이션으로 하여금 이 책임을 Hibernate에게 위임시키도록 한다. 본질적으로 Hibernate가 산출되는 프로퍼티들을 정의했던 엔티티에 대해 SQL INSERT 또는 UPDATE 명령을 내릴 때마다 바로 직후에 산출되는 값들을 검색하기 위해 하나의 select 명령을 내린다."
+"<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" "
+"name=\"default_zero\">\n"
+"    <param name=\"default\">0</param>\n"
+"</typedef>]]>"
+msgstr ""
 
-#: index.docbook:2762
+#. Tag: programlisting
+#: basic_mapping.xml:2762
+#, no-c-format
 msgid "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
-msgstr "generated로 마크된 프로퍼티들은 부가적으로 inser 가능하지 않아야 하고 update 불가능해야 한다. 오직 Properties marked as generated must additionally be non-insertable and non-updateable. <xref linkend=\"mapping-declaration-version\"/>versions, <xref linkend=\"mapping-declaration-timestamp\"/>timestamps, 그리고 <xref linkend=\"mapping-declaration-property\"/>단순 프로퍼티들 만이 generated로 마크될 수 있다."
+msgstr ""
 
-#: index.docbook:2764
-msgid "It is also possible to override the parameters supplied in a typedef on a case-by-case basis by using type parameters on the property mapping."
-msgstr "<literal>never</literal> (디폴트) - 는 주어진 프로퍼티 값이 데이터베이스 내에 생성되지 않을 것임을 의미한다."
+#. Tag: para
+#: basic_mapping.xml:2764
+#, no-c-format
+msgid ""
+"It is also possible to override the parameters supplied in a typedef on a "
+"case-by-case basis by using type parameters on the property mapping."
+msgstr ""
+"property 매핑 상에 type 파라미터들을 사용함으로써 경우에 맞게 typedef 내에 제"
+"공된 파라미터들을 오버라이드 시키는 것이 가능하다."
 
-#: index.docbook:2769
-msgid "Even though Hibernate's rich range of built-in types and support for components means you will very rarely <emphasis>need</emphasis> to use a custom type, it is nevertheless considered good form to use custom types for (non-entity) classes that occur frequently in your application. For example, a <literal>MonetaryAmount</literal> class is a good candidate for a <literal>CompositeUserType</literal>, even though it could easily be mapped as a component. One motivation for this is abstraction. With a custom type, your mapping documents would be future-proofed against possible changes in your way of representing monetary values."
-msgstr "<literal>insert</literal> - 는 주어진 프로퍼티 값이 insert 시에 생성되지만, 차후의 업데이트들에서 다시 생성되지 않을 것임을 기술한다. 생성-날짜와 같은 것들이 이 카테고리 내로 포함될 것이다. 비록 <xref linkend=\"mapping-declaration-version\"/>version과 <xref linkend=\"mapping-declaration-timestamp\"/>timestamp 프로퍼티들이 생성되는 것으로서 마크될 수 있을 지라도, 이 옵션은 거기서 이용 불가능함을 노트하라..."
+#. Tag: para
+#: basic_mapping.xml:2769
+#, no-c-format
+msgid ""
+"Even though Hibernate's rich range of built-in types and support for "
+"components means you will very rarely <emphasis>need</emphasis> to use a "
+"custom type, it is nevertheless considered good form to use custom types for "
+"(non-entity) classes that occur frequently in your application. For example, "
+"a <literal>MonetaryAmount</literal> class is a good candidate for a "
+"<literal>CompositeUserType</literal>, even though it could easily be mapped "
+"as a component. One motivation for this is abstraction. With a custom type, "
+"your mapping documents would be future-proofed against possible changes in "
+"your way of representing monetary values."
+msgstr ""
+"비록 Hibernate의 풍부한 범위의 미리 만들어진 타입들과 컴포넌트들에 대한 지원"
+"이 당신이 가끔 맞춤형 타입을 사용할 <emphasis>필요가</emphasis> 거의 없을 것"
+"임을 의미할 지라도, 그럼에도 불구하고 그것은 당신의 어플리케이션에서 자주 발"
+"생하는 (엔티티가 아닌) 클래스들에 대해 맞춤형 타입들을 사용하는 좋은 형식으"
+"로 간주된다. 예를 들어 <literal>MonetaryAmount</literal> 클래스는 비록 그것"
+"이 컴포넌트로서 쉽게 매핑될 수 있을지라도, <literal>CompositeUserType</"
+"literal>에 대한 좋은 후보이다. 이것에 대한 하나의 동기는 추상화이다. 맞춤형 "
+"타입으로, 당신의 매핑 문서들은 화폐 값들을 표현하는 당신의 방법에서 가능한 변"
+"경들에 대해 장차 검증될 것이다."
 
-#: index.docbook:2785
+#. Tag: title
+#: basic_mapping.xml:2785
+#, no-c-format
 msgid "Mapping a class more than once"
-msgstr "<literal>always</literal> - 는 프로퍼티 값이 insert 시와 update 시 모두에 생성됨을 기술한다."
+msgstr "하나의 클래스를 한 번 이상 매핑하기"
 
-#: index.docbook:2786
-msgid "It is possible to provide more than one mapping for a particular persistent class. In this case you must specify an <emphasis>entity name</emphasis> do disambiguate between instances of the two mapped entities. (By default, the entity name is the same as the class name.) Hibernate lets you specify the entity name when working with persistent objects, when writing queries, or when mapping associations to the named entity."
-msgstr "보조 데이터베이스 객체들"
+#. Tag: para
+#: basic_mapping.xml:2786
+#, no-c-format
+msgid ""
+"It is possible to provide more than one mapping for a particular persistent "
+"class. In this case you must specify an <emphasis>entity name</emphasis> do "
+"disambiguate between instances of the two mapped entities. (By default, the "
+"entity name is the same as the class name.) Hibernate lets you specify the "
+"entity name when working with persistent objects, when writing queries, or "
+"when mapping associations to the named entity."
+msgstr ""
+"하나의 특정한 영속 클래스에 대해 하나 이상의 매핑을 제공하는 것이 가능하다. "
+"이 경우에 당신은 두 개의 매핑된 엔티티들의 인스턴스들 사이를 명확하게 하기 위"
+"해 <emphasis>하나의 엔티티 이름</emphasis>을 지정해야 한다. (디폴트로, 엔티"
+"티 이름은 클래스 이름과 동일한 것이다.) Hibernate는 영속 객체들에 대해 작업"
+"할 때, 질의들을 작성할 때, 또는 명명된 엔티티에 대한 연관들을 매핑할 때 당신"
+"으로 하여금 엔티티 이름을 지정하도록 한다."
 
-#: index.docbook:2794
+#. Tag: programlisting
+#: basic_mapping.xml:2794
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Contract\" table=\"Contracts\"\n"
-      "        entity-name=\"CurrentContract\">\n"
-      "    ...\n"
-      "    <set name=\"history\" inverse=\"true\"\n"
-      "            order-by=\"effectiveEndDate desc\">\n"
-      "        <key column=\"currentContractId\"/>\n"
-      "        <one-to-many entity-name=\"HistoricalContract\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Contract\" table=\"ContractHistory\"\n"
-      "        entity-name=\"HistoricalContract\">\n"
-      "    ...\n"
-      "    <many-to-one name=\"currentContract\"\n"
-      "            column=\"currentContractId\"\n"
-      "            entity-name=\"CurrentContract\"/>\n"
-      "</class>]]>"
-msgstr "Hibernate 매핑 파일들 내에 사용자 스키마를 완전하게 정의하기 위한 능력을 제공하기 위해서, Hibernate의 스키마 방출 도구들과 함께 임의적인 데이터베이스 객체들에 대한 CREATE와 DROP을 허용해준다. 비록 트리거들 또는 내장 프로시저들과 같은 것들을 생성시키고 드롭시키기 이해 특별히 고안되었을지라도 하나의 <literal>java.sql.Statement.execute()</literal> 메소드를 통해 실행될 수 있는 SQL 명령이 여기서 유효하다(ALTERs, INSERTS, 기타). 보조 데0이터베이스 객체들을 정의하는 두 가지 모드들이 본질적으로 존재한다..."
+"<![CDATA[<class name=\"Contract\" table=\"Contracts\"\n"
+"        entity-name=\"CurrentContract\">\n"
+"    ...\n"
+"    <set name=\"history\" inverse=\"true\"\n"
+"            order-by=\"effectiveEndDate desc\">\n"
+"        <key column=\"currentContractId\"/>\n"
+"        <one-to-many entity-name=\"HistoricalContract\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Contract\" table=\"ContractHistory\"\n"
+"        entity-name=\"HistoricalContract\">\n"
+"    ...\n"
+"    <many-to-one name=\"currentContract\"\n"
+"            column=\"currentContractId\"\n"
+"            entity-name=\"CurrentContract\"/>\n"
+"</class>]]>"
+msgstr ""
 
-#: index.docbook:2796
-msgid "Notice how associations are now specified using <literal>entity-name</literal> instead of <literal>class</literal>."
-msgstr "첫 번째 모드는 매핑 파일 바깥에서 CREATE 및 DROP 명령들을 명시적으로 나열하는 것이다:"
+#. Tag: para
+#: basic_mapping.xml:2796
+#, no-c-format
+msgid ""
+"Notice how associations are now specified using <literal>entity-name</"
+"literal> instead of <literal>class</literal>."
+msgstr ""
+"연관들은 이제 <literal>class</literal> 대신에 <literal>entity-name</literal>"
+"을 사용하여 어떻게 지정되는지를 주목하라."
 
-#: index.docbook:2804
+#. Tag: title
+#: basic_mapping.xml:2804
+#, no-c-format
 msgid "SQL quoted identifiers"
+msgstr "SQL 인용부호 표시된 식별자들"
+
+#. Tag: para
+#: basic_mapping.xml:2805
+#, no-c-format
+msgid ""
+"You may force Hibernate to quote an identifier in the generated SQL by "
+"enclosing the table or column name in backticks in the mapping document. "
+"Hibernate will use the correct quotation style for the SQL <literal>Dialect</"
+"literal> (usually double quotes, but brackets for SQL Server and backticks "
+"for MySQL)."
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <create>CREATE TRIGGER my_trigger ...</create>\n"
-      "        <drop>DROP TRIGGER my_trigger</drop>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"당신은 매핑 문서 내에서 테이블 또는 컬럼 이름을 역인용기호(`)들 속에 넣어서 "
+"생성된 SQL에서 식별자를 인용부호 처리하도록 Hibernate에게 강제할 수도 있다. "
+"Hibernate는 SQL <literal>Dialect</literal>에 대해 정확한 인용 스타일을 사용"
+"할 것이다(대개 이중 인용부호 이지만, SQL Server의 경우에는 모난 괄호들이고 "
+"MySQL의 경우에는 역인용부호(`))."
 
-#: index.docbook:2805
-msgid "You may force Hibernate to quote an identifier in the generated SQL by enclosing the table or column name in backticks in the mapping document. Hibernate will use the correct quotation style for the SQL <literal>Dialect</literal> (usually double quotes, but brackets for SQL Server and backticks for MySQL)."
-msgstr "두번째 모드는 CREATE 및 DROP 명령들을 생성시키는 방법을 알고 있는 하나의 맞춤 클래스를 제공하는 것이다. 이 맞춤 클래스는 <literal>org.hibernate.mapping.AuxiliaryDatabaseObject</literal> 인터페이스를 구현해야 한다."
-
-#: index.docbook:2812
+#. Tag: programlisting
+#: basic_mapping.xml:2812
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"LineItem\" table=\"`Line Item`\">\n"
-      "    <id name=\"id\" column=\"`Item Id`\"/><generator class=\"assigned\"/></id>\n"
-      "    <property name=\"itemNumber\" column=\"`Item #`\"/>\n"
-      "    ...\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"LineItem\" table=\"`Line Item`\">\n"
+"    <id name=\"id\" column=\"`Item Id`\"/><generator class=\"assigned\"/></"
+"id>\n"
+"    <property name=\"itemNumber\" column=\"`Item #`\"/>\n"
+"    ...\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <definition class=\"MyTriggerDefinition\"/>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:2818
+#. Tag: title
+#: basic_mapping.xml:2818
+#, no-c-format
 msgid "Metadata alternatives"
-msgstr "덧붙여 이들 데이터베이스 객체들은 어떤 dialect들이 사용될 때 그것들이 단지 적용될 수 있도록 선택적으로 변동될 수 있다."
+msgstr "Metadata 대안들"
 
-#: index.docbook:2820
-msgid "XML isn't for everyone, and so there are some alternative ways to define O/R mapping metadata in Hibernate."
+#. Tag: para
+#: basic_mapping.xml:2820
+#, no-c-format
+msgid ""
+"XML isn't for everyone, and so there are some alternative ways to define O/R "
+"mapping metadata in Hibernate."
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <definition class=\"MyTriggerDefinition\"/>\n"
-      "        <dialect-scope name=\"org.hibernate.dialect.Oracle9Dialect\"/>\n"
-      "        <dialect-scope name=\"org.hibernate.dialect.OracleDialect\"/>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"XML은 모든 사람들을 위한 것이 아니지만, Hibernate에서 O/R 매핑 메타데이터를 "
+"정의하는 몇몇 대안적인 방법들이 존재한다."
 
-#: index.docbook:2825
+#. Tag: title
+#: basic_mapping.xml:2825
+#, no-c-format
 msgid "Using XDoclet markup"
-msgstr ""
+msgstr "XDoclet 마크업 사용하기"
 
-#: index.docbook:2827
-msgid "Many Hibernate users prefer to embed mapping information directly in sourcecode using XDoclet <literal>@hibernate.tags</literal>. We will not cover this approach in this document, since strictly it is considered part of XDoclet. However, we include the following example of the <literal>Cat</literal> class with XDoclet mappings."
+#. Tag: para
+#: basic_mapping.xml:2827
+#, no-c-format
+msgid ""
+"Many Hibernate users prefer to embed mapping information directly in "
+"sourcecode using XDoclet <literal>@hibernate.tags</literal>. We will not "
+"cover this approach in this document, since strictly it is considered part "
+"of XDoclet. However, we include the following example of the <literal>Cat</"
+"literal> class with XDoclet mappings."
 msgstr ""
+"많은 Hibernate 사용자들은 XDoclet <literal>@hibernate.tags</literal>를 사용하"
+"여 소스 코드 속에 직접 매핑 정보를 삽입시키는 것을 선호한다. 우리는 이 문서에"
+"서 이 접근법을 다루지 않을 것이다. 왜냐하면 그것은 엄격하게는 XDoclet의 부분"
+"으로 간주되기 때문이다. 하지만 우리는 XDoclet 매핑들을 가진 <literal>Cat</"
+"literal> 클래스에 관한 다음 예제를 포함한다."
 
-#: index.docbook:2834
+#. Tag: programlisting
+#: basic_mapping.xml:2834
+#, no-c-format
 msgid ""
-      "<![CDATA[package eg;\n"
-      "import java.util.Set;\n"
-      "import java.util.Date;\n"
-      "\n"
-      "/**\n"
-      " * @hibernate.class\n"
-      " *  table=\"CATS\"\n"
-      " */\n"
-      "public class Cat {\n"
-      "    private Long id; // identifier\n"
-      "    private Date birthdate;\n"
-      "    private Cat mother;\n"
-      "    private Set kittens\n"
-      "    private Color color;\n"
-      "    private char sex;\n"
-      "    private float weight;\n"
-      "\n"
-      "    /*\n"
-      "     * @hibernate.id\n"
-      "     *  generator-class=\"native\"\n"
-      "     *  column=\"CAT_ID\"\n"
-      "     */\n"
-      "    public Long getId() {\n"
-      "        return id;\n"
-      "    }\n"
-      "    private void setId(Long id) {\n"
-      "        this.id=id;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.many-to-one\n"
-      "     *  column=\"PARENT_ID\"\n"
-      "     */\n"
-      "    public Cat getMother() {\n"
-      "        return mother;\n"
-      "    }\n"
-      "    void setMother(Cat mother) {\n"
-      "        this.mother = mother;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"BIRTH_DATE\"\n"
-      "     */\n"
-      "    public Date getBirthdate() {\n"
-      "        return birthdate;\n"
-      "    }\n"
-      "    void setBirthdate(Date date) {\n"
-      "        birthdate = date;\n"
-      "    }\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"WEIGHT\"\n"
-      "     */\n"
-      "    public float getWeight() {\n"
-      "        return weight;\n"
-      "    }\n"
-      "    void setWeight(float weight) {\n"
-      "        this.weight = weight;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"COLOR\"\n"
-      "     *  not-null=\"true\"\n"
-      "     */\n"
-      "    public Color getColor() {\n"
-      "        return color;\n"
-      "    }\n"
-      "    void setColor(Color color) {\n"
-      "        this.color = color;\n"
-      "    }\n"
-      "    /**\n"
-      "     * @hibernate.set\n"
-      "     *  inverse=\"true\"\n"
-      "     *  order-by=\"BIRTH_DATE\"\n"
-      "     * @hibernate.collection-key\n"
-      "     *  column=\"PARENT_ID\"\n"
-      "     * @hibernate.collection-one-to-many\n"
-      "     */\n"
-      "    public Set getKittens() {\n"
-      "        return kittens;\n"
-      "    }\n"
-      "    void setKittens(Set kittens) {\n"
-      "        this.kittens = kittens;\n"
-      "    }\n"
-      "    // addKitten not needed by Hibernate\n"
-      "    public void addKitten(Cat kitten) {\n"
-      "        kittens.add(kitten);\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"SEX\"\n"
-      "     *  not-null=\"true\"\n"
-      "     *  update=\"false\"\n"
-      "     */\n"
-      "    public char getSex() {\n"
-      "        return sex;\n"
-      "    }\n"
-      "    void setSex(char sex) {\n"
-      "        this.sex=sex;\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"import java.util.Date;\n"
+"\n"
+"/**\n"
+" * @hibernate.class\n"
+" *  table=\"CATS\"\n"
+" */\n"
+"public class Cat {\n"
+"    private Long id; // identifier\n"
+"    private Date birthdate;\n"
+"    private Cat mother;\n"
+"    private Set kittens\n"
+"    private Color color;\n"
+"    private char sex;\n"
+"    private float weight;\n"
+"\n"
+"    /*\n"
+"     * @hibernate.id\n"
+"     *  generator-class=\"native\"\n"
+"     *  column=\"CAT_ID\"\n"
+"     */\n"
+"    public Long getId() {\n"
+"        return id;\n"
+"    }\n"
+"    private void setId(Long id) {\n"
+"        this.id=id;\n"
+"    }\n"
+"\n"
+"    /**\n"
+"     * @hibernate.many-to-one\n"
+"     *  column=\"PARENT_ID\"\n"
+"     */\n"
+"    public Cat getMother() {\n"
+"        return mother;\n"
+"    }\n"
+"    void setMother(Cat mother) {\n"
+"        this.mother = mother;\n"
+"    }\n"
+"\n"
+"    /**\n"
+"     * @hibernate.property\n"
+"     *  column=\"BIRTH_DATE\"\n"
+"     */\n"
+"    public Date getBirthdate() {\n"
+"        return birthdate;\n"
+"    }\n"
+"    void setBirthdate(Date date) {\n"
+"        birthdate = date;\n"
+"    }\n"
+"    /**\n"
+"     * @hibernate.property\n"
+"     *  column=\"WEIGHT\"\n"
+"     */\n"
+"    public float getWeight() {\n"
+"        return weight;\n"
+"    }\n"
+"    void setWeight(float weight) {\n"
+"        this.weight = weight;\n"
+"    }\n"
+"\n"
+"    /**\n"
+"     * @hibernate.property\n"
+"     *  column=\"COLOR\"\n"
+"     *  not-null=\"true\"\n"
+"     */\n"
+"    public Color getColor() {\n"
+"        return color;\n"
+"    }\n"
+"    void setColor(Color color) {\n"
+"        this.color = color;\n"
+"    }\n"
+"    /**\n"
+"     * @hibernate.set\n"
+"     *  inverse=\"true\"\n"
+"     *  order-by=\"BIRTH_DATE\"\n"
+"     * @hibernate.collection-key\n"
+"     *  column=\"PARENT_ID\"\n"
+"     * @hibernate.collection-one-to-many\n"
+"     */\n"
+"    public Set getKittens() {\n"
+"        return kittens;\n"
+"    }\n"
+"    void setKittens(Set kittens) {\n"
+"        this.kittens = kittens;\n"
+"    }\n"
+"    // addKitten not needed by Hibernate\n"
+"    public void addKitten(Cat kitten) {\n"
+"        kittens.add(kitten);\n"
+"    }\n"
+"\n"
+"    /**\n"
+"     * @hibernate.property\n"
+"     *  column=\"SEX\"\n"
+"     *  not-null=\"true\"\n"
+"     *  update=\"false\"\n"
+"     */\n"
+"    public char getSex() {\n"
+"        return sex;\n"
+"    }\n"
+"    void setSex(char sex) {\n"
+"        this.sex=sex;\n"
+"    }\n"
+"}]]>"
 msgstr ""
 
-#: index.docbook:2836
+#. Tag: para
+#: basic_mapping.xml:2836
+#, no-c-format
 msgid "See the Hibernate web site for more examples of XDoclet and Hibernate."
-msgstr ""
+msgstr "XDoclet과 ibernate에 관한 추가 예제들은 Hibernate 웹 사이트를 보라."
 
-#: index.docbook:2843
+#. Tag: title
+#: basic_mapping.xml:2843
+#, no-c-format
 msgid "Using JDK 5.0 Annotations"
-msgstr ""
+msgstr "JDK 5.0 Annotations 사용하기"
 
-#: index.docbook:2845
-msgid "JDK 5.0 introduced XDoclet-style annotations at the language level, type-safe and checked at compile time. This mechnism is more powerful than XDoclet annotations and better supported by tools and IDEs. IntelliJ IDEA, for example, supports auto-completion and syntax highlighting of JDK 5.0 annotations. The new revision of the EJB specification (JSR-220) uses JDK 5.0 annotations as the primary metadata mechanism for entity beans. Hibernate3 implements the <literal>EntityManager</literal> of JSR-220 (the persistence API), support for mapping metadata is available via the <emphasis>Hibernate Annotations</emphasis> package, as a separate download. Both EJB3 (JSR-220) and Hibernate3 metadata is supported."
+#. Tag: para
+#: basic_mapping.xml:2845
+#, no-c-format
+msgid ""
+"JDK 5.0 introduced XDoclet-style annotations at the language level, type-"
+"safe and checked at compile time. This mechnism is more powerful than "
+"XDoclet annotations and better supported by tools and IDEs. IntelliJ IDEA, "
+"for example, supports auto-completion and syntax highlighting of JDK 5.0 "
+"annotations. The new revision of the EJB specification (JSR-220) uses JDK "
+"5.0 annotations as the primary metadata mechanism for entity beans. "
+"Hibernate3 implements the <literal>EntityManager</literal> of JSR-220 (the "
+"persistence API), support for mapping metadata is available via the "
+"<emphasis>Hibernate Annotations</emphasis> package, as a separate download. "
+"Both EJB3 (JSR-220) and Hibernate3 metadata is supported."
 msgstr ""
+"JDK 5.0은 언어 레벨에서 XDoclet-스타일의 주석들, type-safe와 컴파일 시 체킹"
+"을 도입했다. 이 메커니즘은 XDoclet 주석들 보다 더 강력하며 도구들과 IDE들에 "
+"의해 더 좋게 지원된다. 예를 들어 IntelliJ IDEA는 JDK 5.0 주석들에 대한 자동-"
+"완성 기능과 구문 강조를 지원한다. EJB 명세서의 새로운 개정판(JSR-220)은 엔티"
+"티 빈즈에 대한 프라이머리 메타데이터 메커니즘으로서 JDK 5.0 Annotations을 사"
+"용한다. Hibernate3는 JSR-220(영속 API)의 <literal>EntityManager</literal>를 "
+"구현하고, 매핑 메타데이터에 대한 지원은 별도의 내려받기로서 "
+"<emphasis>Hibernate Annotations</emphasis> 패키지를 통해 이용 가능하다. EJB3 "
+"(JSR-220)과 Hibernate3 metadata 양자가 지원된다."
 
-#: index.docbook:2856
+#. Tag: para
+#: basic_mapping.xml:2856
+#, no-c-format
 msgid "This is an example of a POJO class annotated as an EJB entity bean:"
-msgstr ""
+msgstr "다음은 EJB 엔티티 빈으로서 주석이 붙은 POJO 클래스에 관한 예제이다:"
 
-#: index.docbook:2860
+#. Tag: programlisting
+#: basic_mapping.xml:2860
+#, no-c-format
 msgid ""
-      "<![CDATA[@Entity(access = AccessType.FIELD)\n"
-      "public class Customer implements Serializable {\n"
-      "\n"
-      "    @Id;\n"
-      "    Long id;\n"
-      "\n"
-      "    String firstName;\n"
-      "    String lastName;\n"
-      "    Date birthday;\n"
-      "\n"
-      "    @Transient\n"
-      "    Integer age;\n"
-      "\n"
-      "    @Embedded\n"
-      "    private Address homeAddress;\n"
-      "\n"
-      "    @OneToMany(cascade=CascadeType.ALL)\n"
-      "    @JoinColumn(name=\"CUSTOMER_ID\")\n"
-      "    Set<Order> orders;\n"
-      "\n"
-      "    // Getter/setter and business methods\n"
-      "}]]>"
+"<![CDATA[@Entity(access = AccessType.FIELD)\n"
+"public class Customer implements Serializable {\n"
+"\n"
+"    @Id;\n"
+"    Long id;\n"
+"\n"
+"    String firstName;\n"
+"    String lastName;\n"
+"    Date birthday;\n"
+"\n"
+"    @Transient\n"
+"    Integer age;\n"
+"\n"
+"    @Embedded\n"
+"    private Address homeAddress;\n"
+"\n"
+"    @OneToMany(cascade=CascadeType.ALL)\n"
+"    @JoinColumn(name=\"CUSTOMER_ID\")\n"
+"    Set<Order> orders;\n"
+"\n"
+"    // Getter/setter and business methods\n"
+"}]]>"
 msgstr ""
 
-#: index.docbook:2862
-msgid "Note that support for JDK 5.0 Annotations (and JSR-220) is still work in progress and not completed. Please refer to the Hibernate Annotations module for more details."
+#. Tag: para
+#: basic_mapping.xml:2862
+#, no-c-format
+msgid ""
+"Note that support for JDK 5.0 Annotations (and JSR-220) is still work in "
+"progress and not completed. Please refer to the Hibernate Annotations module "
+"for more details."
 msgstr ""
+"JDK 5.0 Annotations(그리고 JSR-220)에 대한 지원은 여전히 작업이 진행 중이고 "
+"완성되지 않았음을 노트하라. 상세한 것은 Hibernate Anotations를 참조하라."
 
-#: index.docbook:2871
+#. Tag: title
+#: basic_mapping.xml:2871
+#, no-c-format
 msgid "Generated Properties"
-msgstr ""
+msgstr "산출되는 프로퍼티들"
 
-#: index.docbook:2872
-msgid "Generated properties are properties which have their values generated by the database. Typically, Hibernate applications needed to <literal>refresh</literal> objects which contain any properties for which the database was generating values. Marking properties as generated, however, lets the application delegate this responsibility to Hibernate. Essentially, whenever Hibernate issues an SQL INSERT or UPDATE for an entity which has defined generated properties, it immediately issues a select afterwards to retrieve the generated values."
+#. Tag: para
+#: basic_mapping.xml:2872
+#, no-c-format
+msgid ""
+"Generated properties are properties which have their values generated by the "
+"database. Typically, Hibernate applications needed to <literal>refresh</"
+"literal> objects which contain any properties for which the database was "
+"generating values. Marking properties as generated, however, lets the "
+"application delegate this responsibility to Hibernate. Essentially, whenever "
+"Hibernate issues an SQL INSERT or UPDATE for an entity which has defined "
+"generated properties, it immediately issues a select afterwards to retrieve "
+"the generated values."
 msgstr ""
+"산출되는 프로퍼티들은 데이터베이스에 의해 산출되는 그것들의 값들을 갖는 프로"
+"퍼티들이다. 전형적으로, Hibernate 어플리케이션들은 데이터베이스가 값들을 생성"
+"시켰던 임의의 프로퍼티들을 포함하는 객체들을 <literal>갱신</literal>시킬 필요"
+"가 있었다.하지만 generated로 마크된 프로퍼티들은 어플리케이션으로 하여금 이 "
+"책임을 Hibernate에게 위임시키도록 한다. 본질적으로 Hibernate가 산출되는 프로"
+"퍼티들을 정의했던 엔티티에 대해 SQL INSERT 또는 UPDATE 명령을 내릴 때마다 바"
+"로 직후에 산출되는 값들을 검색하기 위해 하나의 select 명령을 내린다."
 
-#: index.docbook:2881
-msgid "Properties marked as generated must additionally be non-insertable and non-updateable. Only <xref linkend=\"mapping-declaration-version\"/>versions, <xref linkend=\"mapping-declaration-timestamp\"/>timestamps, and <xref linkend=\"mapping-declaration-property\"/>simple properties can be marked as generated."
+#. Tag: para
+#: basic_mapping.xml:2881
+#, no-c-format
+msgid ""
+"Properties marked as generated must additionally be non-insertable and non-"
+"updateable. Only <link linkend=\"mapping-declaration-version\">versions</"
+"link>, <link linkend=\"mapping-declaration-timestamp\">timestamps</link>, "
+"and <link linkend=\"mapping-declaration-property\">simple properties</link> "
+"can be marked as generated."
 msgstr ""
+"generated로 마크된 프로퍼티들은 부가적으로 inser 가능하지 않아야 하고 update "
+"불가능해야 한다. 오직 Properties marked as generated must additionally be "
+"non-insertable and non-updateable. <xref linkend=\"mapping-declaration-"
+"version\">versions</xref>, <xref linkend=\"mapping-declaration-timestamp"
+"\">timestamps</xref>, 그리고 <xref linkend=\"mapping-declaration-property\">"
+"단순 프로퍼티들</xref> 만이 generated로 마크될 수 있다."
 
-#: index.docbook:2888
-msgid "<literal>never</literal> (the default) - means that the given property value is not generated within the database."
+#. Tag: para
+#: basic_mapping.xml:2888
+#, no-c-format
+msgid ""
+"<literal>never</literal> (the default) - means that the given property value "
+"is not generated within the database."
 msgstr ""
+"<literal>never</literal> (디폴트) - 는 주어진 프로퍼티 값이 데이터베이스 내"
+"에 생성되지 않을 것임을 의미한다."
 
-#: index.docbook:2892
-msgid "<literal>insert</literal> - states that the given property value is generated on insert, but is not regenerated on subsequent updates. Things like created-date would fall into this category. Note that even thought <xref linkend=\"mapping-declaration-version\"/>version and <xref linkend=\"mapping-declaration-timestamp\"/>timestamp properties can be marked as generated, this option is not available there..."
+#. Tag: para
+#: basic_mapping.xml:2892
+#, no-c-format
+msgid ""
+"<literal>insert</literal> - states that the given property value is "
+"generated on insert, but is not regenerated on subsequent updates. Things "
+"like created-date would fall into this category. Note that even thought "
+"<link linkend=\"mapping-declaration-version\">version</link> and <link "
+"linkend=\"mapping-declaration-timestamp\">timestamp</link> properties can be "
+"marked as generated, this option is not available there..."
 msgstr ""
+"<literal>insert</literal> - 는 주어진 프로퍼티 값이 insert 시에 생성되지만, "
+"차후의 업데이트들에서 다시 생성되지 않을 것임을 기술한다. 생성-날짜와 같은 것"
+"들이 이 카테고리 내로 포함될 것이다. 비록 <xref linkend=\"mapping-"
+"declaration-version\">version</xref>ê³¼ <xref linkend=\"mapping-declaration-"
+"timestamp\">timestamp</xref> 프로퍼티들이 생성되는 것으로서 마크될 수 있을 지"
+"라도, 이 옵션은 거기서 이용 불가능함을 노트하라..."
 
-#: index.docbook:2900
-msgid "<literal>always</literal> - states that the property value is generated both on insert and on update."
+#. Tag: para
+#: basic_mapping.xml:2900
+#, no-c-format
+msgid ""
+"<literal>always</literal> - states that the property value is generated both "
+"on insert and on update."
 msgstr ""
+"<literal>always</literal> - 는 프로퍼티 값이 insert 시와 update 시 모두에 생"
+"성됨을 기술한다."
 
-#: index.docbook:2907
+#. Tag: title
+#: basic_mapping.xml:2907
+#, no-c-format
 msgid "Auxiliary Database Objects"
-msgstr ""
+msgstr "보조 데이터베이스 객체들"
 
-#: index.docbook:2908
-msgid "Allows CREATE and DROP of arbitrary database objects, in conjunction with Hibernate's schema evolution tools, to provide the ability to fully define a user schema within the Hibernate mapping files. Although designed specifically for creating and dropping things like triggers or stored procedures, really any SQL command that can be run via a <literal>java.sql.Statement.execute()</literal> method is valid here (ALTERs, INSERTS, etc). There are essentially two modes for defining auxiliary database objects..."
+#. Tag: para
+#: basic_mapping.xml:2908
+#, no-c-format
+msgid ""
+"Allows CREATE and DROP of arbitrary database objects, in conjunction with "
+"Hibernate's schema evolution tools, to provide the ability to fully define a "
+"user schema within the Hibernate mapping files. Although designed "
+"specifically for creating and dropping things like triggers or stored "
+"procedures, really any SQL command that can be run via a <literal>java.sql."
+"Statement.execute()</literal> method is valid here (ALTERs, INSERTS, etc). "
+"There are essentially two modes for defining auxiliary database objects..."
 msgstr ""
+"Hibernate 매핑 파일들 내에 사용자 스키마를 완전하게 정의하기 위한 능력을 제공"
+"하기 위해서, Hibernate의 스키마 방출 도구들과 함께 임의적인 데이터베이스 객체"
+"들에 대한 CREATE와 DROP을 허용해준다. 비록 트리거들 또는 내장 프로시저들과 같"
+"은 것들을 생성시키고 드롭시키기 이해 특별히 고안되었을지라도 하나의 "
+"<literal>java.sql.Statement.execute()</literal> 메소드를 통해 실행될 수 있는 "
+"SQL 명령이 여기서 유효하다(ALTERs, INSERTS, 기타). 보조 데0이터베이스 객체들"
+"을 정의하는 두 가지 모드들이 본질적으로 존재한다..."
 
-#: index.docbook:2917
-msgid "The first mode is to explicitly list the CREATE and DROP commands out in the mapping file:"
+#. Tag: para
+#: basic_mapping.xml:2917
+#, no-c-format
+msgid ""
+"The first mode is to explicitly list the CREATE and DROP commands out in the "
+"mapping file:"
 msgstr ""
+"첫 번째 모드는 매핑 파일 바깥에서 CREATE 및 DROP 명령들을 명시적으로 나열하"
+"는 것이다:"
 
-#: index.docbook:2921
+#. Tag: programlisting
+#: basic_mapping.xml:2921
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <create>CREATE TRIGGER my_trigger ...</create>\n"
-      "        <drop>DROP TRIGGER my_trigger</drop>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"    ...\n"
+"    <database-object>\n"
+"        <create>CREATE TRIGGER my_trigger ...</create>\n"
+"        <drop>DROP TRIGGER my_trigger</drop>\n"
+"    </database-object>\n"
+"</hibernate-mapping>]]>"
 msgstr ""
 
-#: index.docbook:2922
-msgid "The second mode is to supply a custom class which knows how to construct the CREATE and DROP commands. This custom class must implement the <literal>org.hibernate.mapping.AuxiliaryDatabaseObject</literal> interface."
+#. Tag: para
+#: basic_mapping.xml:2922
+#, no-c-format
+msgid ""
+"The second mode is to supply a custom class which knows how to construct the "
+"CREATE and DROP commands. This custom class must implement the <literal>org."
+"hibernate.mapping.AuxiliaryDatabaseObject</literal> interface."
 msgstr ""
+"두번째 모드는 CREATE 및 DROP 명령들을 생성시키는 방법을 알고 있는 하나의 맞"
+"춤 클래스를 제공하는 것이다. 이 맞춤 클래스는 <literal>org.hibernate.mapping."
+"AuxiliaryDatabaseObject</literal> 인터페이스를 구현해야 한다."
 
-#: index.docbook:2927
+#. Tag: programlisting
+#: basic_mapping.xml:2927
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <definition class=\"MyTriggerDefinition\"/>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"    ...\n"
+"    <database-object>\n"
+"        <definition class=\"MyTriggerDefinition\"/>\n"
+"    </database-object>\n"
+"</hibernate-mapping>]]>"
 msgstr ""
 
-#: index.docbook:2928
-msgid "Additionally, these database objects can be optionally scoped such that they only apply when certain dialects are used."
+#. Tag: para
+#: basic_mapping.xml:2928
+#, no-c-format
+msgid ""
+"Additionally, these database objects can be optionally scoped such that they "
+"only apply when certain dialects are used."
 msgstr ""
+"덧붙여 이들 데이터베이스 객체들은 어떤 dialect들이 사용될 때 그것들이 단지 적"
+"용될 수 있도록 선택적으로 변동될 수 있다."
 
-#: index.docbook:2932
+#. Tag: programlisting
+#: basic_mapping.xml:2932
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <definition class=\"MyTriggerDefinition\"/>\n"
-      "        <dialect-scope name=\"org.hibernate.dialect.Oracle9Dialect\"/>\n"
-      "        <dialect-scope name=\"org.hibernate.dialect.OracleDialect\"/>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"    ...\n"
+"    <database-object>\n"
+"        <definition class=\"MyTriggerDefinition\"/>\n"
+"        <dialect-scope name=\"org.hibernate.dialect.Oracle9Dialect\"/>\n"
+"        <dialect-scope name=\"org.hibernate.dialect.OracleDialect\"/>\n"
+"    </database-object>\n"
+"</hibernate-mapping>]]>"
 msgstr ""
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "class"
+#~ msgstr "class"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "id"
+#~ msgstr "id"
 
+#~ msgid ""
+#~ "<literal>optimizer</literal> (optional, defaults to <literal>none</"
+#~ "literal>): See <xref linkend=\"mapping-declaration-id-enhanced-optimizers"
+#~ "\"/>"
+#~ msgstr ""
+#~ "<literal>optimizer</literal> (optional, defaults to <literal>none</"
+#~ "literal>): See <xref linkend=\"mapping-declaration-id-enhanced-optimizers"
+#~ "\"/>"
+
+#~ msgid ""
+#~ "<literal>optimizer</literal> (optional, defaults to <literal/>): See "
+#~ "<xref linkend=\"mapping-declaration-id-enhanced-optimizers\"/>"
+#~ msgstr ""
+#~ "<literal>optimizer</literal> (optional, defaults to <literal/>): See "
+#~ "<xref linkend=\"mapping-declaration-id-enhanced-optimizers\"/>"
+
+#~ msgid "key"
+#~ msgstr "key"
+
+#~ msgid "any"
+#~ msgstr "any"

Modified: core/trunk/documentation/manual/translations/ko-KR/content/batch.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/batch.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/batch.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,374 +1,636 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: batch.xml:5
+#, no-c-format
 msgid "Batch processing"
 msgstr "Batch 처리"
 
-#: index.docbook:7
-msgid "A naive approach to inserting 100 000 rows in the database using Hibernate might look like this:"
-msgstr "Hibernate를 사용하여 데이터베이스 내에서 100 000 개의 행들을 삽입시키는 본래의 접근법은 다음과 같다:"
+#. Tag: para
+#: batch.xml:7
+#, no-c-format
+msgid ""
+"A naive approach to inserting 100 000 rows in the database using Hibernate "
+"might look like this:"
+msgstr ""
+"Hibernate를 사용하여 데이터베이스 내에서 100 000 개의 행들을 삽입시키는 본래"
+"의 접근법은 다음과 같다:"
 
-#: index.docbook:12
+#. Tag: programlisting
+#: batch.xml:12
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:14
-msgid "This would fall over with an <literal>OutOfMemoryException</literal> somewhere around the 50 000th row. That's because Hibernate caches all the newly inserted <literal>Customer</literal> instances in the session-level cache."
-msgstr "이것은 50 000번째 행 가까운 곳에서 <literal>OutOfMemoryException</literal>으로 떨어질 것이다. 그것은 Hibernate가 session-level 캐시 속에 모든 새로이 삽입된 <literal>Customer</literal> 인스턴스들을 캐시시키기 때문이다."
+#. Tag: para
+#: batch.xml:14
+#, no-c-format
+msgid ""
+"This would fall over with an <literal>OutOfMemoryException</literal> "
+"somewhere around the 50 000th row. That's because Hibernate caches all the "
+"newly inserted <literal>Customer</literal> instances in the session-level "
+"cache."
+msgstr ""
+"이것은 50 000번째 행 가까운 곳에서 <literal>OutOfMemoryException</literal>으"
+"로 떨어질 것이다. 그것은 Hibernate가 session-level 캐시 속에 모든 새로이 삽입"
+"된 <literal>Customer</literal> 인스턴스들을 캐시시키기 때문이다."
 
-#: index.docbook:20
-msgid "In this chapter we'll show you how to avoid this problem. First, however, if you are doing batch processing, it is absolutely critical that you enable the use of JDBC batching, if you intend to achieve reasonable performance. Set the JDBC batch size to a reasonable number (say, 10-50):"
-msgstr "이 장에서 우리는 이 문제를 피하는 방법을 당신에게 보여줄 것이다. 하지만 먼저 당신이 배치 처리를 행하는 중이라면, 당신이 적당한 퍼포먼스를 성취하려고 할 경우에 당신이 JDBC 배치 사용을 가능하게 하는 것은 절대적으로 필요하다. JDBC 배치 사이즈를 적당한 숫자(10-50)로 설정하라:"
+#. Tag: para
+#: batch.xml:20
+#, no-c-format
+msgid ""
+"In this chapter we'll show you how to avoid this problem. First, however, if "
+"you are doing batch processing, it is absolutely critical that you enable "
+"the use of JDBC batching, if you intend to achieve reasonable performance. "
+"Set the JDBC batch size to a reasonable number (say, 10-50):"
+msgstr ""
+"이 장에서 우리는 이 문제를 피하는 방법을 당신에게 보여줄 것이다. 하지만 먼저 "
+"당신이 배치 처리를 행하는 중이라면, 당신이 적당한 퍼포먼스를 성취하려고 할 경"
+"우에 당신이 JDBC 배치 사용을 가능하게 하는 것은 절대적으로 필요하다. JDBC 배"
+"치 사이즈를 적당한 숫자(10-50)로 설정하라:"
 
-#: index.docbook:27
+#. Tag: programlisting
+#: batch.xml:27
+#, no-c-format
 msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
-msgstr "<![CDATA[hibernate.jdbc.batch_size 20]]>"
+msgstr ""
 
-#: index.docbook:29
-msgid "Note that Hibernate disables insert batching at the JDBC level transparently if you use an <literal>identiy</literal> identifier generator."
-msgstr "만일 당신이 <literal>identiy</literal> 식별자 생성자를 사용할 경우 Hibernate가 JDBC 레벨에서 투명하게 insert 배치작업을 사용불가능하게 한다는 점을 노트하라."
+#. Tag: para
+#: batch.xml:29
+#, no-c-format
+msgid ""
+"Note that Hibernate disables insert batching at the JDBC level transparently "
+"if you use an <literal>identiy</literal> identifier generator."
+msgstr ""
+"만일 당신이 <literal>identiy</literal> 식별자 생성자를 사용할 경우 Hibernate"
+"가 JDBC 레벨에서 투명하게 insert 배치작업을 사용불가능하게 한다는 점을 노트하"
+"라."
 
-#: index.docbook:34
-msgid "You also might like to do this kind of work in a process where interaction with the second-level cache is completely disabled:"
-msgstr "당신은 또한 second-level 캐시를 가진 상호작용이 완전하게 불가능한 프로세스 내에서 이런 종류의 작업을 행하고 싶어할 수도 있다:"
+#. Tag: para
+#: batch.xml:34
+#, no-c-format
+msgid ""
+"You also might like to do this kind of work in a process where interaction "
+"with the second-level cache is completely disabled:"
+msgstr ""
+"당신은 또한 second-level 캐시를 가진 상호작용이 완전하게 불가능한 프로세스 내"
+"에서 이런 종류의 작업을 행하고 싶어할 수도 있다:"
 
-#: index.docbook:39
+#. Tag: programlisting
+#: batch.xml:39
+#, no-c-format
 msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
-msgstr "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
+msgstr ""
 
-#: index.docbook:41
-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 "하지만 이것은 절대적으로 필요하지 않다. 왜냐하면 우리는 second-level 캐시와의 상호작용을 불가능하도록 하기 위해 명시적으로 <literal>CacheMode</literal>를 설정할 수 있기 때문이다."
+#. Tag: para
+#: batch.xml:41
+#, 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 ""
+"하지만 이것은 절대적으로 필요하지 않다. 왜냐하면 우리는 second-level 캐시와"
+"의 상호작용을 불가능하도록 하기 위해 명시적으로 <literal>CacheMode</literal>"
+"를 설정할 수 있기 때문이다."
 
-#: index.docbook:47
+#. Tag: title
+#: batch.xml:47
+#, no-c-format
 msgid "Batch inserts"
 msgstr "Batch inserts"
 
-#: index.docbook:49
-msgid "When making new objects persistent, you must <literal>flush()</literal> and then <literal>clear()</literal> the session regularly, to control the size of the first-level cache."
-msgstr "새로운 객체들을 영속화 시킬 때, 당신은 first-level 캐시의 사이즈를 제어하기 위해 세션을 정기적으로 <literal>flush()</literal> 시키고 나서 <literal>clear()</literal> 시켜야 한다."
+#. Tag: para
+#: batch.xml:49
+#, no-c-format
+msgid ""
+"When making new objects persistent, you must <literal>flush()</literal> and "
+"then <literal>clear()</literal> the session regularly, to control the size "
+"of the first-level cache."
+msgstr ""
+"새로운 객체들을 영속화 시킬 때, 당신은 first-level 캐시의 사이즈를 제어하기 "
+"위해 세션을 정기적으로 <literal>flush()</literal> 시키고 나서 <literal>clear"
+"()</literal> 시켜야 한다."
 
-#: index.docbook:55
+#. Tag: programlisting
+#: batch.xml:55
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:60
+#. Tag: title
+#: batch.xml:60
+#, no-c-format
 msgid "Batch updates"
 msgstr "Batch updates"
 
-#: index.docbook:62
-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 "데이터 검색과 업데이트의 경우 동일한 개념들이 적용된다. 게다가 당신은 많은 데이터 행들을 반환하는 질의들에 대해 서버-측 커서들의 장점을 취하는데 <literal>scroll()</literal>을 사용할 필요가 있다."
+#. Tag: para
+#: batch.xml:62
+#, 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 ""
+"데이터 검색과 업데이트의 경우 동일한 개념들이 적용된다. 게다가 당신은 많은 데"
+"이터 행들을 반환하는 질의들에 대해 서버-측 커서들의 장점을 취하는데 "
+"<literal>scroll()</literal>을 사용할 필요가 있다."
 
-#: index.docbook:68
+#. Tag: programlisting
+#: batch.xml:68
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:73
+#. Tag: title
+#: batch.xml:73
+#, no-c-format
 msgid "The StatelessSession interface"
 msgstr "StatelessSession 인터페이스"
 
-#: index.docbook:74
-msgid "Alternatively, Hibernate provides a command-oriented API that may 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 do not ever cascade to associated instances. Collections are ignored by a stateless session. Operations performed via a stateless session bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable to data aliasing effects, due to the lack of a first-level cache. A stateless session is a lower-level abstraction, much closer to the underlying JDBC."
-msgstr "다른 방법으로 Hibernate는 분리된(detached) 객체들의 형식으로 데이터베이스로 그리고 데이터베이스로부터 데이터를 스트리밍하는데 사용될 수 있는 하나의 명령 지향 API를 제공한다. <literal>StatelessSession</literal>은 그것과 연관된 영속 컨텍스트를 갖지 ì•Šê³  많은 보다 높은 레벨의 생명 주기 의미를 제공하지 않는다. 특히 하나의 상태 없는 세션은 첫 번째 레벨 캐시를 구현하지 않거나 임의의 두 번째 레벨 캐시 또는 질의 캐시와 상호작용하지 않는다. 그것은 전통적인 쓰기-이면(write-behind)의 체킹이나 자동적인 dirty 체킹을 구현하지 않는다. 하나의 상태 없는 세션을 사용하여 수행된 연산들은 연관된 인스턴스들에 대해 케스케이드 되지 않는다. 콜렉션들은 상태 없는 세션에 의해 무시된다. 상태없는 세션을 통해 수행된 연산들은 Hibernateì!
 ˜ 이벤트 모형과 인터셉터들을 우회한다. 상태없는 세션들은 첫번째-레벨의 캐시의 부족으로 인해 데이터 alias 효과들에 취약하다. 상태없는 세션은 기본 JDBC에 훨씬 더 가까운 하나의 보다 낮은 레벨의 추상화(abstraction)이다."
+#. Tag: para
+#: batch.xml:74
+#, no-c-format
+msgid ""
+"Alternatively, Hibernate provides a command-oriented API that may 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 do not ever cascade to associated instances. "
+"Collections are ignored by a stateless session. Operations performed via a "
+"stateless session bypass Hibernate's event model and interceptors. Stateless "
+"sessions are vulnerable to data aliasing effects, due to the lack of a first-"
+"level cache. A stateless session is a lower-level abstraction, much closer "
+"to the underlying JDBC."
+msgstr ""
+"다른 방법으로 Hibernate는 분리된(detached) 객체들의 형식으로 데이터베이스로 "
+"그리고 데이터베이스로부터 데이터를 스트리밍하는데 사용될 수 있는 하나의 명령 "
+"지향 API를 제공한다. <literal>StatelessSession</literal>은 그것과 연관된 영"
+"속 컨텍스트를 갖지 않고 많은 보다 높은 레벨의 생명 주기 의미를 제공하지 않는"
+"다. 특히 하나의 상태 없는 세션은 첫 번째 레벨 캐시를 구현하지 않거나 임의의 "
+"두 번째 레벨 캐시 또는 질의 캐시와 상호작용하지 않는다. 그것은 전통적인 쓰기-"
+"이면(write-behind)의 체킹이나 자동적인 dirty 체킹을 구현하지 않는다. 하나의 "
+"상태 없는 세션을 사용하여 수행된 연산들은 연관된 인스턴스들에 대해 케스케이"
+"드 되지 않는다. 콜렉션들은 상태 없는 세션에 의해 무시된다. 상태없는 세션을 통"
+"해 수행된 연산들은 Hibernate의 이벤트 모형과 인터셉터들을 우회한다. 상태없는 "
+"세션들은 첫번째-레벨의 캐시의 부족으로 인해 데이터 alias 효과들에 취약하다. "
+"상태없는 세션은 기본 JDBC에 훨씬 더 가까운 하나의 보다 낮은 레벨의 추상화"
+"(abstraction)이다."
 
-#: index.docbook:89
+#. Tag: programlisting
+#: batch.xml:89
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:91
-msgid "Note that 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 "이 코드 예제에서, 질의에 의해 반환된 <literal>Customer</literal> 인스턴스들은 곧바고 분리된다(detached). 그것들은 임의의 영속 컨텍스트와 결코 연관되지 않는다."
+#. Tag: para
+#: batch.xml:91
+#, no-c-format
+msgid ""
+"Note that 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 ""
+"이 코드 예제에서, 질의에 의해 반환된 <literal>Customer</literal> 인스턴스들"
+"은 곧바고 분리된다(detached). 그것들은 임의의 영속 컨텍스트와 결코 연관되지 "
+"않는다."
 
-#: index.docbook:97
-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, which result in immediate execution of a SQL <literal>INSERT, UPDATE</literal> or <literal>DELETE</literal> respectively. Thus, they have very different semantics to the <literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> operations defined by the <literal>Session</literal> interface."
-msgstr "<literal>StatelessSession</literal> 인터페이스에 의해 정의된 <literal>insert(), update()</literal> 그리고 <literal>delete()</literal> 연산들은 직접적인 데이터베이스 저급 연산들로 갖주되고, 그것은 각각 하나의 SQL <literal>INSERT, UPDATE</literal> 또는 <literal>DELETE</literal>의 즉각적인 실행으로 귀결된다. 따라서 그것들은 <literal>Session</literal> 인터페이스에 의해 정의된 <literal>save(), saveOrUpdate()</literal>와 <literal>delete()</literal> 연산들과는 매우 다른 의미들을 갖는다."
+#. Tag: para
+#: batch.xml:97
+#, 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, which result in "
+"immediate execution of a SQL <literal>INSERT, UPDATE</literal> or "
+"<literal>DELETE</literal> respectively. Thus, they have very different "
+"semantics to the <literal>save(), saveOrUpdate()</literal> and "
+"<literal>delete()</literal> operations defined by the <literal>Session</"
+"literal> interface."
+msgstr ""
+"<literal>StatelessSession</literal> 인터페이스에 의해 정의된 <literal>insert"
+"(), update()</literal> 그리고 <literal>delete()</literal> 연산들은 직접적인 "
+"데이터베이스 저급 연산들로 갖주되고, 그것은 각각 하나의 SQL <literal>INSERT, "
+"UPDATE</literal> 또는 <literal>DELETE</literal>의 즉각적인 실행으로 귀결된"
+"다. 따라서 그것들은 <literal>Session</literal> 인터페이스에 의해 정의된 "
+"<literal>save(), saveOrUpdate()</literal>와 <literal>delete()</literal> 연산"
+"들과는 매우 다른 의미들을 갖는다."
 
-#: index.docbook:110
+#. Tag: title
+#: batch.xml:110
+#, no-c-format
 msgid "DML-style operations"
 msgstr "DML-스타일 연산들"
 
-#: index.docbook:112
-msgid "As already discussed, automatic and transparent object/relational mapping is concerned with the management of object state. This implies that the object state is available in memory, hence manipulating (using the SQL <literal>Data Manipulation Language</literal> (DML) statements: <literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>) data directly in the database will not affect in-memory state. However, Hibernate provides methods for bulk SQL-style DML statement execution which are performed through the Hibernate Query Language (<xref linkend=\"queryhql\"/>HQL)."
-msgstr "이미 논의했듯이, 자동적이고 투명한 객체/관계형 매핑은 객체 상태에 대한 관리에 관계된다. 이것은 객체 상태가 메모리 내에서 이용 가능함을 의미하므로, (SQL <literal>Data Manipulation Language</literal>(DML) 문장들 : <literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>를 사용하여) 데이터베이스에서 직접 데이터를 업데이트하거나 삭제하는 것은 메모리 내 상태에 영향을 주지 않을 것이다. 하지만 Hibernate는 Hibernate Query Language (<xref linkend=\"queryhql\"/>HQL)를 통해 실행되는 대량 SQL-스타일의 DML 문장 실행을 위한 메소드들을 제공한다."
+#. Tag: para
+#: batch.xml:112
+#, no-c-format
+msgid ""
+"As already discussed, automatic and transparent object/relational mapping is "
+"concerned with the management of object state. This implies that the object "
+"state is available in memory, hence manipulating (using the SQL "
+"<literal>Data Manipulation Language</literal> (DML) statements: "
+"<literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</"
+"literal>) data directly in the database will not affect in-memory state. "
+"However, Hibernate provides methods for bulk SQL-style DML statement "
+"execution which are performed through the Hibernate Query Language (<link "
+"linkend=\"queryhql\">HQL</link>)."
+msgstr ""
+"이미 논의했듯이, 자동적이고 투명한 객체/관계형 매핑은 객체 상태에 대한 관리"
+"에 관계된다. 이것은 객체 상태가 메모리 내에서 이용 가능함을 의미하므로, (SQL "
+"<literal>Data Manipulation Language</literal>(DML) 문장들 : <literal>INSERT</"
+"literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>를 사용하여) 데"
+"이터베이스에서 직접 데이터를 업데이트하거나 삭제하는 것은 메모리 내 상태에 영"
+"향을 주지 않을 것이다. 하지만 Hibernate는 Hibernate Query Language (<xref "
+"linkend=\"queryhql\">HQL</xref>)를 통해 실행되는 대량 SQL-스타일의 DML 문장 "
+"실행을 위한 메소드들을 제공한다."
 
-#: index.docbook:122
-msgid "The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE where_conditions)?</literal>. Some points to note:"
-msgstr "<literal>UPDATE</literal>와 <literal>DELETE</literal> 문장들에 대한 유사 구문은 다음과 같다: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE where_conditions)?</literal>. 노트할 몇 가지:"
+#. Tag: para
+#: batch.xml:122
+#, 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>. Some points to note:"
+msgstr ""
+"<literal>UPDATE</literal>와 <literal>DELETE</literal> 문장들에 대한 유사 구문"
+"은 다음과 같다: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
+"where_conditions)?</literal>. 노트할 몇 가지:"
 
-#: index.docbook:130
+#. Tag: para
+#: batch.xml:130
+#, no-c-format
 msgid "In the from-clause, the FROM keyword is optional"
 msgstr "from-절에서, FROM 키워드는 옵션이다"
 
-#: index.docbook:135
-msgid "There can only be a single entity named in the from-clause; it can optionally 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 "from-절 내에 한 개의 명명된 엔티티가 오직 존재할 수 있다; 그것은 선택적으로 alias될 수 있다. 만일 엔티티 이름이 alias되면, 그때 임의의 프로퍼티 참조들은 그 alias를 사용하여 수식되어야 한다; 만일 엔티티 이름이 alias되지 않을 경우, 임의의 프로퍼티 참조들에 대해 수식되는 것은 규칙에 어긋난다."
+#. Tag: para
+#: batch.xml:135
+#, no-c-format
+msgid ""
+"There can only be a single entity named in the from-clause; it can "
+"optionally 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 ""
+"from-절 내에 한 개의 명명된 엔티티가 오직 존재할 수 있다; 그것은 선택적으로 "
+"alias될 수 있다. 만일 엔티티 이름이 alias되면, 그때 임의의 프로퍼티 참조들은 "
+"그 alias를 사용하여 수식되어야 한다; 만일 엔티티 이름이 alias되지 않을 경우, "
+"임의의 프로퍼티 참조들에 대해 수식되는 것은 규칙에 어긋난다."
 
-#: index.docbook:143
-msgid "No <xref linkend=\"queryhql-joins-forms\"/>joins (either implicit or explicit) can be specified in a bulk HQL query. Sub-queries may be used in the where-clause; the subqueries, themselves, may contain joins."
-msgstr "join들은 (함축적이든 명시적이든) 대량 HQL 질의 속에 지정될 수 없다. 서브-질의들이 where-절에 사용될 수 있다; 서브질의들 그 자신들은 조인들을 포함할 수 있다."
+#. Tag: para
+#: batch.xml:143
+#, 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 may be used in "
+"the where-clause; the subqueries, themselves, may contain joins."
+msgstr ""
+"<xref linkend=\"queryhql-joins-forms\">join들</xref>은 (함축적이든 명시적이"
+"든) 대량 HQL 질의 속에 지정될 수 없다. 서브-질의들이 where-절에 사용될 수 있"
+"다; 서브질의들 그 자신들은 조인들을 포함할 수 있다."
 
-#: index.docbook:150
+#. Tag: para
+#: batch.xml:150
+#, no-c-format
 msgid "The where-clause is also optional."
 msgstr "where-절 또한 옵션이다."
 
-#: index.docbook:156
-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 "하나의 예제로서, 한 개의 HQL <literal>UPDATE</literal>를 실행하기 위해, <literal>Query.executeUpdate()</literal> 메소드(이 메소드는 JDBC의 <literal>PreparedStatement.executeUpdate()</literal>와 유사하게 명명된다)를 사용하라:"
+#. Tag: para
+#: batch.xml:156
+#, 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 ""
+"하나의 예제로서, 한 개의 HQL <literal>UPDATE</literal>를 실행하기 위해, "
+"<literal>Query.executeUpdate()</literal> 메소드(이 메소드는 JDBC의 "
+"<literal>PreparedStatement.executeUpdate()</literal>와 유사하게 명명된다)를 "
+"사용하라:"
 
-#: index.docbook:162
+#. Tag: programlisting
+#: batch.xml:162
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:164
-msgid "HQL <literal>UPDATE</literal> statements, by default do not effect the <xref linkend=\"mapping-declaration-version\"/>version or the <xref linkend=\"mapping-declaration-timestamp\"/>timestamp property values for the affected entities; this is in keeping with the EJB3 specification. However, you can force Hibernate to properly 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> 문장들은 디폴트로 영향받는 엔티티들에 대한 <xref linkend=\"mapping-declaration-version\"/>version 또는 <xref linkend=\"mapping-declaration-timestamp\"/>timestamp 프로퍼티 값들에 영향을 주지 않는다; 이것은 EJB3 명세서에서 유지되고 있다. 하지만 당신은 하이버네이트로 하여금 <literal>versioned update</literal>의 사용을 통해 <literal>version</literal> 또는 <literal>timestamp</literal> 프로퍼티 값들을 적절하게 재설정하도록 강제할 수 있다. 이것은 <literal>UPDATE</literal> 키워드 뒤에 <literal>VERSIONED</literal> 키워드를 추가시켜서 성취된다."
+#. Tag: para
+#: batch.xml:164
+#, no-c-format
+msgid ""
+"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; this is in keeping with the EJB3 specification. However, "
+"you can force Hibernate to properly 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> 문장들은 디폴트로 영향받는 엔티티들에 대한 "
+"<xref linkend=\"mapping-declaration-version\">version</xref> 또는 <xref "
+"linkend=\"mapping-declaration-timestamp\">timestamp</xref> 프로퍼티 값들에 영"
+"향을 주지 않는다; 이것은 EJB3 명세서에서 유지되고 있다. 하지만 당신은 하이버"
+"네이트로 하여금 <literal>versioned update</literal>의 사용을 통해 "
+"<literal>version</literal> 또는 <literal>timestamp</literal> 프로퍼티 값들을 "
+"적절하게 재설정하도록 강제할 수 있다. 이것은 <literal>UPDATE</literal> 키워"
+"드 뒤에 <literal>VERSIONED</literal> 키워드를 추가시켜서 성취된다."
 
-#: index.docbook:174
+#. Tag: programlisting
+#: batch.xml:174
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:176
-msgid "Note that custom version types (<literal>org.hibernate.usertype.UserVersionType</literal>) are not allowed in conjunction with a <literal>update versioned</literal> statement."
-msgstr "맞춤형 version 타입들(<literal>org.hibernate.usertype.UserVersionType</literal>)은 <literal>update versioned</literal> 문장과 함께 사용하는 것이 허용되지 않음을 노트하라."
+#. Tag: para
+#: batch.xml:176
+#, no-c-format
+msgid ""
+"Note that custom version types (<literal>org.hibernate.usertype."
+"UserVersionType</literal>) are not allowed in conjunction with a "
+"<literal>update versioned</literal> statement."
+msgstr ""
+"맞춤형 version 타입들(<literal>org.hibernate.usertype.UserVersionType</"
+"literal>)은 <literal>update versioned</literal> 문장과 함께 사용하는 것이 허"
+"용되지 않음을 노트하라."
 
-#: index.docbook:181
-msgid "To execute an HQL <literal>DELETE</literal>, use the same <literal>Query.executeUpdate()</literal> method:"
-msgstr "HQL <literal>DELETE</literal>를 실행하려면, 같은 메소드 <literal>Query.executeUpdate()</literal>를 사용하라:"
+#. Tag: para
+#: batch.xml:181
+#, no-c-format
+msgid ""
+"To execute an HQL <literal>DELETE</literal>, use the same <literal>Query."
+"executeUpdate()</literal> method:"
+msgstr ""
+"HQL <literal>DELETE</literal>를 실행하려면, 같은 메소드 <literal>Query."
+"executeUpdate()</literal>를 사용하라:"
 
-#: index.docbook:186
+#. Tag: programlisting
+#: batch.xml:186
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:188
-msgid "The <literal>int</literal> value returned by the <literal>Query.executeUpdate()</literal> method indicate the number of entities effected by the operation. Consider 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 inheritence hierarchy."
-msgstr "<literal>Query.executeUpdate()</literal> 메소드에 의해 반환되는 <literal>int</literal> 값은 그 오퍼레이션에 의해 영향받은 엔티티들의 개수를 나타낸다. 이것이 데이터베이스 내에서 영향받은 행들의 개수와 상관이 있는지 없는지 여부를 살펴보자. HQL 대량 오퍼레이션은 예를 들어 joined-subclass의 경우에 실행 중인 여러 개의 실제 SQL 문장들로 귀결될 수 있다. 반환되는 숫자는 그 문장에 의해 영향받은 실제 엔티티들의 개수를 나타낸다. joined-subclass 예제로 되돌아가면, 서브 클래스들 중 하나에 대한 삭제는 단지 그 서브클래스가 매핑되어 있는 테이블에 대한 삭제 뿐만 아니라 또한 \"루트\" 테이블과 상속 계층에서 더 내려온 잠정적으로 조인된-서브클래스 테이블들에 대한 삭제들로 귀결될 수 있다."
+#. Tag: para
+#: batch.xml:188
+#, no-c-format
+msgid ""
+"The <literal>int</literal> value returned by the <literal>Query.executeUpdate"
+"()</literal> method indicate the number of entities effected by the "
+"operation. Consider 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 inheritence hierarchy."
+msgstr ""
+"<literal>Query.executeUpdate()</literal> 메소드에 의해 반환되는 "
+"<literal>int</literal> 값은 그 오퍼레이션에 의해 영향받은 엔티티들의 개수를 "
+"나타낸다. 이것이 데이터베이스 내에서 영향받은 행들의 개수와 상관이 있는지 없"
+"는지 여부를 살펴보자. HQL 대량 오퍼레이션은 예를 들어 joined-subclass의 경우"
+"에 실행 중인 여러 개의 실제 SQL 문장들로 귀결될 수 있다. 반환되는 숫자는 그 "
+"문장에 의해 영향받은 실제 엔티티들의 개수를 나타낸다. joined-subclass 예제로 "
+"되돌아가면, 서브 클래스들 중 하나에 대한 삭제는 단지 그 서브클래스가 매핑되"
+"어 있는 테이블에 대한 삭제 뿐만 아니라 또한 \"루트\" 테이블과 상속 계층에서 "
+"더 내려온 잠정적으로 조인된-서브클래스 테이블들에 대한 삭제들로 귀결될 수 있"
+"다."
 
-#: index.docbook:199
-msgid "The pseudo-syntax for <literal>INSERT</literal> statements is: <literal>INSERT INTO EntityName properties_list select_statement</literal>. Some points to note:"
-msgstr "장래의 배포본들에서 전달될 대량 HQL 오퍼레이션들에 대한 몇 가지 제한들이 현재 존재함을 노트하라; 상세한 것은 JIRA 로드맵을 참조하라. <literal>INSERT</literal> 문장들을 위한 유사-구문은 다음과 같다: <literal>INSERT INTO EntityName properties_list select_statement</literal>. 노트할 몇 가지:"
+#. Tag: para
+#: batch.xml:199
+#, 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 ""
+"장래의 배포본들에서 전달될 대량 HQL 오퍼레이션들에 대한 몇 가지 제한들이 현"
+"재 존재함을 노트하라; 상세한 것은 JIRA 로드맵을 참조하라. <literal>INSERT</"
+"literal> 문장들을 위한 유사-구문은 다음과 같다: <literal>INSERT INTO "
+"EntityName properties_list select_statement</literal>. 노트할 몇 가지:"
 
-#: index.docbook:207
-msgid "Only the INSERT INTO ... SELECT ... form is supported; not the INSERT INTO ... VALUES ... form."
-msgstr "오직 INSERT INTO ... SELECT ... 형식 만일 지원된다; INSERT INTO ... VALUES ... 형식은 지원되지 않는다."
+#. Tag: para
+#: batch.xml:207
+#, no-c-format
+msgid ""
+"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
+"INTO ... VALUES ... form."
+msgstr ""
+"오직 INSERT INTO ... SELECT ... 형식 만일 지원된다; INSERT INTO ... "
+"VALUES ... 형식은 지원되지 않는다."
 
-#: index.docbook:210
-msgid "The properties_list is analogous to the <literal>column speficiation</literal> in the SQL <literal>INSERT</literal> statement. For entities involved in mapped inheritence, 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 "properties_list는 SQL <literal>INSERT</literal> 내에서 <literal>column speficiation</literal>과 유사하다. 매핑된 상속에 참여하는 엔티티들의 경우, 그 주어진 클래스-레벨 상에 직접 정의된 프로퍼티들 만이 properties_list에 사용될 수 있다. 슈퍼클래스 프로퍼티들은 허용되지 않는다; 그리고 서브클래스 프로퍼티들은 의미가 없다. 달리 말해 <literal>INSERT</literal> 문장들은 본래적으로 다형적이지 않다."
+#. Tag: para
+#: batch.xml:210
+#, no-c-format
+msgid ""
+"The properties_list is analogous to the <literal>column speficiation</"
+"literal> in the SQL <literal>INSERT</literal> statement. For entities "
+"involved in mapped inheritence, 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 ""
+"properties_list는 SQL <literal>INSERT</literal> 내에서 <literal>column "
+"speficiation</literal>과 유사하다. 매핑된 상속에 참여하는 엔티티들의 경우, "
+"그 주어진 클래스-레벨 상에 직접 정의된 프로퍼티들 만이 properties_list에 사용"
+"될 수 있다. 슈퍼클래스 프로퍼티들은 허용되지 않는다; 그리고 서브클래스 프로퍼"
+"티들은 의미가 없다. 달리 말해 <literal>INSERT</literal> 문장들은 본래적으로 "
+"다형적이지 않다."
 
-#: index.docbook:220
-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. Note however that this might 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 "select_statement는 반환 타입들이 insert에 의해 기대되는 타입들과 일치해야 한다는 단서 하에 임의의 유효한 HQL select 질의일 수 있다. 현재 이것은 체크를 데이터베이스로 이관시키는 것을 허용하기 보다는 질의 컴파일 동안에 체크된다. 하지만 이것은 <emphasis>equal</emphasis>과는 대조적으로 <emphasis>등가인(equivalent)</emphasis> Hibernate <literal>Type</literal>들 사이에서 문제점들을 일으킬 수도 있음을 노트하라. 비록 데이터베이스가 구별짓지 않을 수 있거나 변환을 처리할 수 있을 지라도, 이것은 <literal>org.hibernate.type.DateType</literal>로서 정의된 프로퍼티와 <literal>org.hibernate.type.TimestampType</literal>으로 정의된 프로퍼티 사이에 불일치 쟁점들을 일으킨다."
+#. Tag: para
+#: batch.xml:220
+#, 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. Note however that this might 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 ""
+"select_statement는 반환 타입들이 insert에 의해 기대되는 타입들과 일치해야 한"
+"다는 단서 하에 임의의 유효한 HQL select 질의일 수 있다. 현재 이것은 체크를 데"
+"이터베이스로 이관시키는 것을 허용하기 보다는 질의 컴파일 동안에 체크된다. 하"
+"지만 이것은 <emphasis>equal</emphasis>과는 대조적으로 <emphasis>등가인"
+"(equivalent)</emphasis> Hibernate <literal>Type</literal>들 사이에서 문제점들"
+"을 일으킬 수도 있음을 노트하라. 비록 데이터베이스가 구별짓지 않을 수 있거나 "
+"변환을 처리할 수 있을 지라도, 이것은 <literal>org.hibernate.type.DateType</"
+"literal>로서 정의된 프로퍼티와 <literal>org.hibernate.type.TimestampType</"
+"literal>으로 정의된 프로퍼티 사이에 불일치 쟁점들을 일으킨다."
 
-#: index.docbook:232
-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 later 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. Note that for the purposes of this discussion, in-database generators are considered to be <literal>org.hibernate.id.SequenceGenerator</literal> (and its subclasses) and any implementors 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 "id 프로퍼티의 경우, insert 문장은 당신에게 두 개의 옵션을 준다. 당신은 properties_list 내에 id 프로퍼티를 명시적으로 지정할 수 있거나(그것의 값이 대응하는 select 표현식으로부터 얻어진 경우) 또는 properties_list에서 그것을 생략할 수도 있다 (산출된 값이 사용되는 경우). 이 후자의 옵션은 데이터베이스 내에서 연산되는 id 연산자들을 사용할 때에만 이용 가능하다; 임의의 \"메모리 ë‚´\" 타입 연산자들과 함께 이 옵션을 사용하려고 시도하는 것은 파싱 동안에 예외상황을 일으킬 것이다. 이 논의의 목적 상, 데이터베이스 ë‚´ 산출자(generator)들은 <literal>org.hibernate.id.SequenceGenerator</literal> (그리고 그것의 서브클래스들) 그리고 임의의 <literal>org.hibernate.id.PostInsertIdentifierGenerator</literal>의 구현자들이라고 간주됨을 노트하라. 여기서 가장 주목í•!
   만한 예외상황은 그것이 그것의 값들을 얻기 위한 select 가능한 방법을 노출시키지 않기 때문ㅇ에 사용될 수 없는 <literal>org.hibernate.id.TableHiLoGenerator</literal>이다."
+#. Tag: para
+#: batch.xml:232
+#, 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 "
+"later 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. Note that for the "
+"purposes of this discussion, in-database generators are considered to be "
+"<literal>org.hibernate.id.SequenceGenerator</literal> (and its subclasses) "
+"and any implementors 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 ""
+"id 프로퍼티의 경우, insert 문장은 당신에게 두 개의 옵션을 준다. 당신은 "
+"properties_list 내에 id 프로퍼티를 명시적으로 지정할 수 있거나(그것의 값이 대"
+"응하는 select 표현식으로부터 얻어진 경우) 또는 properties_list에서 그것을 생"
+"략할 수도 있다 (산출된 값이 사용되는 경우). 이 후자의 옵션은 데이터베이스 내"
+"에서 연산되는 id 연산자들을 사용할 때에만 이용 가능하다; 임의의 \"메모리 내"
+"\" 타입 연산자들과 함께 이 옵션을 사용하려고 시도하는 것은 파싱 동안에 예외상"
+"황을 일으킬 것이다. 이 논의의 목적 상, 데이터베이스 내 산출자(generator)들은 "
+"<literal>org.hibernate.id.SequenceGenerator</literal> (그리고 그것의 서브클래"
+"스들) 그리고 임의의 <literal>org.hibernate.id.PostInsertIdentifierGenerator</"
+"literal>의 구현자들이라고 간주됨을 노트하라. 여기서 가장 주목할 만한 예외상황"
+"은 그것이 그것의 값들을 얻기 위한 select 가능한 방법을 노출시키지 않기 때문ㅇ"
+"에 사용될 수 없는 <literal>org.hibernate.id.TableHiLoGenerator</literal>이다."
 
-#: index.docbook:247
-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 "<literal>version</literal> 또는 <literal>timestamp</literal>로서 매핑된 프로퍼티들의 경우에, insert 문장은 당신에게 두 개의 옵션들을 준다. 당신은 properties_list 내에 그 프로퍼티를 지정할 수 있거나 (그 것의 값이 대응하는 select 표현식으로부터 얻어진 경우) 또는 properties_list에서 그것을 생략할 수 있다 (<literal>org.hibernate.type.VersionType</literal>에 의해 정의된 <literal>seed value</literal> 값이 사용되는 경우)."
+#. Tag: para
+#: batch.xml:247
+#, 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 ""
+"<literal>version</literal> 또는 <literal>timestamp</literal>로서 매핑된 프로"
+"퍼티들의 경우에, insert 문장은 당신에게 두 개의 옵션들을 준다. 당신은 "
+"properties_list 내에 그 프로퍼티를 지정할 수 있거나 (그 것의 값이 대응하는 "
+"select 표현식으로부터 얻어진 경우) 또는 properties_list에서 그것을 생략할 수 "
+"있다 (<literal>org.hibernate.type.VersionType</literal>에 의해 정의된 "
+"<literal>seed value</literal> 값이 사용되는 경우)."
 
-#: index.docbook:257
+#. Tag: para
+#: batch.xml:257
+#, no-c-format
 msgid "An example HQL <literal>INSERT</literal> statement execution:"
 msgstr "예제 HQL <literal>INSERT</literal> 문장 실행:"
 
-#: index.docbook:261
+#. Tag: programlisting
+#: batch.xml:261
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/ko-KR/content/best_practices.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/best_practices.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/best_practices.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,168 +1,452 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: best_practices.xml:5
+#, no-c-format
 msgid "Best Practices"
 msgstr "최상의 실전 경험들"
 
-#: index.docbook:9
-msgid "Write fine-grained classes and map them using <literal>&lt;component&gt;</literal>."
-msgstr "fine-grained 클래스들을 작성하고 <literal>&lt;component&gt;</literal>를 사용하여 그것들을 매핑하라."
+#. Tag: term
+#: best_practices.xml:9
+#, no-c-format
+msgid ""
+"Write fine-grained classes and map them using <literal>&lt;component&gt;</"
+"literal>."
+msgstr ""
+"fine-grained 클래스들을 작성하고 <literal>&lt;component&gt;</literal>를 사용"
+"하여 그것들을 매핑하라."
 
-#: index.docbook:11
-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 "<literal>street</literal>, <literal>suburb</literal>, <literal>state</literal>, <literal>postcode</literal>를 캡슐화 시키는데 <literal>Address</literal> 클래스를 사용하라. 이것은 코드 재사용성을 촉진시키고 리팩토링을 단순화 시킨다."
+#. Tag: para
+#: best_practices.xml:11
+#, 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 ""
+"<literal>street</literal>, <literal>suburb</literal>, <literal>state</"
+"literal>, <literal>postcode</literal>를 캡슐화 시키는데 <literal>Address</"
+"literal> 클래스를 사용하라. 이것은 코드 재사용성을 촉진시키고 리팩토링을 단순"
+"화 시킨다."
 
-#: index.docbook:19
+#. Tag: term
+#: best_practices.xml:19
+#, no-c-format
 msgid "Declare identifier properties on persistent classes."
 msgstr "영속 클래스들에 대해 식별자 프로퍼티들을 선언하라."
 
-#: index.docbook:21
-msgid "Hibernate makes identifier properties optional. There are all sorts of reasons why you should use them. We recommend that identifiers be 'synthetic' (generated, with no business meaning)."
-msgstr "Hibernate는 식별자 프로퍼티들을 옵션으로 만든다. 왜 우리가 그것들을 사용해야 하는가에 대한 모든 종류의 이유들이 존재한다. 우리는 식별자들이 '합성(synthetic)'이 되는(비지니스 의미 없이 생성되는) 것을 권장한다."
+#. Tag: para
+#: best_practices.xml:21
+#, no-c-format
+msgid ""
+"Hibernate makes identifier properties optional. There are all sorts of "
+"reasons why you should use them. We recommend that identifiers be "
+"'synthetic' (generated, with no business meaning)."
+msgstr ""
+"Hibernate는 식별자 프로퍼티들을 옵션으로 만든다. 왜 우리가 그것들을 사용해야 "
+"하는가에 대한 모든 종류의 이유들이 존재한다. 우리는 식별자들이 '합성"
+"(synthetic)'이 되는(비지니스 의미 없이 생성되는) 것을 권장한다."
 
-#: index.docbook:29
+#. Tag: term
+#: best_practices.xml:29
+#, no-c-format
 msgid "Identify natural keys."
 msgstr "고유 키들을 식별하라."
 
-#: index.docbook:31
-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 "모든 엔티티들에 대해 고유 키들을 식별하고, <literal>&lt;natural-id&gt;</literal>를 사용하여 그것들을 매핑하라. 고유 키를 구성하는 프로퍼티들을 비교하기 위해 <literal>equals()</literal>와 <literal>hashCode()</literal>를 구현하라."
+#. Tag: para
+#: best_practices.xml:31
+#, 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 ""
+"모든 엔티티들에 대해 고유 키들을 식별하고, <literal>&lt;natural-id&gt;</"
+"literal>를 사용하여 그것들을 매핑하라. 고유 키를 구성하는 프로퍼티들을 비교하"
+"기 위해 <literal>equals()</literal>와 <literal>hashCode()</literal>를 구현하"
+"라."
 
-#: index.docbook:39
+#. Tag: term
+#: best_practices.xml:39
+#, no-c-format
 msgid "Place each class mapping in its own file."
 msgstr "각각의 클래스 매핑을 그것 자신의 파일 내에 위치지워라."
 
-#: index.docbook:41
-msgid "Don't use a single monolithic mapping document. Map <literal>com.eg.Foo</literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes particularly good sense in a team environment."
-msgstr "하나의 한덩어리 매핑 문서를 사용하지 말라. <literal>com/eg/Foo.hbm.xml</literal> 파일 속에 <literal>com.eg.Foo</literal>를 매핑하라. 이것은 팀 환경에서 특히 좋은 의미를 준다."
+#. Tag: para
+#: best_practices.xml:41
+#, no-c-format
+msgid ""
+"Don't use a single monolithic mapping document. Map <literal>com.eg.Foo</"
+"literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes "
+"particularly good sense in a team environment."
+msgstr ""
+"하나의 한덩어리 매핑 문서를 사용하지 말라. <literal>com/eg/Foo.hbm.xml</"
+"literal> 파일 속에 <literal>com.eg.Foo</literal>를 매핑하라. 이것은 팀 환경에"
+"서 특히 좋은 의미를 준다."
 
-#: index.docbook:49
+#. Tag: term
+#: best_practices.xml:49
+#, no-c-format
 msgid "Load mappings as resources."
 msgstr "매핑들을 리소스들로서 로드시켜라."
 
-#: index.docbook:51
+#. Tag: para
+#: best_practices.xml:51
+#, no-c-format
 msgid "Deploy the mappings along with the classes they map."
 msgstr "그것들이 매핑하는 클래스들에 따라서 매핑들을 배치하라"
 
-#: index.docbook:57
+#. Tag: term
+#: best_practices.xml:57
+#, no-c-format
 msgid "Consider externalising query strings."
 msgstr "질의 문자열들을 객관화 시키는 것을 고려하라."
 
-#: index.docbook:59
-msgid "This is a good practice if your queries call non-ANSI-standard SQL functions. Externalising the query strings to mapping files will make the application more portable."
-msgstr "당신의 질의들이 ANSI 표준이 아닌 SQL 함수들을 호출하는 경우는 좋은 실전연습이다. 질의 문자열들을 매핑 파일들에다가 외부화 시키는 것은 어플리케이션을 보다 이식성 있도록 만들어줄 것이다."
+#. Tag: para
+#: best_practices.xml:59
+#, no-c-format
+msgid ""
+"This is a good practice if your queries call non-ANSI-standard SQL "
+"functions. Externalising the query strings to mapping files will make the "
+"application more portable."
+msgstr ""
+"당신의 질의들이 ANSI 표준이 아닌 SQL 함수들을 호출하는 경우는 좋은 실전연습이"
+"다. 질의 문자열들을 매핑 파일들에다가 외부화 시키는 것은 어플리케이션을 보다 "
+"이식성 있도록 만들어줄 것이다."
 
-#: index.docbook:67
+#. Tag: term
+#: best_practices.xml:67
+#, no-c-format
 msgid "Use bind variables."
 msgstr "바인드 변수들을 사용하라."
 
-#: index.docbook:69
-msgid "As in JDBC, always replace non-constant values by \"?\". Never use string manipulation to bind a non-constant value in a query! Even better, consider using named parameters in queries."
-msgstr "JDBC에서처럼, 상수 아닌 값들을 \"?\"로 대체시켜라. 질의 속에 상수 아닌 값을 바인드 시키는데 문자열 처리를 결코 사용하지 말라! 더 좋게는 질의들 속에 명명된 파라미터들을 사용하는 것을 고려하라."
+#. Tag: para
+#: best_practices.xml:69
+#, no-c-format
+msgid ""
+"As in JDBC, always replace non-constant values by \"?\". Never use string "
+"manipulation to bind a non-constant value in a query! Even better, consider "
+"using named parameters in queries."
+msgstr ""
+"JDBC에서처럼, 상수 아닌 값들을 \"?\"로 대체시켜라. 질의 속에 상수 아닌 값을 "
+"바인드 시키는데 문자열 처리를 결코 사용하지 말라! 더 좋게는 질의들 속에 명명"
+"된 파라미터들을 사용하는 것을 고려하라."
 
-#: index.docbook:77
+#. Tag: term
+#: best_practices.xml:77
+#, no-c-format
 msgid "Don't manage your own JDBC connections."
 msgstr "당신 자신의 JDBC 커넥션들을 관리하지 말라."
 
-#: index.docbook:79
-msgid "Hibernate lets the application manage JDBC connections. This approach should be considered a last-resort. If you can't use the built-in connections providers, consider providing your own implementation of <literal>org.hibernate.connection.ConnectionProvider</literal>."
-msgstr "Hibernate는 어플리케이션으로 하여금 JDBC 커넥션들을 관리하도록 한다. 이 접근법은 마지막 수단으로서 고려되어야 한다. 만일 당신이 미리 만들어진 커넥션 프로바이더들을 사용할 수 없을 경우, <literal>org.hibernate.connection.ConnectionProvider</literal>에 대한 당신 자신의 구현을 제공하는 것을 고려하라."
+#. Tag: para
+#: best_practices.xml:79
+#, no-c-format
+msgid ""
+"Hibernate lets the application manage JDBC connections. This approach should "
+"be considered a last-resort. If you can't use the built-in connections "
+"providers, consider providing your own implementation of <literal>org."
+"hibernate.connection.ConnectionProvider</literal>."
+msgstr ""
+"Hibernate는 어플리케이션으로 하여금 JDBC 커넥션들을 관리하도록 한다. 이 접근"
+"법은 마지막 수단으로서 고려되어야 한다. 만일 당신이 미리 만들어진 커넥션 프로"
+"바이더들을 사용할 수 없을 경우, <literal>org.hibernate.connection."
+"ConnectionProvider</literal>에 대한 당신 자신의 구현을 제공하는 것을 고려하"
+"라."
 
-#: index.docbook:87
+#. Tag: term
+#: best_practices.xml:87
+#, no-c-format
 msgid "Consider using a custom type."
 msgstr "맞춤형 타입 사용을 고려하라."
 
-#: index.docbook:89
-msgid "Suppose you have a Java type, say from some library, that needs to be persisted but doesn't 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 "당신이 자바 타입을 갖고 있고, 어떤 라이브러리로부터 말하고, 그것이 영속화 될 필요가 있지만 그것을 컴포넌트로서 매핑시키는데 필요한 accessor들을 제공할 필요가 없다고 가정하자. 당신은 <literal>org.hibernate.UserType</literal>을 구현하는 것을 고려해야 할 것이다. 이 접근법은 Hibernate 타입으로/으로부터 변환들을 구현하는 것으로부터 어플리케이션 코드를 자유롭게 해준다."
+#. Tag: para
+#: best_practices.xml:89
+#, no-c-format
+msgid ""
+"Suppose you have a Java type, say from some library, that needs to be "
+"persisted but doesn't 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 ""
+"당신이 자바 타입을 갖고 있고, 어떤 라이브러리로부터 말하고, 그것이 영속화 될 "
+"필요가 있지만 그것을 컴포넌트로서 매핑시키는데 필요한 accessor들을 제공할 필"
+"요가 없다고 가정하자. 당신은 <literal>org.hibernate.UserType</literal>을 구현"
+"하는 것을 고려해야 할 것이다. 이 접근법은 Hibernate 타입으로/으로부터 변환들"
+"을 구현하는 것으로부터 어플리케이션 코드를 자유롭게 해준다."
 
-#: index.docbook:98
+#. Tag: term
+#: best_practices.xml:98
+#, no-c-format
 msgid "Use hand-coded JDBC in bottlenecks."
 msgstr "병목 지점들에서 수작업으로 코딩된 JDBC를 사용하라."
 
-#: index.docbook:100
-msgid "In performance-critical areas of the system, some kinds of operations might benefit from direct JDBC. But please, wait until you <emphasis>know</emphasis> something is a bottleneck. And don't assume that direct JDBC is necessarily faster. If you need to use direct JDBC, it might be worth opening a Hibernate <literal>Session</literal> and using that JDBC connection. That way you can still use the same transaction strategy and underlying connection provider."
-msgstr "시스템의 퍼포먼스가 중대한 영역들에서, 몇몇 종류의 오퍼레이션들은 직접적인 JDBC에서 이득을 본다. 그러나 당신이 어떤 것이 병목인지를 <emphasis>알기</emphasis> 전까지 기다리길 바란다. 그리고 직접적인 JDBC가 반드시 더 빠르다고 가정하지 말라. 만일 당신이 직접적인 JDBC를 사용할 필요가 있을 경우, Hibernate <literal>Session</literal>을 열고 그 SQL 커넥션을 사용할 가치가 있다. 그 방법으로 당신은 동일한 트랜잭션 방도와 기본 커넥션 프로바이더를 여전히 사용할 수 있다"
+#. Tag: para
+#: best_practices.xml:100
+#, no-c-format
+msgid ""
+"In performance-critical areas of the system, some kinds of operations might "
+"benefit from direct JDBC. But please, wait until you <emphasis>know</"
+"emphasis> something is a bottleneck. And don't assume that direct JDBC is "
+"necessarily faster. If you need to use direct JDBC, it might be worth "
+"opening a Hibernate <literal>Session</literal> and using that JDBC "
+"connection. That way you can still use the same transaction strategy and "
+"underlying connection provider."
+msgstr ""
+"시스템의 퍼포먼스가 중대한 영역들에서, 몇몇 종류의 오퍼레이션들은 직접적인 "
+"JDBC에서 이득을 본다. 그러나 당신이 어떤 것이 병목인지를 <emphasis>알기</"
+"emphasis> 전까지 기다리길 바란다. 그리고 직접적인 JDBC가 반드시 더 빠르다고 "
+"가정하지 말라. 만일 당신이 직접적인 JDBC를 사용할 필요가 있을 경우, "
+"Hibernate <literal>Session</literal>을 열고 그 SQL 커넥션을 사용할 가치가 있"
+"다. 그 방법으로 당신은 동일한 트랜잭션 방도와 기본 커넥션 프로바이더를 여전"
+"히 사용할 수 있다"
 
-#: index.docbook:110
+#. Tag: term
+#: best_practices.xml:110
+#, no-c-format
 msgid "Understand <literal>Session</literal> flushing."
 msgstr "<literal>Session</literal> flushing을 이해하라."
 
-#: index.docbook:112
-msgid "From time to time the Session synchronizes its persistent state with the database. Performance will be affected if this process occurs too often. You may sometimes minimize unnecessary flushing by disabling automatic flushing or even by changing the order of queries and other operations within a particular transaction."
-msgstr "시간이 지남에 따라 Session은 그것의 영속 상태를 데이터베이스와 동기화 시킨다. 만일 이 과정이 너무 자주 발생할 경우 퍼포먼스가 영향을 받을 것이다. 당신은 때때로 자동적인 flushing을 사용 불가능하게 만들거나 특정 트랜잭션 내에서 질의들의 순서와 다른 오퍼레이션들의 순서를 변경시켜서 불필요한 flushing을 최소화 시킬 수 있다."
+#. Tag: para
+#: best_practices.xml:112
+#, no-c-format
+msgid ""
+"From time to time the Session synchronizes its persistent state with the "
+"database. Performance will be affected if this process occurs too often. You "
+"may sometimes minimize unnecessary flushing by disabling automatic flushing "
+"or even by changing the order of queries and other operations within a "
+"particular transaction."
+msgstr ""
+"시간이 지남에 따라 Session은 그것의 영속 상태를 데이터베이스와 동기화 시킨"
+"다. 만일 이 과정이 너무 자주 발생할 경우 퍼포먼스가 영향을 받을 것이다. 당신"
+"은 때때로 자동적인 flushing을 사용 불가능하게 만들거나 특정 트랜잭션 내에서 "
+"질의들의 순서와 다른 오퍼레이션들의 순서를 변경시켜서 불필요한 flushing을 최"
+"소화 시킬 수 있다."
 
-#: index.docbook:121
+#. Tag: term
+#: best_practices.xml:121
+#, no-c-format
 msgid "In a three tiered architecture, consider using detached objects."
-msgstr "3-tier 아키텍처에서, <literal>saveOrUpdate()</literal> 사용을 고려하라."
+msgstr ""
+"3-tier 아키텍처에서, <literal>saveOrUpdate()</literal> 사용을 고려하라."
 
-#: index.docbook:123
-msgid "When using a servlet / session bean architecture, you could 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 "servlet / session 빈 아키텍처를 사용할 때, 당신은 sesson bean 내에 로드된 영속 객체들을 서블릿/JSP 계층으로/으로부터 전달할/받을 수 있다. 각각의 요청을 서비스하는데 새로운 세션을 사용하라. 객체들을 데이터베이스와 동기화 시키기 위해서 <literal>Session.merge()</literal> 또는 <literal>Session.saveOrUpdate()</literal>를 사용하라."
+#. Tag: para
+#: best_practices.xml:123
+#, no-c-format
+msgid ""
+"When using a servlet / session bean architecture, you could 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 ""
+"servlet / session 빈 아키텍처를 사용할 때, 당신은 sesson bean 내에 로드된 영"
+"속 객체들을 서블릿/JSP 계층으로/으로부터 전달할/받을 수 있다. 각각의 요청을 "
+"서비스하는데 새로운 세션을 사용하라. 객체들을 데이터베이스와 동기화 시키기 위"
+"해서 <literal>Session.merge()</literal> 또는 <literal>Session.saveOrUpdate()"
+"</literal>를 사용하라."
 
-#: index.docbook:132
+#. Tag: term
+#: best_practices.xml:132
+#, no-c-format
 msgid "In a two tiered architecture, consider using long persistence contexts."
-msgstr "2-tier 아키텍처에서, 수명이 긴 영속 컨텍스트들을 사용하는 것을 고려하라."
+msgstr ""
+"2-tier 아키텍처에서, 수명이 긴 영속 컨텍스트들을 사용하는 것을 고려하라."
 
-#: index.docbook:134
-msgid "Database Transactions have to be as short as possible for best scalability. However, it is often neccessary 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 alternative, extremely appropriate in two tiered architecture, is to maintain a single open persistence contact (session) for the whole life cycle of the application transaction and 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 "데이터베이스 트랜잭션들은 최상의 가용성을 위해 가능한 í•œ 짧아야 한다. 하지만 장기간 실행되는 <emphasis>어플리케이션 트랜잭션들</emphasis>, 사용자의 ë·° 관점에서 í•œ 개의 단위 작업을 구현하는 것이 가끔 필수적이다. 하나의 어플리케이션 트랜잭션은 몇 개의 클라이언트 요청들과 응답 주기들에 걸칠 수도 있다. 어플리케이션 트랜잭션들을 구현하는데 detached 객체들을 사용하는 것이 공통적이다. 2-í‹°ì–´ 아키텍처에서 매우 적절한 대안은 어플리케이션 트랜잭션의 ì „ì²´ 생명주기 동안에 í•œ 개의 열려진 영속 접속 (세션)을 유지하는 것이고 각각의 요청의 끝에서 JDBC 커넥션을 간단하게 연결해제하고 차후의 요청의 시작 시에 다시 연결하는 것이다. í•œ ê°œ 이상의 어플리케이션 트랜잭션을 가로질러서 하나의 단일 세션을 ê²°ì½” 공유하ì!
 §€ 말라. 공유할 경우에 당신은 실효성이 없는 데이터로 작업하게 될 것이다."
+#. Tag: para
+#: best_practices.xml:134
+#, no-c-format
+msgid ""
+"Database Transactions have to be as short as possible for best scalability. "
+"However, it is often neccessary 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 alternative, extremely appropriate in "
+"two tiered architecture, is to maintain a single open persistence contact "
+"(session) for the whole life cycle of the application transaction and 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 ""
+"데이터베이스 트랜잭션들은 최상의 가용성을 위해 가능한 한 짧아야 한다. 하지만 "
+"장기간 실행되는 <emphasis>어플리케이션 트랜잭션들</emphasis>, 사용자의 뷰 관"
+"점에서 한 개의 단위 작업을 구현하는 것이 가끔 필수적이다. 하나의 어플리케이"
+"션 트랜잭션은 몇 개의 클라이언트 요청들과 응답 주기들에 걸칠 수도 있다. 어플"
+"리케이션 트랜잭션들을 구현하는데 detached 객체들을 사용하는 것이 공통적이다. "
+"2-티어 아키텍처에서 매우 적절한 대안은 어플리케이션 트랜잭션의 전체 생명주기 "
+"동안에 한 개의 열려진 영속 접속 (세션)을 유지하는 것이고 각각의 요청의 끝에"
+"서 JDBC 커넥션을 간단하게 연결해제하고 차후의 요청의 시작 시에 다시 연결하는 "
+"것이다. 한 개 이상의 어플리케이션 트랜잭션을 가로질러서 하나의 단일 세션을 결"
+"코 공유하지 말라. 공유할 경우에 당신은 실효성이 없는 데이터로 작업하게 될 것"
+"이다."
 
-#: index.docbook:148
+#. Tag: term
+#: best_practices.xml:148
+#, no-c-format
 msgid "Don't treat exceptions as recoverable."
 msgstr "예외상황들을 복구가능한 것으로서 다루지 말라."
 
-#: index.docbook:150
-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 don't, Hibernate can't guarantee that in-memory state accurately represents persistent state. As a special case of this, 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 "이것은 \"최상의\" 실전이 아닌 보다 필수적인 실전이다. 예외상황이 발생할 때, <literal>Transaction</literal>을 롤백시키고 <literal>Session</literal>을 닫아라. 만일 당신이 그렇게 하지 않을 경우, Hibernate는 메모리 내 상태가 영속 상태를 정확하게 표현하는 것을 보증할 수 없다. 이 특별한 경우처럼, 만일 주어진 식별자를 가진 인스턴스가 데이터베이스 상에 존재하는지 여부를 결정하는데 <literal>Session.load()</literal>를 사용하지 말라; 대신에 <literal>Session.get()</literal> 또는 하나의 질의를 사용하라."
+#. Tag: para
+#: best_practices.xml:150
+#, 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 don't, Hibernate can't guarantee that in-"
+"memory state accurately represents persistent state. As a special case of "
+"this, 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 ""
+"이것은 \"최상의\" 실전이 아닌 보다 필수적인 실전이다. 예외상황이 발생할 때, "
+"<literal>Transaction</literal>을 롤백시키고 <literal>Session</literal>을 닫아"
+"라. 만일 당신이 그렇게 하지 않을 경우, Hibernate는 메모리 내 상태가 영속 상태"
+"를 정확하게 표현하는 것을 보증할 수 없다. 이 특별한 경우처럼, 만일 주어진 식"
+"별자를 가진 인스턴스가 데이터베이스 상에 존재하는지 여부를 결정하는데 "
+"<literal>Session.load()</literal>를 사용하지 말라; 대신에 <literal>Session."
+"get()</literal> 또는 하나의 질의를 사용하라."
 
-#: index.docbook:160
+#. Tag: term
+#: best_practices.xml:160
+#, no-c-format
 msgid "Prefer lazy fetching for associations."
 msgstr "연관들에 대한 lazy 페칭을 선호하라."
 
-#: index.docbook:162
-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 an join fetching is appropriate to a particular use case, use a query with a <literal>left join fetch</literal>."
-msgstr "eager 페칭을 관대하게 사용하라. second-level 캐시 내에 완전하게 보관되지 않을 것 같은 클래스들에 대한 대붑분의 연관들에 대해 프락시들과 lazy 콜렉션들을 사용하라. 캐시된 클래스들에 대한 연관들의 경우, 이곳은 캐시 성공의 매우 높은 확률이 존재하는 곳이며, <literal>lazy=\"false\"</literal>를 사용하여 eager 페칭을 명시적으로 사용 불가능하게 하라. 한의 join 페칭이 특정 쓰임새에 대해 적절할 때, 하나의 <literal>left join fetch</literal>를 가진 질의를 사용하라."
+#. Tag: para
+#: best_practices.xml:162
+#, 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 an join fetching is "
+"appropriate to a particular use case, use a query with a <literal>left join "
+"fetch</literal>."
+msgstr ""
+"eager 페칭을 관대하게 사용하라. second-level 캐시 내에 완전하게 보관되지 않"
+"을 것 같은 클래스들에 대한 대붑분의 연관들에 대해 프락시들과 lazy 콜렉션들을 "
+"사용하라. 캐시된 클래스들에 대한 연관들의 경우, 이곳은 캐시 성공의 매우 높은 "
+"확률이 존재하는 곳이며, <literal>lazy=\"false\"</literal>를 사용하여 eager 페"
+"칭을 명시적으로 사용 불가능하게 하라. 한의 join 페칭이 특정 쓰임새에 대해 적"
+"절할 때, 하나의 <literal>left join fetch</literal>를 가진 질의를 사용하라."
 
-#: index.docbook:172
-msgid "Use the <emphasis>open session in view</emphasis> pattern, or a disciplined <emphasis>assembly phase</emphasis> to avoid problems with unfetched data."
-msgstr "페치되지 않은 데이터 문제점들을 피하기 위해 <emphasis>뷰 내에 열려진 세션(open session in view)</emphasis> 패턴 또는 하나의 정리된 <emphasis>어셈블리 단계(assembly phase)</emphasis>를 사용하라."
+#. Tag: term
+#: best_practices.xml:172
+#, 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 ""
+"페치되지 않은 데이터 문제점들을 피하기 위해 <emphasis>뷰 내에 열려진 세션"
+"(open session in view)</emphasis> 패턴 또는 하나의 정리된 <emphasis>어셈블리 "
+"단계(assembly phase)</emphasis>를 사용하라."
 
-#: index.docbook:177
-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. However, 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) unless you are prepared to hold the persistence context (the session) open across the view rendering process. This is not a limitation of Hibernate! It is a fundamental requirement of safe transactional data access."
-msgstr "Hibernate는 개발자들이 <emphasis>Data Transfer Objects</emphasis> (DTO)를 지루하게 작성하는 것으로부터 자유롭게 해준다. 전통적인 EJB 아키텍처에서, DTO는 이중 용도로 기능한다: 첫 번째로 그것들은 엔티티 빈즈가 직렬화 가능하지 않는 문제점에 대해 착수한다; 두 번째로 그것들은 뷰에 의해 사용되는 모든 데이터가 프리젠테이션 í‹°ì–´ë¡œ 컨트롤을 반환하기 전에 DTO들 속으로 페치되고 마샬링되는 어셈블리 단계를 암묵적으로 정의한다. Hibernate는 첫 번째 용도를 제거시킨다. 하지만 당신이 ë·° 렌더링 프로세스를 가로질러 열려져 있는 영속 컨텍스트(세션)을 보관할 준비가 되어 있지 않는 í•œ, 당신은 여전히 어셈블리 단계를 필요로 í•  것이다(detached 객체들에서 이용가능한 데이터가 무엇인지에 대해 프리젠테이션 티어와 엄격하게 계약을 갖도ë¡!
  당신의 비지니스 메소드들을 고려하라) 이것은 Hibernate의 한계점이 아니다! 그것은 안전한 트랜잭션 데이터 접근의 필수 조건이다."
+#. Tag: para
+#: best_practices.xml:177
+#, 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. However, 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) unless you are "
+"prepared to hold the persistence context (the session) open across the view "
+"rendering process. This is not a limitation of Hibernate! It is a "
+"fundamental requirement of safe transactional data access."
+msgstr ""
+"Hibernate는 개발자들이 <emphasis>Data Transfer Objects</emphasis> (DTO)를 지"
+"루하게 작성하는 것으로부터 자유롭게 해준다. 전통적인 EJB 아키텍처에서, DTO는 "
+"이중 용도로 기능한다: 첫 번째로 그것들은 엔티티 빈즈가 직렬화 가능하지 않는 "
+"문제점에 대해 착수한다; 두 번째로 그것들은 뷰에 의해 사용되는 모든 데이터가 "
+"프리젠테이션 티어로 컨트롤을 반환하기 전에 DTO들 속으로 페치되고 마샬링되는 "
+"어셈블리 단계를 암묵적으로 정의한다. Hibernate는 첫 번째 용도를 제거시킨다. "
+"하지만 당신이 뷰 렌더링 프로세스를 가로질러 열려져 있는 영속 컨텍스트(세션)"
+"을 보관할 준비가 되어 있지 않는 한, 당신은 여전히 어셈블리 단계를 필요로 할 "
+"것이다(detached 객체들에서 이용가능한 데이터가 무엇인지에 대해 프리젠테이션 "
+"티어와 엄격하게 계약을 갖도록 당신의 비지니스 메소드들을 고려하라) 이것은 "
+"Hibernate의 한계점이 아니다! 그것은 안전한 트랜잭션 데이터 접근의 필수 조건이"
+"다."
 
-#: index.docbook:191
+#. Tag: term
+#: best_practices.xml:191
+#, no-c-format
 msgid "Consider abstracting your business logic from Hibernate."
 msgstr "Hibernate에서 당신의 비지니스 로직을 추상화 시키는 것을 고려하라."
 
-#: index.docbook:193
-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 intended for \"sufficiently large\" applications; it is not appropriate for an application with five tables!)"
-msgstr "(Hibernate) 데이터 액세스 코드를 인터페이스 이면에 은폐시켜라. <emphasis>DAO</emphasis>와 <emphasis>Thread Local Session</emphasis> 패턴들을 결합시켜라. 당신은 심지어 <literal>UserType</literal>을 통해 Hibernate에 연관된, 수작업으로 코딩된 JDBC로서 몇몇 클래스들을 영속화 시킬 수도 있다. (이 충고는 \"충분히 큰\" 어플리케이션들에 대한 것이다; 그것은 5개의 테이블들을 가진 어플리케이션에 대해서는 적절하지 않다!)"
+#. Tag: para
+#: best_practices.xml:193
+#, 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 "
+"intended for \"sufficiently large\" applications; it is not appropriate for "
+"an application with five tables!)"
+msgstr ""
+"(Hibernate) 데이터 액세스 코드를 인터페이스 이면에 은폐시켜라. "
+"<emphasis>DAO</emphasis>와 <emphasis>Thread Local Session</emphasis> 패턴들"
+"을 결합시켜라. 당신은 심지어 <literal>UserType</literal>을 통해 Hibernate에 "
+"연관된, 수작업으로 코딩된 JDBC로서 몇몇 클래스들을 영속화 시킬 수도 있다. "
+"(이 충고는 \"충분히 큰\" 어플리케이션들에 대한 것이다; 그것은 5개의 테이블들"
+"을 가진 어플리케이션에 대해서는 적절하지 않다!)"
 
-#: index.docbook:203
+#. Tag: term
+#: best_practices.xml:203
+#, no-c-format
 msgid "Don't use exotic association mappings."
 msgstr "신종의 연관 매핑을 사용하지 말라."
 
-#: index.docbook:205
-msgid "Good usecases for a 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, we think that most associations are one-to-many and many-to-one, you should be careful when using any other association style and ask yourself if it is really neccessary."
-msgstr "실제의 many-to-many 연관들에 대한 좋은 쓰임새들은 드물다. 대부분의 시간 동안 당신은 \"연결 테이블\" 내에 저장된 추가적인 정보를 필요로 한다. 이 경우에, 매개하는 연결 클래스에 대해 두 개의 one-to-many 연관들을 사용하는 것이 훨씬 더 좋다. 사실 우리는 대부분의 연관들이 one-to-many와 many-to-one이라고 생각하며, 당신은 다른 연관 스타일을 사용할 때 주의해야 하고 그것이 진정 필수적인지를 당신 스스로 질문하라."
+#. Tag: para
+#: best_practices.xml:205
+#, no-c-format
+msgid ""
+"Good usecases for a 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, we think that most associations are one-to-"
+"many and many-to-one, you should be careful when using any other association "
+"style and ask yourself if it is really neccessary."
+msgstr ""
+"실제의 many-to-many 연관들에 대한 좋은 쓰임새들은 드물다. 대부분의 시간 동안 "
+"당신은 \"연결 테이블\" 내에 저장된 추가적인 정보를 필요로 한다. 이 경우에, 매"
+"개하는 연결 클래스에 대해 두 개의 one-to-many 연관들을 사용하는 것이 훨씬 더 "
+"좋다. 사실 우리는 대부분의 연관들이 one-to-many와 many-to-one이라고 생각하"
+"며, 당신은 다른 연관 스타일을 사용할 때 주의해야 하고 그것이 진정 필수적인지"
+"를 당신 스스로 질문하라."
 
-#: index.docbook:215
+#. Tag: term
+#: best_practices.xml:215
+#, no-c-format
 msgid "Prefer bidirectional associations."
 msgstr "양방향 연관들을 선호하라."
 
-#: index.docbook:217
-msgid "Unidirectional associations are more difficult to query. In a large application, almost all associations must be navigable in both directions in queries."
-msgstr "단방향 연관들은 질의하기가 더 어렵다. 많은 어플리케이션에서, 거의 모든 연관들은 질의들 내에서 양 방향으로 네비게이트 가능해야 한다."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: best_practices.xml:217
+#, 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 ""
+"단방향 연관들은 질의하기가 더 어렵다. 많은 어플리케이션에서, 거의 모든 연관들"
+"은 질의들 내에서 양 방향으로 네비게이트 가능해야 한다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/collection_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/collection_mapping.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/collection_mapping.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,1287 +1,1892 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: collection_mapping.xml:5
+#, no-c-format
 msgid "Collection Mapping"
 msgstr "콜렉션 매핑"
 
-#: index.docbook:8
+#. Tag: title
+#: collection_mapping.xml:8
+#, no-c-format
 msgid "Persistent collections"
 msgstr "영속 콜렉션들"
 
-#: index.docbook:10
-msgid "Hibernate requires that persistent collection-valued fields be declared as an interface type, for example:"
-msgstr "예를 들어 Hibernate는 영속 콜렉션-값을 가진 필드들이 인터페이스 타입으로서 선언될 것을 필요로 한다:"
+#. Tag: para
+#: collection_mapping.xml:10
+#, no-c-format
+msgid ""
+"Hibernate requires that persistent collection-valued fields be declared as "
+"an interface type, for example:"
+msgstr ""
+"예를 들어 Hibernate는 영속 콜렉션-값을 가진 필드들이 인터페이스 타입으로서 선"
+"언될 것을 필요로 한다:"
 
-#: index.docbook:15
+#. Tag: programlisting
+#: collection_mapping.xml:15
+#, no-c-format
 msgid ""
-      "<![CDATA[public class Product {\n"
-      "    private String serialNumber;\n"
-      "    private Set parts = new HashSet();\n"
-      "    \n"
-      "    public Set getParts() { return parts; }\n"
-      "    void setParts(Set parts) { this.parts = parts; }\n"
-      "    public String getSerialNumber() { return serialNumber; }\n"
-      "    void setSerialNumber(String sn) { serialNumber = sn; }\n"
-      "}]]>"
+"<![CDATA[public class Product {\n"
+"    private String serialNumber;\n"
+"    private Set parts = new HashSet();\n"
+"    \n"
+"    public Set getParts() { return parts; }\n"
+"    void setParts(Set parts) { this.parts = parts; }\n"
+"    public String getSerialNumber() { return serialNumber; }\n"
+"    void setSerialNumber(String sn) { serialNumber = sn; }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[public class Product {\n"
-      "    private String serialNumber;\n"
-      "    private Set parts = new HashSet();\n"
-      "    \n"
-      "    public Set getParts() { return parts; }\n"
-      "    void setParts(Set parts) { this.parts = parts; }\n"
-      "    public String getSerialNumber() { return serialNumber; }\n"
-      "    void setSerialNumber(String sn) { serialNumber = sn; }\n"
-      "}]]>"
 
-#: index.docbook:17
-msgid "The actual interface might be <literal>java.util.Set</literal>, <literal>java.util.Collection</literal>, <literal>java.util.List</literal>, <literal>java.util.Map</literal>, <literal>java.util.SortedSet</literal>, <literal>java.util.SortedMap</literal> or ... anything you like! (Where \"anything you like\" means you will have to write an implementation of <literal>org.hibernate.usertype.UserCollectionType</literal>.)"
-msgstr "실제 인터페이스는 <literal>java.util.Set</literal>, <literal>java.util.Collection</literal>, <literal>java.util.List</literal>, <literal>java.util.Map</literal>, <literal>java.util.SortedSet</literal>, <literal>java.util.SortedMap</literal> 또는 당신이 좋아하는 어떤 것일 수 있다!(여기서 \"당신이 좋아하는 어떤 것\"이란 당신이 <literal>org.hibernate.usertype.UserCollectionType</literal>에 대한 구현을 작성해야 함을 의미한다.)"
+#. Tag: para
+#: collection_mapping.xml:17
+#, no-c-format
+msgid ""
+"The actual interface might be <literal>java.util.Set</literal>, "
+"<literal>java.util.Collection</literal>, <literal>java.util.List</literal>, "
+"<literal>java.util.Map</literal>, <literal>java.util.SortedSet</literal>, "
+"<literal>java.util.SortedMap</literal> or ... anything you like! (Where "
+"\"anything you like\" means you will have to write an implementation of "
+"<literal>org.hibernate.usertype.UserCollectionType</literal>.)"
+msgstr ""
+"실제 인터페이스는 <literal>java.util.Set</literal>, <literal>java.util."
+"Collection</literal>, <literal>java.util.List</literal>, <literal>java.util."
+"Map</literal>, <literal>java.util.SortedSet</literal>, <literal>java.util."
+"SortedMap</literal> 또는 당신이 좋아하는 어떤 것일 수 있다!(여기서 \"당신이 "
+"좋아하는 어떤 것\"이란 당신이 <literal>org.hibernate.usertype."
+"UserCollectionType</literal>에 대한 구현을 작성해야 함을 의미한다.)"
 
-#: index.docbook:26
-msgid "Notice how we initialized the instance variable with an instance of <literal>HashSet</literal>. This is the best way to initialize collection valued properties of newly instantiated (non-persistent) instances. When you make the instance persistent - by calling <literal>persist()</literal>, for example - Hibernate will actually replace the <literal>HashSet</literal> with an instance of Hibernate's own implementation of <literal>Set</literal>. Watch out for errors like this:"
-msgstr "우리가 <literal>HashSet</literal>의 인스턴스를 가진 인스턴스 변수를 초기화 시켰던 방법을 주목하라. 이것은 새로이 초기화 된(비-영속) 인스턴스들을 가진 콜렉션 값 프로퍼티들을 초기화 시키는 최선의 방법이다. 당신이 -예를 들어 <literal>persist()</literal>를 호출하여- 인스턴스를 영속화 시킬 때 Hibernate는 실제로 <literal>HashSet</literal>을 <literal>Set</literal>에 대한 Hibernate 자신의 구현의 인스턴스로 대체시킬 것이다. 다음과 같은 오류들을 관찰하라:"
+#. Tag: para
+#: collection_mapping.xml:26
+#, no-c-format
+msgid ""
+"Notice how we initialized the instance variable with an instance of "
+"<literal>HashSet</literal>. This is the best way to initialize collection "
+"valued properties of newly instantiated (non-persistent) instances. When you "
+"make the instance persistent - by calling <literal>persist()</literal>, for "
+"example - Hibernate will actually replace the <literal>HashSet</literal> "
+"with an instance of Hibernate's own implementation of <literal>Set</"
+"literal>. Watch out for errors like this:"
+msgstr ""
+"우리가 <literal>HashSet</literal>의 인스턴스를 가진 인스턴스 변수를 초기화 시"
+"켰던 방법을 주목하라. 이것은 새로이 초기화 된(비-영속) 인스턴스들을 가진 콜렉"
+"션 값 프로퍼티들을 초기화 시키는 최선의 방법이다. 당신이 -예를 들어 "
+"<literal>persist()</literal>를 호출하여- 인스턴스를 영속화 시킬 때 Hibernate"
+"는 실제로 <literal>HashSet</literal>을 <literal>Set</literal>에 대한 "
+"Hibernate 자신의 구현의 인스턴스로 대체시킬 것이다. 다음과 같은 오류들을 관찰"
+"하라:"
 
-#: index.docbook:36
+#. Tag: programlisting
+#: collection_mapping.xml:36
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat cat = new DomesticCat();\n"
-      "Cat kitten = new DomesticCat();\n"
-      "....\n"
-      "Set kittens = new HashSet();\n"
-      "kittens.add(kitten);\n"
-      "cat.setKittens(kittens);\n"
-      "session.persist(cat);\n"
-      "kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
-      "(HashSet) cat.getKittens(); // Error!]]>"
+"<![CDATA[Cat cat = new DomesticCat();\n"
+"Cat kitten = new DomesticCat();\n"
+"....\n"
+"Set kittens = new HashSet();\n"
+"kittens.add(kitten);\n"
+"cat.setKittens(kittens);\n"
+"session.persist(cat);\n"
+"kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
+"(HashSet) cat.getKittens(); // Error!]]>"
 msgstr ""
-      "<![CDATA[Cat cat = new DomesticCat();\n"
-      "Cat kitten = new DomesticCat();\n"
-      "....\n"
-      "Set kittens = new HashSet();\n"
-      "kittens.add(kitten);\n"
-      "cat.setKittens(kittens);\n"
-      "session.persist(cat);\n"
-      "kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
-      "(HashSet) cat.getKittens(); // Error!]]>"
 
-#: index.docbook:38
-msgid "The persistent collections injected by Hibernate behave like <literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</literal>, <literal>TreeSet</literal> or <literal>ArrayList</literal>, depending upon the interface type."
-msgstr "Hibernate에 의해 도입된 영속 콜렉션들은 인터페이스 타입에 따라 <literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</literal>, <literal>TreeSet</literal> 또는 <literal>ArrayList</literal>와 같이 행위한다."
+#. Tag: para
+#: collection_mapping.xml:38
+#, no-c-format
+msgid ""
+"The persistent collections injected by Hibernate behave like "
+"<literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</"
+"literal>, <literal>TreeSet</literal> or <literal>ArrayList</literal>, "
+"depending upon the interface type."
+msgstr ""
+"Hibernate에 의해 도입된 영속 콜렉션들은 인터페이스 타입에 따라 "
+"<literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</"
+"literal>, <literal>TreeSet</literal> 또는 <literal>ArrayList</literal>와 같"
+"이 행위한다."
 
-#: index.docbook:45
-msgid "Collections instances have the usual behavior of value types. They are automatically persisted when referenced by a persistent object and automatically deleted when unreferenced. If a collection is passed from one persistent object to another, its elements might be moved from one table to another. Two entities may not share a reference to the same collection instance. Due to the underlying relational model, collection-valued properties do not support null value semantics; Hibernate does not distinguish between a null collection reference and an empty collection."
-msgstr "콜렉션 인스턴스들은 value 타입들을 가진 통상의 특징을 갖는다. 그것들은 영속 객체에 의해 참조될 때 자동적으로 영속화 되고 참조 해제될 때 자동적으로 삭제된다. 만일 하나의 콜렉션이 하나의 영속 객체로부터 또 다른 영속 객체로 전달될 때, 그것의 요소들은 하나의 테이블로부터 다른 테이블로 이동될 수 있다. 두 개의 엔티티들은 동일한 콜렉션 인스턴스에 대한 참조를 공유하지 않는다. 기본 관계형 모형 때문에 콜렉션 값 프로퍼티들은 null 값 의미들을 지원하지 않는다; Hibernate는 null 콜렉션 참조와 공백의 콜렉션 사이를 구별 짓지 않는다."
+#. Tag: para
+#: collection_mapping.xml:45
+#, no-c-format
+msgid ""
+"Collections instances have the usual behavior of value types. They are "
+"automatically persisted when referenced by a persistent object and "
+"automatically deleted when unreferenced. If a collection is passed from one "
+"persistent object to another, its elements might be moved from one table to "
+"another. Two entities may not share a reference to the same collection "
+"instance. Due to the underlying relational model, collection-valued "
+"properties do not support null value semantics; Hibernate does not "
+"distinguish between a null collection reference and an empty collection."
+msgstr ""
+"콜렉션 인스턴스들은 value 타입들을 가진 통상의 특징을 갖는다. 그것들은 영속 "
+"객체에 의해 참조될 때 자동적으로 영속화 되고 참조 해제될 때 자동적으로 삭제된"
+"다. 만일 하나의 콜렉션이 하나의 영속 객체로부터 또 다른 영속 객체로 전달될 "
+"때, 그것의 요소들은 하나의 테이블로부터 다른 테이블로 이동될 수 있다. 두 개"
+"의 엔티티들은 동일한 콜렉션 인스턴스에 대한 참조를 공유하지 않는다. 기본 관계"
+"형 모형 때문에 콜렉션 값 프로퍼티들은 null 값 의미들을 지원하지 않는다; "
+"Hibernate는 null 콜렉션 참조와 공백의 콜렉션 사이를 구별 짓지 않는다."
 
-#: index.docbook:56
-msgid "You shouldn't have to worry much about any of this. Use persistent collections the same way you use ordinary Java collections. Just make sure you understand the semantics of bidirectional associations (discussed later)."
-msgstr "당신은 이것의 어떤 것에 대해 너무 많이 걱정하지 않아도 될 것이다. 당신이 통상의 자바 콜렉션들을 사용하는 것과 동일한 방법으로 영속 콜렉션들을 사용하라. 단지 당신이 양방향 연관관계들에 대한 의미를 확실히 이해하도록 하라(나중에 논의됨)."
+#. Tag: para
+#: collection_mapping.xml:56
+#, no-c-format
+msgid ""
+"You shouldn't have to worry much about any of this. Use persistent "
+"collections the same way you use ordinary Java collections. Just make sure "
+"you understand the semantics of bidirectional associations (discussed later)."
+msgstr ""
+"당신은 이것의 어떤 것에 대해 너무 많이 걱정하지 않아도 될 것이다. 당신이 통상"
+"의 자바 콜렉션들을 사용하는 것과 동일한 방법으로 영속 콜렉션들을 사용하라. 단"
+"지 당신이 양방향 연관관계들에 대한 의미를 확실히 이해하도록 하라(나중에 논의"
+"됨)."
 
-#: index.docbook:65
+#. Tag: title
+#: collection_mapping.xml:65
+#, no-c-format
 msgid "Collection mappings"
 msgstr "콜렉션 매핑들"
 
-#: index.docbook:67
-msgid "The Hibernate mapping element used for mapping a collection depends upon the type of the interface. For example, a <literal>&lt;set&gt;</literal> element is used for mapping properties of type <literal>Set</literal>."
-msgstr "콜렉션을 매핑하는데 사용되는 Hiberante 매핑 요소는 인터페이스의 타입에 의존한다. 예를 들어<literal>&lt;set&gt;</literal> 요소는 <literal>Set</literal> 타입의 매핑 프로퍼티들에 사용된다"
+#. Tag: para
+#: collection_mapping.xml:67
+#, no-c-format
+msgid ""
+"The Hibernate mapping element used for mapping a collection depends upon the "
+"type of the interface. For example, a <literal>&lt;set&gt;</literal> element "
+"is used for mapping properties of type <literal>Set</literal>."
+msgstr ""
+"콜렉션을 매핑하는데 사용되는 Hiberante 매핑 요소는 인터페이스의 타입에 의존한"
+"다. 예를 들어<literal>&lt;set&gt;</literal> 요소는 <literal>Set</literal> 타"
+"입의 매핑 프로퍼티들에 사용된다"
 
-#: index.docbook:73
+#. Tag: programlisting
+#: collection_mapping.xml:73
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Product\">\n"
-      "    <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
-      "    <set name=\"parts\">\n"
-      "        <key column=\"productSerialNumber\" not-null=\"true\"/>\n"
-      "        <one-to-many class=\"Part\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Product\">\n"
+"    <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
+"    <set name=\"parts\">\n"
+"        <key column=\"productSerialNumber\" not-null=\"true\"/>\n"
+"        <one-to-many class=\"Part\"/>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Product\">\n"
-      "    <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
-      "    <set name=\"parts\">\n"
-      "        <key column=\"productSerialNumber\" not-null=\"true\"/>\n"
-      "        <one-to-many class=\"Part\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:75
-msgid "Apart from <literal>&lt;set&gt;</literal>, there is also <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal> and <literal>&lt;primitive-array&gt;</literal> mapping elements. The <literal>&lt;map&gt;</literal> element is representative:"
-msgstr "<literal>&lt;set&gt;</literal>과는 별도로, 또한 <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal>, 그리고 <literal>&lt;map&gt;</literal> 매핑 요소들이 존재한다. <literal>&lt;map&gt;</literal> 요소가 대표적이다:"
+#. Tag: para
+#: collection_mapping.xml:75
+#, no-c-format
+msgid ""
+"Apart from <literal>&lt;set&gt;</literal>, there is also <literal>&lt;"
+"list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</"
+"literal>, <literal>&lt;array&gt;</literal> and <literal>&lt;primitive-"
+"array&gt;</literal> mapping elements. The <literal>&lt;map&gt;</literal> "
+"element is representative:"
+msgstr ""
+"<literal>&lt;set&gt;</literal>과는 별도로, 또한 <literal>&lt;list&gt;</"
+"literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal>, "
+"<literal>&lt;array&gt;</literal>, 그리고 <literal>&lt;map&gt;</literal> 매핑 "
+"요소들이 존재한다. <literal>&lt;map&gt;</literal> 요소가 대표적이다:"
 
-#: index.docbook:100
+#. Tag: programlisting
+#: collection_mapping.xml:100
+#, no-c-format
 msgid ""
-      "<![CDATA[<map\n"
-      "    name=\"propertyName\"\n"
-      "    table=\"table_name\"\n"
-      "    schema=\"schema_name\"\n"
-      "    lazy=\"true|extra|false\"\n"
-      "    inverse=\"true|false\"\n"
-      "    cascade=\"all|none|save-update|delete|all-delete-orphan|delete-orphan\"\n"
-      "    sort=\"unsorted|natural|comparatorClass\"\n"
-      "    order-by=\"column_name asc|desc\"\n"
-      "    where=\"arbitrary sql where condition\"\n"
-      "    fetch=\"join|select|subselect\"\n"
-      "    batch-size=\"N\"\n"
-      "    access=\"field|property|ClassName\"\n"
-      "    optimistic-lock=\"true|false\"\n"
-      "    mutable=\"true|false\"\n"
-      "    node=\"element-name|.\"\n"
-      "    embed-xml=\"true|false\"\n"
-      ">\n"
-      "\n"
-      "    <key .... />\n"
-      "    <map-key .... />\n"
-      "    <element .... />\n"
-      "</map>]]>"
+"<![CDATA[<map\n"
+"    name=\"propertyName\"\n"
+"    table=\"table_name\"\n"
+"    schema=\"schema_name\"\n"
+"    lazy=\"true|extra|false\"\n"
+"    inverse=\"true|false\"\n"
+"    cascade=\"all|none|save-update|delete|all-delete-orphan|delete-orphan\"\n"
+"    sort=\"unsorted|natural|comparatorClass\"\n"
+"    order-by=\"column_name asc|desc\"\n"
+"    where=\"arbitrary sql where condition\"\n"
+"    fetch=\"join|select|subselect\"\n"
+"    batch-size=\"N\"\n"
+"    access=\"field|property|ClassName\"\n"
+"    optimistic-lock=\"true|false\"\n"
+"    mutable=\"true|false\"\n"
+"    node=\"element-name|.\"\n"
+"    embed-xml=\"true|false\"\n"
+">\n"
+"\n"
+"    <key .... />\n"
+"    <map-key .... />\n"
+"    <element .... />\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<map\n"
-      "    name=\"propertyName\"\n"
-      "    table=\"table_name\"\n"
-      "    schema=\"schema_name\"\n"
-      "    lazy=\"true|extra|false\"\n"
-      "    inverse=\"true|false\"\n"
-      "    cascade=\"all|none|save-update|delete|all-delete-orphan|delete-orphan\"\n"
-      "    sort=\"unsorted|natural|comparatorClass\"\n"
-      "    order-by=\"column_name asc|desc\"\n"
-      "    where=\"arbitrary sql where condition\"\n"
-      "    fetch=\"join|select|subselect\"\n"
-      "    batch-size=\"N\"\n"
-      "    access=\"field|property|ClassName\"\n"
-      "    optimistic-lock=\"true|false\"\n"
-      "    mutable=\"true|false\"\n"
-      "    node=\"element-name|.\"\n"
-      "    embed-xml=\"true|false\"\n"
-      ">\n"
-      "\n"
-      "    <key .... />\n"
-      "    <map-key .... />\n"
-      "    <element .... />\n"
-      "</map>]]>"
 
-#: index.docbook:103
+#. Tag: para
+#: collection_mapping.xml:103
+#, no-c-format
 msgid "<literal>name</literal> the collection property name"
 msgstr "<literal>name</literal> 콜렉션 프로퍼티 이름"
 
-#: index.docbook:108
-msgid "<literal>table</literal> (optional - defaults to property name) the name of the collection table (not used for one-to-many associations)"
-msgstr "<literal>table</literal> (옵션 - 디폴트는 프로퍼티 이름) 콜렉션 테이블의 이름(one-to-many 연관관계들에 대해서는 사용되지 않음)"
+#. Tag: para
+#: collection_mapping.xml:108
+#, no-c-format
+msgid ""
+"<literal>table</literal> (optional - defaults to property name) the name of "
+"the collection table (not used for one-to-many associations)"
+msgstr ""
+"<literal>table</literal> (옵션 - 디폴트는 프로퍼티 이름) 콜렉션 테이블의 이름"
+"(one-to-many 연관관계들에 대해서는 사용되지 않음)"
 
-#: index.docbook:114
-msgid "<literal>schema</literal> (optional) the name of a table schema to override the schema declared on the root element"
-msgstr "<literal>schema</literal> (옵션) 루트 요소 상에 선언된 스키마를 오버라이드 시키는 테이블 스키마의 이름"
+#. Tag: para
+#: collection_mapping.xml:114
+#, no-c-format
+msgid ""
+"<literal>schema</literal> (optional) the name of a table schema to override "
+"the schema declared on the root element"
+msgstr ""
+"<literal>schema</literal> (옵션) 루트 요소 상에 선언된 스키마를 오버라이드 시"
+"키는 테이블 스키마의 이름"
 
-#: index.docbook:120
-msgid "<literal>lazy</literal> (optional - defaults to <literal>true</literal>) may be used to disable lazy fetching and specify that the association is always eagerly fetched, or to enable \"extra-lazy\" fetching where most operations do not initialize the collection (suitable for very large collections)"
-msgstr "<literal>lazy</literal> (옵션 - 디폴트는 <literal>true</literal>)는 lazy 페칭을 사용 불가능하도록 하고 그 연관이 항상 eagerly 페치됨을 지정하는데 , 또는 대부분의 연산들이 콜렉션을 초기화시키지 않는 곳에서 \"extra-lazy\" 페칭을 이용 가능하도록 하는데(매우 큰 콜렉션들에 적당함) 사용될 수 있다"
+#. Tag: para
+#: collection_mapping.xml:120
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>true</literal>) may "
+"be used to disable lazy fetching and specify that the association is always "
+"eagerly fetched, or to enable \"extra-lazy\" fetching where most operations "
+"do not initialize the collection (suitable for very large collections)"
+msgstr ""
+"<literal>lazy</literal> (옵션 - 디폴트는 <literal>true</literal>)는 lazy 페칭"
+"을 사용 불가능하도록 하고 그 연관이 항상 eagerly 페치됨을 지정하는데 , 또는 "
+"대부분의 연산들이 콜렉션을 초기화시키지 않는 곳에서 \"extra-lazy\" 페칭을 이"
+"용 가능하도록 하는데(매우 큰 콜렉션들에 적당함) 사용될 수 있다"
 
-#: index.docbook:129
-msgid "<literal>inverse</literal> (optional - defaults to <literal>false</literal>) mark this collection as the \"inverse\" end of a bidirectional association"
-msgstr "<literal>inverse</literal> (옵션 - 디폴트는 <literal>false</literal>) 이 콜렉션을 양방향 연관관계의 \"inverse\" 끝(end)으로 표시한다"
+#. Tag: para
+#: collection_mapping.xml:129
+#, no-c-format
+msgid ""
+"<literal>inverse</literal> (optional - defaults to <literal>false</literal>) "
+"mark this collection as the \"inverse\" end of a bidirectional association"
+msgstr ""
+"<literal>inverse</literal> (옵션 - 디폴트는 <literal>false</literal>) 이 콜렉"
+"션을 양방향 연관관계의 \"inverse\" 끝(end)으로 표시한다"
 
-#: index.docbook:135
-msgid "<literal>cascade</literal> (optional - defaults to <literal>none</literal>) enable operations to cascade to child entities"
-msgstr "<literal>cascade</literal> (옵션 - 디폴트는 <literal>none</literal>) 오퍼레이션들이 자식 엔티티들에 대해 케스케이드하는 것을 이용 가능하게 한다"
+#. Tag: para
+#: collection_mapping.xml:135
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional - defaults to <literal>none</literal>) "
+"enable operations to cascade to child entities"
+msgstr ""
+"<literal>cascade</literal> (옵션 - 디폴트는 <literal>none</literal>) 오퍼레이"
+"션들이 자식 엔티티들에 대해 케스케이드하는 것을 이용 가능하게 한다"
 
-#: index.docbook:141
-msgid "<literal>sort</literal> (optional) specify a sorted collection with <literal>natural</literal> sort order, or a given comparator class"
-msgstr "<literal>sort</literal> (옵션) <literal>natural</literal> 정렬 순서로 정렬된(sorted) 콜렉션 또는 주어진 comparator 클래스를 지정한다"
+#. Tag: para
+#: collection_mapping.xml:141
+#, no-c-format
+msgid ""
+"<literal>sort</literal> (optional) specify a sorted collection with "
+"<literal>natural</literal> sort order, or a given comparator class"
+msgstr ""
+"<literal>sort</literal> (옵션) <literal>natural</literal> 정렬 순서로 정렬된"
+"(sorted) 콜렉션 또는 주어진 comparator 클래스를 지정한다"
 
-#: index.docbook:147
-msgid "<literal>order-by</literal> (optional, JDK1.4 only) specify a table column (or columns) that define the iteration order of the <literal>Map</literal>, <literal>Set</literal> or bag, together with an optional <literal>asc</literal> or <literal>desc</literal>"
-msgstr "<literal>order-by</literal> (옵션, JDK1.4에서만) <literal>asc</literal> 또는 <literal>desc</literal> 옵션과 함께 <literal>Map</literal>, <literal>Set</literal> 또는 bag의 반복 순서를 정의하는 테이블 컬럼(또는 컬럼들)을 지정한다"
+#. Tag: para
+#: collection_mapping.xml:147
+#, no-c-format
+msgid ""
+"<literal>order-by</literal> (optional, JDK1.4 only) specify a table column "
+"(or columns) that define the iteration order of the <literal>Map</literal>, "
+"<literal>Set</literal> or bag, together with an optional <literal>asc</"
+"literal> or <literal>desc</literal>"
+msgstr ""
+"<literal>order-by</literal> (옵션, JDK1.4에서만) <literal>asc</literal> 또는 "
+"<literal>desc</literal> 옵션과 함께 <literal>Map</literal>, <literal>Set</"
+"literal> 또는 bag의 반복 순서를 정의하는 테이블 컬럼(또는 컬럼들)을 지정한다"
 
-#: index.docbook:154
-msgid "<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</literal> condition to be used when retrieving or removing the collection (useful if the collection should contain only a subset of the available data)"
-msgstr "<literal>where</literal> (옵션) 콜렉션을 검색하거나 제거할 때 사용될 임의적인 SQL <literal>WHERE</literal> 조건을 지정한다 (콜렉션이 오직 이용 가능한 데이터의 부분집합 만을 포함할 경우에 유용하다)"
+#. Tag: para
+#: collection_mapping.xml:154
+#, no-c-format
+msgid ""
+"<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</"
+"literal> condition to be used when retrieving or removing the collection "
+"(useful if the collection should contain only a subset of the available data)"
+msgstr ""
+"<literal>where</literal> (옵션) 콜렉션을 검색하거나 제거할 때 사용될 임의적"
+"인 SQL <literal>WHERE</literal> 조건을 지정한다 (콜렉션이 오직 이용 가능한 데"
+"이터의 부분집합 만을 포함할 경우에 유용하다)"
 
-#: index.docbook:161
-msgid "<literal>fetch</literal> (optional, defaults to <literal>select</literal>) Choose between outer-join fetching, fetching by sequential select, and fetching by sequential subselect."
-msgstr "<literal>fetch</literal> (옵션, 디폴트는 <literal>select</literal>) outer-join 페칭, sequential select 페칭, 그리고 sequential subselect 페칭 사이에서 선택하라."
+#. Tag: para
+#: collection_mapping.xml:161
+#, no-c-format
+msgid ""
+"<literal>fetch</literal> (optional, defaults to <literal>select</literal>) "
+"Choose between outer-join fetching, fetching by sequential select, and "
+"fetching by sequential subselect."
+msgstr ""
+"<literal>fetch</literal> (옵션, 디폴트는 <literal>select</literal>) outer-"
+"join 페칭, sequential select 페칭, 그리고 sequential subselect 페칭 사이에서 "
+"선택하라."
 
-#: index.docbook:168
-msgid "<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) specify a \"batch size\" for lazily fetching instances of this collection."
-msgstr "<literal>batch-size</literal> (옵션, 디폴트는 <literal>1</literal>) 이 콜렉션의 lazily fetching 인스턴스에 대해 \"배치 사이즈\"를 지정하라."
+#. Tag: para
+#: collection_mapping.xml:168
+#, no-c-format
+msgid ""
+"<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) "
+"specify a \"batch size\" for lazily fetching instances of this collection."
+msgstr ""
+"<literal>batch-size</literal> (옵션, 디폴트는 <literal>1</literal>) 이 콜렉션"
+"의 lazily fetching 인스턴스에 대해 \"배치 사이즈\"를 지정하라."
 
-#: index.docbook:174
-msgid "<literal>access</literal> (optional - defaults to <literal>property</literal>): The strategy Hibernate should use for accessing the collection property value."
-msgstr "<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): Hibernate가 콜렉션 프로퍼티 값에 접근하는데 사용할 방도."
+#. Tag: para
+#: collection_mapping.xml:174
+#, no-c-format
+msgid ""
+"<literal>access</literal> (optional - defaults to <literal>property</"
+"literal>): The strategy Hibernate should use for accessing the collection "
+"property value."
+msgstr ""
+"<literal>access</literal> (옵션 - 디폴트는 <literal>property</literal>): "
+"Hibernate가 콜렉션 프로퍼티 값에 접근하는데 사용할 방도."
 
-#: index.docbook:180
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Species that changes to the state of the collection results in increment of the owning entity's version. (For one to many associations, it is often reasonable to disable this setting.)"
-msgstr "<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</literal>): 콜렉션의 상태에 대한 변경들이 소유하는 엔티티의 버전의 증가로 귀결될 것인지를 지정한다. (one to many 연관들에 대해, 이 설정을 사용 불가능하게 하는 것이 종종 합당하다.)"
+#. Tag: para
+#: collection_mapping.xml:180
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Species that changes to the state of the collection results in "
+"increment of the owning entity's version. (For one to many associations, it "
+"is often reasonable to disable this setting.)"
+msgstr ""
+"<literal>optimistic-lock</literal> (옵션 - 디폴트는 <literal>true</"
+"literal>): 콜렉션의 상태에 대한 변경들이 소유하는 엔티티의 버전의 증가로 귀결"
+"될 것인지를 지정한다. (one to many 연관들에 대해, 이 설정을 사용 불가능하게 "
+"하는 것이 종종 합당하다.)"
 
-#: index.docbook:188
-msgid "<literal>mutable</literal> (optional - defaults to <literal>true</literal>): A value of <literal>false</literal> specifies that the elements of the collection never change (a minor performance optimization in some cases)."
-msgstr "<literal>mutable</literal> (옵션 - 디폴트는 <literal>true</literal>): <literal>false</literal> 값은 콜렉션의 요소들이 결코 변경되지 않음을 지정한다. (몇몇 경우들에서 마이너 퍼포먼스 최적화)."
+#. Tag: para
+#: collection_mapping.xml:188
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional - defaults to <literal>true</literal>): "
+"A value of <literal>false</literal> specifies that the elements of the "
+"collection never change (a minor performance optimization in some cases)."
+msgstr ""
+"<literal>mutable</literal> (옵션 - 디폴트는 <literal>true</literal>): "
+"<literal>false</literal> 값은 콜렉션의 요소들이 결코 변경되지 않음을 지정한"
+"다. (몇몇 경우들에서 마이너 퍼포먼스 최적화)."
 
-#: index.docbook:198
+#. Tag: title
+#: collection_mapping.xml:198
+#, no-c-format
 msgid "Collection foreign keys"
 msgstr "콜렉션 foreign 키들"
 
-#: index.docbook:200
-msgid "Collection instances are distinguished in the database by the foreign key of the entity that owns the collection. This foreign key is referred to as the <emphasis>collection key column</emphasis> (or columns) of the collection table. The collection key column is mapped by the <literal>&lt;key&gt;</literal> element."
-msgstr "콜렉션 인스턴스들은 그 콜렉션을 소유하는 엔티티의 foreign 키에 의해 데이터베이스 내에서 구별지워진다. 이 foreign 키는 그 콜렉션 테이블의 <emphasis>콜렉션 키 컬럼</emphasis> (또는 컬럼들)로서 참조된다. 그 콜렉션 키 컬럼은 <literal>&lt;key&gt;</literal> 요소에 의해 매핑된다."
+#. Tag: para
+#: collection_mapping.xml:200
+#, no-c-format
+msgid ""
+"Collection instances are distinguished in the database by the foreign key of "
+"the entity that owns the collection. This foreign key is referred to as the "
+"<emphasis>collection key column</emphasis> (or columns) of the collection "
+"table. The collection key column is mapped by the <literal>&lt;key&gt;</"
+"literal> element."
+msgstr ""
+"콜렉션 인스턴스들은 그 콜렉션을 소유하는 엔티티의 foreign 키에 의해 데이터베"
+"이스 내에서 구별지워진다. 이 foreign 키는 그 콜렉션 테이블의 <emphasis>콜렉"
+"션 키 컬럼</emphasis> (또는 컬럼들)로서 참조된다. 그 콜렉션 키 컬럼은 "
+"<literal>&lt;key&gt;</literal> 요소에 의해 매핑된다."
 
-#: index.docbook:208
-msgid "There may be a nullability constraint on the foreign key column. For most collections, this is implied. For unidirectional one to many associations, the foreign key column is nullable by default, so you might need to specify <literal>not-null=\"true\"</literal>."
-msgstr "foreign 키 컬럼에 대한 null 허용 가능 컨스트레인트가 존재할 수 있다. 대부분의 콜렉션들에 대해, 이것이 당연히 수반된다. 단방향 one to many 연관들의 경우, foreign 키는 디폴트로 null 허용 가능하여서, 당신은 <literal>not-null=\"true\"</literal>를 지정할 필요가 있을 수 있다."
+#. Tag: para
+#: collection_mapping.xml:208
+#, no-c-format
+msgid ""
+"There may be a nullability constraint on the foreign key column. For most "
+"collections, this is implied. For unidirectional one to many associations, "
+"the foreign key column is nullable by default, so you might need to specify "
+"<literal>not-null=\"true\"</literal>."
+msgstr ""
+"foreign 키 컬럼에 대한 null 허용 가능 컨스트레인트가 존재할 수 있다. 대부분"
+"의 콜렉션들에 대해, 이것이 당연히 수반된다. 단방향 one to many 연관들의 경"
+"우, foreign 키는 디폴트로 null 허용 가능하여서, 당신은 <literal>not-null="
+"\"true\"</literal>를 지정할 필요가 있을 수 있다."
 
-#: index.docbook:215
+#. Tag: programlisting
+#: collection_mapping.xml:215
+#, no-c-format
 msgid "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
-msgstr "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
+msgstr ""
 
-#: index.docbook:217
-msgid "The foreign key constraint may use <literal>ON DELETE CASCADE</literal>."
-msgstr "foreign 키 컨스트레인트는 <literal>ON DELETE CASCADE</literal>를 사용할 수도 있다."
+#. Tag: para
+#: collection_mapping.xml:217
+#, no-c-format
+msgid ""
+"The foreign key constraint may use <literal>ON DELETE CASCADE</literal>."
+msgstr ""
+"foreign 키 컨스트레인트는 <literal>ON DELETE CASCADE</literal>를 사용할 수도 "
+"있다."
 
-#: index.docbook:221
+#. Tag: programlisting
+#: collection_mapping.xml:221
+#, no-c-format
 msgid "<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
-msgstr "<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
+msgstr ""
 
-#: index.docbook:223
-msgid "See the previous chapter for a full definition of the <literal>&lt;key&gt;</literal> element."
+#. Tag: para
+#: collection_mapping.xml:223
+#, no-c-format
+msgid ""
+"See the previous chapter for a full definition of the <literal>&lt;key&gt;</"
+"literal> element."
 msgstr "<literal>&lt;key&gt;</literal> 요소에 대한 전체 정의는 앞 장을 보라."
 
-#: index.docbook:231
+#. Tag: title
+#: collection_mapping.xml:231
+#, no-c-format
 msgid "Collection elements"
 msgstr "콜렉션 요소들"
 
-#: index.docbook:233
-msgid "Collections may contain almost any other Hibernate type, including all basic types, custom types, components, and of course, references to other entities. This is an important distinction: an object in a collection might be handled with \"value\" semantics (its life cycle fully depends on the collection owner) or it might be a reference to another entity, with its own life cycle. In the latter case, only the \"link\" between the two objects is considered to be state held by the collection."
-msgstr "콜렉션들은 모든 기본 타입들, 컴포넌트들, 그리고 물론 다른 엔티티들에 대한 참조들을 포함하여 거의 대부분의 어떤 다른 Hibernate 타입을 포함할 수도 있다. 이것은 중요한 구분이다: 콜렉션 내에 있는 객체는 \"값(value)\" 의미로 처리될 수도 있거나(그것의 생명주기는 콜렉션 소유자에 의존한다) 그것은 그것 자신의 생명주기를 가진 또 다른 엔티티에 대한 참조일 수 있다. 후자의 경우, 두 개의 객체들 사이의 \"링크\" 만이 그 콜렉션에 의해 소유된 상태로 간주된다."
+#. Tag: para
+#: collection_mapping.xml:233
+#, no-c-format
+msgid ""
+"Collections may contain almost any other Hibernate type, including all basic "
+"types, custom types, components, and of course, references to other "
+"entities. This is an important distinction: an object in a collection might "
+"be handled with \"value\" semantics (its life cycle fully depends on the "
+"collection owner) or it might be a reference to another entity, with its own "
+"life cycle. In the latter case, only the \"link\" between the two objects is "
+"considered to be state held by the collection."
+msgstr ""
+"콜렉션들은 모든 기본 타입들, 컴포넌트들, 그리고 물론 다른 엔티티들에 대한 참"
+"조들을 포함하여 거의 대부분의 어떤 다른 Hibernate 타입을 포함할 수도 있다. 이"
+"것은 중요한 구분이다: 콜렉션 내에 있는 객체는 \"값(value)\" 의미로 처리될 수"
+"도 있거나(그것의 생명주기는 콜렉션 소유자에 의존한다) 그것은 그것 자신의 생명"
+"주기를 가진 또 다른 엔티티에 대한 참조일 수 있다. 후자의 경우, 두 개의 객체"
+"들 사이의 \"링크\" 만이 그 콜렉션에 의해 소유된 상태로 간주된다."
 
-#: index.docbook:242
-msgid "The contained type is referred to as the <emphasis>collection element type</emphasis>. Collection elements are mapped by <literal>&lt;element&gt;</literal> or <literal>&lt;composite-element&gt;</literal>, or in the case of entity references, with <literal>&lt;one-to-many&gt;</literal> or <literal>&lt;many-to-many&gt;</literal>. The first two map elements with value semantics, the next two are used to map entity associations."
-msgstr "포함된 타입은 콜렉션 요소 타입으로서 불려진다. 콜렉션 요소들은 <literal>&lt;element&gt;</literal> 또는 <literal>&lt;composite-element&gt;</literal>에 의해 매핑되거나, 엔티티 참조들의 경우에 <literal>&lt;one-to-many&gt;</literal> 또는 <literal>&lt;many-to-many&gt;</literal>로서 매핑된다. 앞의 두 개는 value 의미를 가진 요소들을 매핑시키고, 뒤의 두개는 엔티티 연관들을 매핑하는데 사용된다."
+#. Tag: para
+#: collection_mapping.xml:242
+#, no-c-format
+msgid ""
+"The contained type is referred to as the <emphasis>collection element type</"
+"emphasis>. Collection elements are mapped by <literal>&lt;element&gt;</"
+"literal> or <literal>&lt;composite-element&gt;</literal>, or in the case of "
+"entity references, with <literal>&lt;one-to-many&gt;</literal> or "
+"<literal>&lt;many-to-many&gt;</literal>. The first two map elements with "
+"value semantics, the next two are used to map entity associations."
+msgstr ""
+"포함된 타입은 콜렉션 요소 타입으로서 불려진다. 콜렉션 요소들은 <literal>&lt;"
+"element&gt;</literal> 또는 <literal>&lt;composite-element&gt;</literal>에 의"
+"해 매핑되거나, 엔티티 참조들의 경우에 <literal>&lt;one-to-many&gt;</literal> "
+"또는 <literal>&lt;many-to-many&gt;</literal>로서 매핑된다. 앞의 두 개는 "
+"value 의미를 가진 요소들을 매핑시키고, 뒤의 두개는 엔티티 연관들을 매핑하는"
+"데 사용된다."
 
-#: index.docbook:254
+#. Tag: title
+#: collection_mapping.xml:254
+#, no-c-format
 msgid "Indexed collections"
 msgstr "인덱싱 된 콜렉션들"
 
-#: index.docbook:256
-msgid "All collection mappings, except those with set and bag semantics, need an <emphasis>index column</emphasis> in the collection table - a column that maps to an array index, or <literal>List</literal> index, or <literal>Map</literal> key. The index of a <literal>Map</literal> may be of any basic type, mapped with <literal>&lt;map-key&gt;</literal>, it may be an entity reference mapped with <literal>&lt;map-key-many-to-many&gt;</literal>, or it may be a composite type, mapped with <literal>&lt;composite-map-key&gt;</literal>. The index of an array or list is always of type <literal>integer</literal> and is mapped using the <literal>&lt;list-index&gt;</literal> element. The mapped column contains sequential integers (numbered from zero, by default)."
-msgstr "set 과 bag 의미들을 가진 것들을 제외하면, 모든 콜렉션 매핑들은 콜렉션 테이블 내에 <emphasis>인덱스 컬럼</emphasis>- 배열 인덱스, 또는 <literal>List</literal> 인덱스 또는 <literal>Map</literal> 키로 매핑되는 컬럼-을 필요로 한다. <literal>Map</literal>의 인덱스는 <literal>&lt;map-key&gt;</literal>로 매핑된, 어떤 기본 타입일 수 있고, 그것은 <literal>&lt;map-key-many-to-many&gt;</literal>로 매핑된 엔티티 참조일 수 있거나, 그것은 <literal>&lt;composite-map-key&gt;</literal>로 매핑된 composite 타입일 수 있다. 배열 또는 리스트의 인덱스는 항상 <literal>integer</literal> 타입이고 <literal>&lt;list-index&gt;</literal> 요소를 사용하여 매핑된다. 매핑된 컬럼은 순차적인 정수들을 포함한다(디폴트로 0에서 시작하는 번호가 붙여짐)."
+#. Tag: para
+#: collection_mapping.xml:256
+#, no-c-format
+msgid ""
+"All collection mappings, except those with set and bag semantics, need an "
+"<emphasis>index column</emphasis> in the collection table - a column that "
+"maps to an array index, or <literal>List</literal> index, or <literal>Map</"
+"literal> key. The index of a <literal>Map</literal> may be of any basic "
+"type, mapped with <literal>&lt;map-key&gt;</literal>, it may be an entity "
+"reference mapped with <literal>&lt;map-key-many-to-many&gt;</literal>, or it "
+"may be a composite type, mapped with <literal>&lt;composite-map-key&gt;</"
+"literal>. The index of an array or list is always of type <literal>integer</"
+"literal> and is mapped using the <literal>&lt;list-index&gt;</literal> "
+"element. The mapped column contains sequential integers (numbered from zero, "
+"by default)."
+msgstr ""
+"set 과 bag 의미들을 가진 것들을 제외하면, 모든 콜렉션 매핑들은 콜렉션 테이블 "
+"내에 <emphasis>인덱스 컬럼</emphasis>- 배열 인덱스, 또는 <literal>List</"
+"literal> 인덱스 또는 <literal>Map</literal> 키로 매핑되는 컬럼-을 필요로 한"
+"다. <literal>Map</literal>의 인덱스는 <literal>&lt;map-key&gt;</literal>로 매"
+"핑된, 어떤 기본 타입일 수 있고, 그것은 <literal>&lt;map-key-many-to-many&gt;"
+"</literal>로 매핑된 엔티티 참조일 수 있거나, 그것은 <literal>&lt;composite-"
+"map-key&gt;</literal>로 매핑된 composite 타입일 수 있다. 배열 또는 리스트의 "
+"인덱스는 항상 <literal>integer</literal> 타입이고 <literal>&lt;list-index&gt;"
+"</literal> 요소를 사용하여 매핑된다. 매핑된 컬럼은 순차적인 정수들을 포함한다"
+"(디폴트로 0에서 시작하는 번호가 붙여짐)."
 
-#: index.docbook:267
+#. Tag: sect2
+#: collection_mapping.xml:267
+#, no-c-format
 msgid ""
-      "<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id=\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-index \n"
-      "        column=\"column_name\"\n"
-      "        base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout arearefs=\"index1\"> <para> <literal>column_name</literal> (required): The name of the column holding the collection index values. </para> </callout> <callout arearefs=\"index1\"> <para> <literal>base</literal> (optional, defaults to <literal>0</literal>): The value of the index column that corresponds to the first element of the list or array. </para> </callout> </calloutlist> </programlistingco> <programlistingco> <areaspec> <area id=\"mapkey1\" coords=\"2 45\"/> <area id=\"mapkey2\" coords=\"3 45\"/> <area id=\"mapkey3\" coords=\"4 45\"/> </areaspec> <programlisting><![CDATA[<map-key \n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        type=\"type_name\"\n"
-      "        node=\"@attribute-name\"\n"
-      "        length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs=\"mapkey1\"> <para> <literal>column</literal> (optional): The name of the column holding the collection index values. </para> </callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> (optional): A SQL formula used to evaluate the key of the map. </para> </callout> <callout arearefs=\"mapkey3\"> <para> <literal>type</literal> (reguired): The type of the map keys. </para> </callout> </calloutlist> </programlistingco> <programlistingco> <areaspec> <area id=\"indexmanytomany1\" coords=\"2 45\"/> <area id=\"indexmanytomany2\" coords=\"3 45\"/> <area id=\"indexmanytomany3\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<map-key-many-to-many\n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        class=\"ClassName\"\n"
-      "/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> <para> <literal>column</literal> (optional): The name of the foreign key column for the collection index values. </para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> <literal>formula</literal> (optional): A SQL formula used to evaluate the foreign key of the map key. </para> </callout> <callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> (required): The entity class used as the map key. </para> </callout> </calloutlist> </programlistingco>"
+"<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id="
+"\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-"
+"index \n"
+"        column=\"column_name\"\n"
+"        base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout "
+"arearefs=\"index1\"> <para> <literal>column_name</literal> (required): The "
+"name of the column holding the collection index values. </para> </callout> "
+"<callout arearefs=\"index1\"> <para> <literal>base</literal> (optional, "
+"defaults to <literal>0</literal>): The value of the index column that "
+"corresponds to the first element of the list or array. </para> </callout> </"
+"calloutlist> </programlistingco> <programlistingco> <areaspec> <area id="
+"\"mapkey1\" coords=\"2 45\"/> <area id=\"mapkey2\" coords=\"3 45\"/> <area "
+"id=\"mapkey3\" coords=\"4 45\"/> </areaspec> <programlisting><![CDATA[<map-"
+"key \n"
+"        column=\"column_name\"\n"
+"        formula=\"any SQL expression\"\n"
+"        type=\"type_name\"\n"
+"        node=\"@attribute-name\"\n"
+"        length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs="
+"\"mapkey1\"> <para> <literal>column</literal> (optional): The name of the "
+"column holding the collection index values. </para> </callout> <callout "
+"arearefs=\"mapkey2\"> <para> <literal>formula</literal> (optional): A SQL "
+"formula used to evaluate the key of the map. </para> </callout> <callout "
+"arearefs=\"mapkey3\"> <para> <literal>type</literal> (reguired): The type of "
+"the map keys. </para> </callout> </calloutlist> </programlistingco> "
+"<programlistingco> <areaspec> <area id=\"indexmanytomany1\" coords=\"2 45\"/"
+"> <area id=\"indexmanytomany2\" coords=\"3 45\"/> <area id=\"indexmanytomany3"
+"\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<map-key-many-to-"
+"many\n"
+"        column=\"column_name\"\n"
+"        formula=\"any SQL expression\"\n"
+"        class=\"ClassName\"\n"
+"/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> "
+"<para> <literal>column</literal> (optional): The name of the foreign key "
+"column for the collection index values. </para> </callout> <callout arearefs="
+"\"indexmanytomany2\"> <para> <literal>formula</literal> (optional): A SQL "
+"formula used to evaluate the foreign key of the map key. </para> </callout> "
+"<callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> "
+"(required): The entity class used as the map key. </para> </callout> </"
+"calloutlist> </programlistingco>"
 msgstr ""
-      "<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id=\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-index \n"
-      "        column=\"column_name\"\n"
-      "        base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout arearefs=\"index1\"> <para> <literal>column_name</literal> (필수): 콜렉션 인덱스 값들을 보관하는 컬럼의 이름. </para> </callout> <callout arearefs=\"index1\"> <para> <literal>base</literal> (옵션, 디폴트는 <literal>0</literal>): 리스트 또는 배열의 첫 번째 요소에 대응하는 인덱스 컬럼의 값. </para> </callout> </calloutlist> </programlistingco> <programlistingco> <areaspec> <area id=\"mapkey1\" coords=\"2 45\"/> <area id=\"mapkey2\" coords=\"3 45\"/> <area id=\"mapkey3\" coords=\"4 45\"/> </areaspec> <programlisting><![CDATA[<map-key \n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        type=\"type_name\"\n"
-      "        node=\"@attribute-name\"\n"
-      "        length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs=\"mapkey1\"> <para> <literal>column</literal> (옵션): 콜렉션 인덱스 값들을 보관하는 컬럼의 이름. </para> </callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> (옵션): map의 키를 평가하는데 사용되는 SQL formula. </para> </callout> <callout arearefs=\"mapkey3\"> <para> <literal>type</literal> (필수): The type of the map 키들의 타입 </para> </callout> </calloutlist> </programlistingco> <programlistingco> <areaspec> <area id=\"indexmanytomany1\" coords=\"2 45\"/> <area id=\"indexmanytomany2\" coords=\"3 45\"/> <area id=\"indexmanytomany3\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<map-key-many-to-many\n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        class=\"ClassName\"\n"
-      "/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> <para> <literal>column</literal> (옵션): 콜렉션 인덱스 값들에 대한 foreign 키 컬럼의 이름. </para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> <literal>formula</literal> (옵션): map의 foreign 키를 평가하는데 사용되는 SQL formula. </para> </callout> <callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> (필수): map 키로서 사용되는 엔티티 클래스. </para> </callout> </calloutlist> </programlistingco>"
 
-#: index.docbook:348
-msgid "If your table doesn't have an index column, and you still wish to use <literal>List</literal> as the property type, you should map the property as a Hibernate <emphasis>&lt;bag&gt;</emphasis>. A bag does not retain its order when it is retrieved from the database, but it may be optionally sorted or ordered."
-msgstr "만일 당신의 테이블이 인덱스 컬럼을 가지 않고, 당신이 여전히 프로퍼티 타입으로서 <literal>List</literal>를 사용하고자 원할 경우, 당신은 그 프로퍼티를 Hibernate <emphasis>&lt;bag&gt;</emphasis>으로서 매핑해야 한다. bag이 데이터베이스로부터 검색될 때 그것은 그것의 순서를 보유하지 않지만, 그것은 선택적으로 정렬(sorting)되거나 ordering될 수도 있다."
+#. Tag: para
+#: collection_mapping.xml:348
+#, no-c-format
+msgid ""
+"If your table doesn't have an index column, and you still wish to use "
+"<literal>List</literal> as the property type, you should map the property as "
+"a Hibernate <emphasis>&lt;bag&gt;</emphasis>. A bag does not retain its "
+"order when it is retrieved from the database, but it may be optionally "
+"sorted or ordered."
+msgstr ""
+"만일 당신의 테이블이 인덱스 컬럼을 가지 않고, 당신이 여전히 프로퍼티 타입으로"
+"서 <literal>List</literal>를 사용하고자 원할 경우, 당신은 그 프로퍼티를 "
+"Hibernate <emphasis>&lt;bag&gt;</emphasis>으로서 매핑해야 한다. bag이 데이터"
+"베이스로부터 검색될 때 그것은 그것의 순서를 보유하지 않지만, 그것은 선택적으"
+"로 정렬(sorting)되거나 ordering될 수도 있다."
 
-#: index.docbook:357
-msgid "There are quite a range of mappings that can be generated for collections, covering many common relational models. We suggest you experiment with the schema generation tool to get a feeling for how various mapping declarations translate to database tables."
-msgstr "많은 공통된 관계형 모형들을 다루는, 콜렉션들에 대해 생성될 수 있는 매핑들의 영역이 꽤 존재한다. 여러가지 매핑 선언들이 데이터베이스 테이블들로 변환되는 방법을 당신이 느끼려면 스키마 생성 도구로 실험할 것을 우리는 제안한다."
+#. Tag: para
+#: collection_mapping.xml:357
+#, no-c-format
+msgid ""
+"There are quite a range of mappings that can be generated for collections, "
+"covering many common relational models. We suggest you experiment with the "
+"schema generation tool to get a feeling for how various mapping declarations "
+"translate to database tables."
+msgstr ""
+"많은 공통된 관계형 모형들을 다루는, 콜렉션들에 대해 생성될 수 있는 매핑들의 "
+"영역이 꽤 존재한다. 여러가지 매핑 선언들이 데이터베이스 테이블들로 변환되는 "
+"방법을 당신이 느끼려면 스키마 생성 도구로 실험할 것을 우리는 제안한다."
 
-#: index.docbook:364
+#. Tag: title
+#: collection_mapping.xml:364
+#, no-c-format
 msgid "Collections of values and many-to-many associations"
 msgstr "값들을 가진 콜렉션들과 many-to-many 연관들"
 
-#: index.docbook:366
-msgid "Any collection of values or many-to-many association requires a dedicated <emphasis>collection table</emphasis> with a foreign key column or columns, <emphasis>collection element column</emphasis> or columns and possibly an index column or columns."
-msgstr "어떤 값들을 가진 콜렉션 또는 many-to-many 연관은 foreign 키 컬럼이나 컬럼들, <emphasis>콜렉션 요소 컬럼</emphasis>이나 컬럼들 그리고 가능하면 인덱스 컬럼들이나 컬럼들을 가진 전용 <emphasis>콜렉션 테이블</emphasis>을 필요로 한다."
+#. Tag: para
+#: collection_mapping.xml:366
+#, no-c-format
+msgid ""
+"Any collection of values or many-to-many association requires a dedicated "
+"<emphasis>collection table</emphasis> with a foreign key column or columns, "
+"<emphasis>collection element column</emphasis> or columns and possibly an "
+"index column or columns."
+msgstr ""
+"어떤 값들을 가진 콜렉션 또는 many-to-many 연관은 foreign 키 컬럼이나 컬럼들, "
+"<emphasis>콜렉션 요소 컬럼</emphasis>이나 컬럼들 그리고 가능하면 인덱스 컬럼"
+"들이나 컬럼들을 가진 전용 <emphasis>콜렉션 테이블</emphasis>을 필요로 한다."
 
-#: index.docbook:373
-msgid "For a collection of values, we use the <literal>&lt;element&gt;</literal> tag."
-msgstr "값들을 가진 콜렉션의 경우, 우리는 <literal>&lt;element&gt;</literal> 태그를 사용한다."
+#. Tag: para
+#: collection_mapping.xml:373
+#, no-c-format
+msgid ""
+"For a collection of values, we use the <literal>&lt;element&gt;</literal> "
+"tag."
+msgstr ""
+"값들을 가진 콜렉션의 경우, 우리는 <literal>&lt;element&gt;</literal> 태그를 "
+"사용한다."
 
-#: index.docbook:375
+#. Tag: sect2
+#: collection_mapping.xml:375
+#, no-c-format
 msgid ""
-      "<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> </areaspec> <programlisting><![CDATA[<element\n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        type=\"typename\"\n"
-      "        length=\"L\"\n"
-      "        precision=\"P\"\n"
-      "        scale=\"S\"\n"
-      "        not-null=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        node=\"element-name\"\n"
-      "/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> <literal>column</literal> (optional): The name of the column holding the collection element values. </para> </callout> <callout arearefs=\"element2b\"> <para> <literal>formula</literal> (optional): An SQL formula used to evaluate the element. </para> </callout> <callout arearefs=\"element3b\"> <para> <literal>type</literal> (required): The type of the collection element. </para> </callout> </calloutlist> </programlistingco> <para> A <emphasis>many-to-many association</emphasis> is specified using the <literal>&lt;many-to-many&gt;</literal> element. </para> <programlistingco> <areaspec> <area id=\"manytomany1\" coords=\"2 60\"/> <area id=\"manytomany2\" coords=\"3 60\"/> <area id=\"manytomany3\" coords=\"4 60\"/> <area id=\"manytomany4\" coords=\"5 60\"/> <area id=\"manytomany5\" coords=\"6 60\"/> <area id=\"manytomany6\" coords=\"7 60\"/> <area id=\"manytomany7\" coords=\"8 60\"/> <area id=\!
 "manytomany8\" coords=\"9 60\"/> </areaspec> <programlisting><![CDATA[<many-to-many\n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        class=\"ClassName\"\n"
-      "        fetch=\"select|join\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        property-ref=\"propertyNameFromAssociatedClass\"\n"
-      "        node=\"element-name\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "    />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> <para> <literal>column</literal> (optional): The name of the element foreign key column. </para> </callout> <callout arearefs=\"manytomany2\"> <para> <literal>formula</literal> (optional): An SQL formula used to evaluate the element foreign key value. </para> </callout> <callout arearefs=\"manytomany3\"> <para> <literal>class</literal> (required): The name of the associated class. </para> </callout> <callout arearefs=\"manytomany4\"> <para> <literal>fetch</literal> (optional - defaults to <literal>join</literal>): enables outer-join or sequential select fetching for this association. This is a special case; for full eager fetching (in a single <literal>SELECT</literal>) of an entity and its many-to-many relationships to other entities, you would enable <literal>join</literal> fetching not only of the collection itself, but also with this attribute on the <literal>&lt;many-to-many&gt;</literal!
 > nested element. </para> </callout> <callout arearefs=\"manytomany5\"> <para> <literal>unique</literal> (optional): Enable the DDL generation of a unique constraint for the foreign-key column. This makes the association multiplicity effectively one to many. </para> </callout> <callout arearefs=\"manytomany6\"> <para> <literal>not-found</literal> (optional - defaults to <literal>exception</literal>): Specifies how foreign keys that reference missing rows will be handled: <literal>ignore</literal> will treat a missing row as a null association. </para> </callout> <callout arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (optional): The entity name of the associated class, as an alternative to <literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8\"> <para> <literal>property-ref</literal>: (optional) The name of a property of the associated class that is joined to this foreign key. If not specified, the primary key of the associated class !
 is used. </para> </callout> </calloutlist> </programlistingco>"
+"<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area "
+"id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> "
+"</areaspec> <programlisting><![CDATA[<element\n"
+"        column=\"column_name\"\n"
+"        formula=\"any SQL expression\"\n"
+"        type=\"typename\"\n"
+"        length=\"L\"\n"
+"        precision=\"P\"\n"
+"        scale=\"S\"\n"
+"        not-null=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+"        node=\"element-name\"\n"
+"/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> "
+"<literal>column</literal> (optional): The name of the column holding the "
+"collection element values. </para> </callout> <callout arearefs=\"element2b"
+"\"> <para> <literal>formula</literal> (optional): An SQL formula used to "
+"evaluate the element. </para> </callout> <callout arearefs=\"element3b\"> "
+"<para> <literal>type</literal> (required): The type of the collection "
+"element. </para> </callout> </calloutlist> </programlistingco> <para> A "
+"<emphasis>many-to-many association</emphasis> is specified using the "
+"<literal>&lt;many-to-many&gt;</literal> element. </para> <programlistingco> "
+"<areaspec> <area id=\"manytomany1\" coords=\"2 60\"/> <area id=\"manytomany2"
+"\" coords=\"3 60\"/> <area id=\"manytomany3\" coords=\"4 60\"/> <area id="
+"\"manytomany4\" coords=\"5 60\"/> <area id=\"manytomany5\" coords=\"6 60\"/> "
+"<area id=\"manytomany6\" coords=\"7 60\"/> <area id=\"manytomany7\" coords="
+"\"8 60\"/> <area id=\"manytomany8\" coords=\"9 60\"/> </areaspec> "
+"<programlisting><![CDATA[<many-to-many\n"
+"        column=\"column_name\"\n"
+"        formula=\"any SQL expression\"\n"
+"        class=\"ClassName\"\n"
+"        fetch=\"select|join\"\n"
+"        unique=\"true|false\"\n"
+"        not-found=\"ignore|exception\"\n"
+"        entity-name=\"EntityName\"\n"
+"        property-ref=\"propertyNameFromAssociatedClass\"\n"
+"        node=\"element-name\"\n"
+"        embed-xml=\"true|false\"\n"
+"    />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> "
+"<para> <literal>column</literal> (optional): The name of the element foreign "
+"key column. </para> </callout> <callout arearefs=\"manytomany2\"> <para> "
+"<literal>formula</literal> (optional): An SQL formula used to evaluate the "
+"element foreign key value. </para> </callout> <callout arearefs=\"manytomany3"
+"\"> <para> <literal>class</literal> (required): The name of the associated "
+"class. </para> </callout> <callout arearefs=\"manytomany4\"> <para> "
+"<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
+"enables outer-join or sequential select fetching for this association. This "
+"is a special case; for full eager fetching (in a single <literal>SELECT</"
+"literal>) of an entity and its many-to-many relationships to other entities, "
+"you would enable <literal>join</literal> fetching not only of the collection "
+"itself, but also with this attribute on the <literal>&lt;many-to-many&gt;</"
+"literal> nested element. </para> </callout> <callout arearefs=\"manytomany5"
+"\"> <para> <literal>unique</literal> (optional): Enable the DDL generation "
+"of a unique constraint for the foreign-key column. This makes the "
+"association multiplicity effectively one to many. </para> </callout> "
+"<callout arearefs=\"manytomany6\"> <para> <literal>not-found</literal> "
+"(optional - defaults to <literal>exception</literal>): Specifies how foreign "
+"keys that reference missing rows will be handled: <literal>ignore</literal> "
+"will treat a missing row as a null association. </para> </callout> <callout "
+"arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (optional): "
+"The entity name of the associated class, as an alternative to "
+"<literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8"
+"\"> <para> <literal>property-ref</literal>: (optional) The name of a "
+"property of the associated class that is joined to this foreign key. If not "
+"specified, the primary key of the associated class is used. </para> </"
+"callout> </calloutlist> </programlistingco>"
 msgstr ""
-      "<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> </areaspec> <programlisting><![CDATA[<element\n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        type=\"typename\"\n"
-      "        length=\"L\"\n"
-      "        precision=\"P\"\n"
-      "        scale=\"S\"\n"
-      "        not-null=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        node=\"element-name\"\n"
-      "/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> <literal>column</literal> (옵션): 콜렉션 요소 값들을 소유하는 컬럼의 이름. </para> </callout> <callout arearefs=\"element2b\"> <para> <literal>formula</literal> (옵션): 요소를 평가하는데 사용되는 SQL formula. </para> </callout> <callout arearefs=\"element3b\"> <para> <literal>type</literal> (필수): 콜렉션 요소의 타입. </para> </callout> </calloutlist> </programlistingco> <para> <emphasis>many-to-many association</emphasis> 연관은 <literal>&lt;many-to-many&gt;</literal> 요소를 사용하여 지정된다. </para> <programlistingco> <areaspec> <area id=\"manytomany1\" coords=\"2 60\"/> <area id=\"manytomany2\" coords=\"3 60\"/> <area id=\"manytomany3\" coords=\"4 60\"/> <area id=\"manytomany4\" coords=\"5 60\"/> <area id=\"manytomany5\" coords=\"6 60\"/> <area id=\"manytomany6\" coords=\"7 60\"/> <area id=\"manytomany7\" coords=\"8 60\"/> <area id!
 =\"manytomany8\" coords=\"9 60\"/> </areaspec> <programlisting><![CDATA[<many-to-many\n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        class=\"ClassName\"\n"
-      "        fetch=\"select|join\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        property-ref=\"propertyNameFromAssociatedClass\"\n"
-      "        node=\"element-name\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "    />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> <para> <literal>column</literal> (옵션): 요소 foreign 키 컬럼의 이름. </para> </callout> <callout arearefs=\"manytomany2\"> <para> <literal>formula</literal> (옵션): 요소 foreign 키 값을 평가하는데 사용되는 SQL formula. </para> </callout> <callout arearefs=\"manytomany3\"> <para> <literal>class</literal> (필수): 연관된 클래스의 이름. </para> </callout> <callout arearefs=\"manytomany4\"> <para> <literal>fetch</literal> (옵션 - 디폴트는 <literal>join</literal>): 이 연관에 대해 outer-join 페칭 또는 sequential select 페칭을 이용 가능하게 만든다. 이것은 특별한 경우이다; 엔티티 그리고 다른 엔티티들과 그것의 many-to-many 관계들에 대한 (하나의 <literal>SELECT</literal> 내에서) 전체 eager 페칭의 경우, 당신은 콜렉션 그 자체에 대해서 뿐만 아니라 내포된 요소 <literal>&lt;ma!
 ny-to-many&gt;</literal> 상의 이 속성에 대해 <literal>join</literal> 페칭을 이용 가능하게 할 것이다. </para> </callout> <callout arearefs=\"manytomany5\"> <para> <literal>unique</literal> (옵션): foreign-key 컬럼에 대한 유일 컨스트레인트의 DDL 생성을 가능하도록 한다. 이것은 연관 다중성 (association multiplicity)을 효율적으로 one to many로 만든다. </para> </callout> <callout arearefs=\"manytomany6\"> <para> <literal>not-found</literal> (옵션 - 디폴트는 <literal>exception</literal>): 누락된 행들을 참조하는 foreign 키들이 어떻게 처리될 것인지를 지정한다: <literal>ignore</literal>는 누락된 한 행을 한 개의 연관으로 다룰 것이다. </para> </callout> <callout arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (옵션): <literal>class</literal>에 대한 하나의 대안으로서, 연관된 클래스의 엔티티 이름. </para> </callout> <callout arearef!
 s=\"manytomany8\"> <para> <literal>property-ref</literal>: (옵션) ì
´ foreign 키에 조인된 ì—°ê´€ 클래스의 프로퍼티의 이름. 지정되지 않을 경우, ì—°ê´€ 클래스의 프라이머리 키가 사용된다. </para> </callout> </calloutlist> </programlistingco>"
 
-#: index.docbook:480
+#. Tag: para
+#: collection_mapping.xml:480
+#, no-c-format
 msgid "Some examples, first, a set of strings:"
 msgstr "몇몇 예제들, 먼저 문자열들을 가진 set:"
 
-#: index.docbook:484
+#. Tag: programlisting
+#: collection_mapping.xml:484
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"names\" table=\"person_names\">\n"
-      "    <key column=\"person_id\"/>\n"
-      "    <element column=\"person_name\" type=\"string\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"names\" table=\"person_names\">\n"
+"    <key column=\"person_id\"/>\n"
+"    <element column=\"person_name\" type=\"string\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"names\" table=\"person_names\">\n"
-      "    <key column=\"person_id\"/>\n"
-      "    <element column=\"person_name\" type=\"string\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:486
-msgid "A bag containing integers (with an iteration order determined by the <literal>order-by</literal> attribute):"
-msgstr "(<literal>order-by</literal> 속성에 의해 결정되는 반복 순서를 가진) 정수들을 포함하는 bag :"
+#. Tag: para
+#: collection_mapping.xml:486
+#, no-c-format
+msgid ""
+"A bag containing integers (with an iteration order determined by the "
+"<literal>order-by</literal> attribute):"
+msgstr ""
+"(<literal>order-by</literal> 속성에 의해 결정되는 반복 순서를 가진) 정수들을 "
+"포함하는 bag :"
 
-#: index.docbook:491
+#. Tag: programlisting
+#: collection_mapping.xml:491
+#, no-c-format
 msgid ""
-      "<![CDATA[<bag name=\"sizes\" \n"
-      "        table=\"item_sizes\" \n"
-      "        order-by=\"size asc\">\n"
-      "    <key column=\"item_id\"/>\n"
-      "    <element column=\"size\" type=\"integer\"/>\n"
-      "</bag>]]>"
+"<![CDATA[<bag name=\"sizes\" \n"
+"        table=\"item_sizes\" \n"
+"        order-by=\"size asc\">\n"
+"    <key column=\"item_id\"/>\n"
+"    <element column=\"size\" type=\"integer\"/>\n"
+"</bag>]]>"
 msgstr ""
-      "<![CDATA[<bag name=\"sizes\" \n"
-      "        table=\"item_sizes\" \n"
-      "        order-by=\"size asc\">\n"
-      "    <key column=\"item_id\"/>\n"
-      "    <element column=\"size\" type=\"integer\"/>\n"
-      "</bag>]]>"
 
-#: index.docbook:493
+#. Tag: para
+#: collection_mapping.xml:493
+#, no-c-format
 msgid "An array of entities - in this case, a many to many association:"
 msgstr "엔티티들을 가진 배열 - 이 경우에, many to many 연관 :"
 
-#: index.docbook:497
+#. Tag: programlisting
+#: collection_mapping.xml:497
+#, no-c-format
 msgid ""
-      "<![CDATA[<array name=\"addresses\" \n"
-      "        table=\"PersonAddress\" \n"
-      "        cascade=\"persist\">\n"
-      "    <key column=\"personId\"/>\n"
-      "    <list-index column=\"sortOrder\"/>\n"
-      "    <many-to-many column=\"addressId\" class=\"Address\"/>\n"
-      "</array>]]>"
+"<![CDATA[<array name=\"addresses\" \n"
+"        table=\"PersonAddress\" \n"
+"        cascade=\"persist\">\n"
+"    <key column=\"personId\"/>\n"
+"    <list-index column=\"sortOrder\"/>\n"
+"    <many-to-many column=\"addressId\" class=\"Address\"/>\n"
+"</array>]]>"
 msgstr ""
-      "<![CDATA[<array name=\"addresses\" \n"
-      "        table=\"PersonAddress\" \n"
-      "        cascade=\"persist\">\n"
-      "    <key column=\"personId\"/>\n"
-      "    <list-index column=\"sortOrder\"/>\n"
-      "    <many-to-many column=\"addressId\" class=\"Address\"/>\n"
-      "</array>]]>"
 
-#: index.docbook:499
+#. Tag: para
+#: collection_mapping.xml:499
+#, no-c-format
 msgid "A map from string indices to dates:"
 msgstr "날짜들에 대한 문자열 인덱스들을 가진 map :"
 
-#: index.docbook:503
+#. Tag: programlisting
+#: collection_mapping.xml:503
+#, no-c-format
 msgid ""
-      "<![CDATA[<map name=\"holidays\" \n"
-      "        table=\"holidays\" \n"
-      "        schema=\"dbo\" \n"
-      "        order-by=\"hol_name asc\">\n"
-      "    <key column=\"id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date\" type=\"date\"/>\n"
-      "</map>]]>"
+"<![CDATA[<map name=\"holidays\" \n"
+"        table=\"holidays\" \n"
+"        schema=\"dbo\" \n"
+"        order-by=\"hol_name asc\">\n"
+"    <key column=\"id\"/>\n"
+"    <map-key column=\"hol_name\" type=\"string\"/>\n"
+"    <element column=\"hol_date\" type=\"date\"/>\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<map name=\"holidays\" \n"
-      "        table=\"holidays\" \n"
-      "        schema=\"dbo\" \n"
-      "        order-by=\"hol_name asc\">\n"
-      "    <key column=\"id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date\" type=\"date\"/>\n"
-      "</map>]]>"
 
-#: index.docbook:505
+#. Tag: para
+#: collection_mapping.xml:505
+#, no-c-format
 msgid "A list of components (discussed in the next chapter):"
 msgstr "컴포넌트들의 리스트(다음 장에서 논의됨):"
 
-#: index.docbook:509
+#. Tag: programlisting
+#: collection_mapping.xml:509
+#, no-c-format
 msgid ""
-      "<![CDATA[<list name=\"carComponents\" \n"
-      "        table=\"CarComponents\">\n"
-      "    <key column=\"carId\"/>\n"
-      "    <list-index column=\"sortOrder\"/>\n"
-      "    <composite-element class=\"CarComponent\">\n"
-      "        <property name=\"price\"/>\n"
-      "        <property name=\"type\"/>\n"
-      "        <property name=\"serialNumber\" column=\"serialNum\"/>\n"
-      "    </composite-element>\n"
-      "</list>]]>"
+"<![CDATA[<list name=\"carComponents\" \n"
+"        table=\"CarComponents\">\n"
+"    <key column=\"carId\"/>\n"
+"    <list-index column=\"sortOrder\"/>\n"
+"    <composite-element class=\"CarComponent\">\n"
+"        <property name=\"price\"/>\n"
+"        <property name=\"type\"/>\n"
+"        <property name=\"serialNumber\" column=\"serialNum\"/>\n"
+"    </composite-element>\n"
+"</list>]]>"
 msgstr ""
-      "<![CDATA[<list name=\"carComponents\" \n"
-      "        table=\"CarComponents\">\n"
-      "    <key column=\"carId\"/>\n"
-      "    <list-index column=\"sortOrder\"/>\n"
-      "    <composite-element class=\"CarComponent\">\n"
-      "        <property name=\"price\"/>\n"
-      "        <property name=\"type\"/>\n"
-      "        <property name=\"serialNumber\" column=\"serialNum\"/>\n"
-      "    </composite-element>\n"
-      "</list>]]>"
 
-#: index.docbook:514
+#. Tag: title
+#: collection_mapping.xml:514
+#, no-c-format
 msgid "One-to-many associations"
 msgstr "One-to-many 연관들"
 
-#: index.docbook:516
-msgid "A <emphasis>one to many association</emphasis> links the tables of two classes via a foreign key, with no intervening collection table. This mapping loses certain semantics of normal Java collections:"
-msgstr "<emphasis>one to many 연관</emphasis>은 중재하는 콜렉션 테이블 없이 foreign 키를 통해 두 개의 클래스들의 테이블들을 연결시킨다. 이 매핑은 통상의 자바 콜렉션들의 어떤 의미를 상실한다:"
+#. Tag: para
+#: collection_mapping.xml:516
+#, no-c-format
+msgid ""
+"A <emphasis>one to many association</emphasis> links the tables of two "
+"classes via a foreign key, with no intervening collection table. This "
+"mapping loses certain semantics of normal Java collections:"
+msgstr ""
+"<emphasis>one to many 연관</emphasis>은 중재하는 콜렉션 테이블 없이 foreign "
+"키를 통해 두 개의 클래스들의 테이블들을 연결시킨다. 이 매핑은 통상의 자바 콜"
+"렉션들의 어떤 의미를 상실한다:"
 
-#: index.docbook:524
-msgid "An instance of the contained entity class may not belong to more than one instance of the collection"
-msgstr "포함된 엔티티 클래스의 인스턴스는 그 콜렉션의 하나 이상의 인스턴스에 속하지 않을 수 있다"
+#. Tag: para
+#: collection_mapping.xml:524
+#, no-c-format
+msgid ""
+"An instance of the contained entity class may not belong to more than one "
+"instance of the collection"
+msgstr ""
+"포함된 엔티티 클래스의 인스턴스는 그 콜렉션의 하나 이상의 인스턴스에 속하지 "
+"않을 수 있다"
 
-#: index.docbook:530
-msgid "An instance of the contained entity class may not appear at more than one value of the collection index"
-msgstr "포함된 엔티티 클래스의 인스턴스는 콜렉션 인덱스의 하나 이상의 값에서 나타나지 않을 수 있다"
+#. Tag: para
+#: collection_mapping.xml:530
+#, no-c-format
+msgid ""
+"An instance of the contained entity class may not appear at more than one "
+"value of the collection index"
+msgstr ""
+"포함된 엔티티 클래스의 인스턴스는 콜렉션 인덱스의 하나 이상의 값에서 나타나"
+"지 않을 수 있다"
 
-#: index.docbook:537
-msgid "An association from <literal>Product</literal> to <literal>Part</literal> requires existence of a foreign key column and possibly an index column to the <literal>Part</literal> table. A <literal>&lt;one-to-many&gt;</literal> tag indicates that this is a one to many association."
-msgstr "<literal>Product</literal>로부터 <literal>Part</literal>로의 연관은 foreign 키 컬럼과 <literal>Part</literal> 테이블에 대한 인덱스 컬럼의 존재를 필요로 한다. <literal>&lt;one-to-many&gt;</literal> 태그는 이것이 one to many 연관임을 나타낸다."
+#. Tag: para
+#: collection_mapping.xml:537
+#, no-c-format
+msgid ""
+"An association from <literal>Product</literal> to <literal>Part</literal> "
+"requires existence of a foreign key column and possibly an index column to "
+"the <literal>Part</literal> table. A <literal>&lt;one-to-many&gt;</literal> "
+"tag indicates that this is a one to many association."
+msgstr ""
+"<literal>Product</literal>로부터 <literal>Part</literal>로의 연관은 foreign "
+"키 컬럼과 <literal>Part</literal> 테이블에 대한 인덱스 컬럼의 존재를 필요로 "
+"한다. <literal>&lt;one-to-many&gt;</literal> 태그는 이것이 one to many 연관임"
+"을 나타낸다."
 
-#: index.docbook:550
+#. Tag: programlisting
+#: collection_mapping.xml:550
+#, no-c-format
 msgid ""
-      "<![CDATA[<one-to-many \n"
-      "        class=\"ClassName\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "    />]]>"
+"<![CDATA[<one-to-many \n"
+"        class=\"ClassName\"\n"
+"        not-found=\"ignore|exception\"\n"
+"        entity-name=\"EntityName\"\n"
+"        node=\"element-name\"\n"
+"        embed-xml=\"true|false\"\n"
+"    />]]>"
 msgstr ""
-      "<![CDATA[<one-to-many \n"
-      "        class=\"ClassName\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "    />]]>"
 
-#: index.docbook:553
+#. Tag: para
+#: collection_mapping.xml:553
+#, no-c-format
 msgid "<literal>class</literal> (required): The name of the associated class."
 msgstr "<literal>class</literal> (필수): 연관된 클래스의 이름."
 
-#: index.docbook:558
-msgid "<literal>not-found</literal> (optional - defaults to <literal>exception</literal>): Specifies how cached identifiers that reference missing rows will be handled: <literal>ignore</literal> will treat a missing row as a null association."
-msgstr "<literal>not-found</literal> (옵션 - 디폴트는 <literal>exception</literal>): 누락된 행들을 참조하는 캐시된 식별자들이 어떻게 처리될 것인지를 지정한다: <literal>ignore</literal>는 누락된 한 행을 한 개의 연관으로 다룰 것이다."
+#. Tag: para
+#: collection_mapping.xml:558
+#, no-c-format
+msgid ""
+"<literal>not-found</literal> (optional - defaults to <literal>exception</"
+"literal>): Specifies how cached identifiers that reference missing rows will "
+"be handled: <literal>ignore</literal> will treat a missing row as a null "
+"association."
+msgstr ""
+"<literal>not-found</literal> (옵션 - 디폴트는 <literal>exception</literal>): "
+"누락된 행들을 참조하는 캐시된 식별자들이 어떻게 처리될 것인지를 지정한다: "
+"<literal>ignore</literal>는 누락된 한 행을 한 개의 연관으로 다룰 것이다."
 
-#: index.docbook:565
-msgid "<literal>entity-name</literal> (optional): The entity name of the associated class, as an alternative to <literal>class</literal>."
-msgstr "<literal>entity-name</literal> (옵션): <literal>class</literal>에 대한 대안으로서, 연관된 클래스의 엔티티 이름."
+#. Tag: para
+#: collection_mapping.xml:565
+#, fuzzy, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional): The entity name of the associated "
+"class, as an alternative to <literal>class</literal>."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>entity-name</literal> (옵션): <literal>class</literal>에 대한 하나"
+"의 대안으로서, 연관된 클래스의 엔티티 이름.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>entity-name</literal> (옵션): <literal>class</literal>에 대한 대안으"
+"로서, 연관된 클래스의 엔티티 이름."
 
-#: index.docbook:573
-msgid "Notice that the <literal>&lt;one-to-many&gt;</literal> element does not need to declare any columns. Nor is it necessary to specify the <literal>table</literal> name anywhere."
-msgstr "<literal>&lt;one-to-many&gt;</literal> 요소는 어떤 컬럼들을 선언하는데 필요하지 않음을 주목하라. 어딘가에 <literal>table</literal> 이름을 지정하는 것도 필수적이지 않다."
+#. Tag: para
+#: collection_mapping.xml:573
+#, no-c-format
+msgid ""
+"Notice that the <literal>&lt;one-to-many&gt;</literal> element does not need "
+"to declare any columns. Nor is it necessary to specify the <literal>table</"
+"literal> name anywhere."
+msgstr ""
+"<literal>&lt;one-to-many&gt;</literal> 요소는 어떤 컬럼들을 선언하는데 필요하"
+"지 않음을 주목하라. 어딘가에 <literal>table</literal> 이름을 지정하는 것도 필"
+"수적이지 않다."
 
-#: index.docbook:579
-msgid "<emphasis>Very important note:</emphasis> If the foreign key column of a <literal>&lt;one-to-many&gt;</literal> association is declared <literal>NOT NULL</literal>, you must declare the <literal>&lt;key&gt;</literal> mapping <literal>not-null=\"true\"</literal> or <emphasis>use a bidirectional association</emphasis> with the collection mapping marked <literal>inverse=\"true\"</literal>. See the discussion of bidirectional associations later in this chapter."
-msgstr "<emphasis>매우 중요한 노트</emphasis>: 만일 <literal>&lt;one-to-many&gt;</literal> 연관의 foreign 키 컬럼이 <literal>NOT NULL</literal>로 선언될 경우, 당신은 <literal>&lt;key&gt;</literal> 매핑을 <literal>not-null=\"true\"</literal>로 선언해야 하거나 <literal>inverse=\"true\"</literal>로 마크된 콜렉션 매핑을 가진 <emphasis>양방향 연관을 사용해야 한다</emphasis>. 양방향 연관들에 대한 논의는 이 장의 뒷부분을 보라."
+#. Tag: para
+#: collection_mapping.xml:579
+#, no-c-format
+msgid ""
+"<emphasis>Very important note:</emphasis> If the foreign key column of a "
+"<literal>&lt;one-to-many&gt;</literal> association is declared <literal>NOT "
+"NULL</literal>, you must declare the <literal>&lt;key&gt;</literal> mapping "
+"<literal>not-null=\"true\"</literal> or <emphasis>use a bidirectional "
+"association</emphasis> with the collection mapping marked <literal>inverse="
+"\"true\"</literal>. See the discussion of bidirectional associations later "
+"in this chapter."
+msgstr ""
+"<emphasis>매우 중요한 노트</emphasis>: 만일 <literal>&lt;one-to-many&gt;</"
+"literal> 연관의 foreign 키 컬럼이 <literal>NOT NULL</literal>로 선언될 경우, "
+"당신은 <literal>&lt;key&gt;</literal> 매핑을 <literal>not-null=\"true\"</"
+"literal>로 선언해야 하거나 <literal>inverse=\"true\"</literal>로 마크된 콜렉"
+"션 매핑을 가진 <emphasis>양방향 연관을 사용해야 한다</emphasis>. 양방향 연관"
+"들에 대한 논의는 이 장의 뒷부분을 보라."
 
-#: index.docbook:588
-msgid "This example shows a map of <literal>Part</literal> entities by name (where <literal>partName</literal> is a persistent property of <literal>Part</literal>). Notice the use of a formula-based index."
-msgstr "이 예제는 name으로 <literal>Part</literal> 엔티티들을 가진 map을 보여준다(여기서 <literal>partName</literal>은 <literal>Part</literal>의 영속 프로퍼티이다). formula-기반 index의 사용을 주목하라."
+#. Tag: para
+#: collection_mapping.xml:588
+#, no-c-format
+msgid ""
+"This example shows a map of <literal>Part</literal> entities by name (where "
+"<literal>partName</literal> is a persistent property of <literal>Part</"
+"literal>). Notice the use of a formula-based index."
+msgstr ""
+"이 예제는 name으로 <literal>Part</literal> 엔티티들을 가진 map을 보여준다(여"
+"기서 <literal>partName</literal>은 <literal>Part</literal>의 영속 프로퍼티이"
+"다). formula-기반 index의 사용을 주목하라."
 
-#: index.docbook:594
+#. Tag: programlisting
+#: collection_mapping.xml:594
+#, no-c-format
 msgid ""
-      "<![CDATA[<map name=\"parts\"\n"
-      "        cascade=\"all\">\n"
-      "    <key column=\"productId\" not-null=\"true\"/>\n"
-      "    <map-key formula=\"partName\"/>\n"
-      "    <one-to-many class=\"Part\"/>\n"
-      "</map>]]>"
+"<![CDATA[<map name=\"parts\"\n"
+"        cascade=\"all\">\n"
+"    <key column=\"productId\" not-null=\"true\"/>\n"
+"    <map-key formula=\"partName\"/>\n"
+"    <one-to-many class=\"Part\"/>\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<map name=\"parts\"\n"
-      "        cascade=\"all\">\n"
-      "    <key column=\"productId\" not-null=\"true\"/>\n"
-      "    <map-key formula=\"partName\"/>\n"
-      "    <one-to-many class=\"Part\"/>\n"
-      "</map>]]>"
 
-#: index.docbook:600
+#. Tag: title
+#: collection_mapping.xml:600
+#, no-c-format
 msgid "Advanced collection mappings"
 msgstr "개선된 콜렉션 매핑들"
 
-#: index.docbook:603
+#. Tag: title
+#: collection_mapping.xml:603
+#, no-c-format
 msgid "Sorted collections"
 msgstr "Sorted 콜렉션들"
 
-#: index.docbook:605
-msgid "Hibernate supports collections implementing <literal>java.util.SortedMap</literal> and <literal>java.util.SortedSet</literal>. You must specify a comparator in the mapping file:"
-msgstr "Hibernate는 <literal>java.util.SortedMap</literal>과 <literal>java.util.SortedSet</literal>를 구현하는 콜렉션들을 지원한다. 당신은 매핑 파일 속에 하나의 comparator를 지정해야 한다:"
+#. Tag: para
+#: collection_mapping.xml:605
+#, no-c-format
+msgid ""
+"Hibernate supports collections implementing <literal>java.util.SortedMap</"
+"literal> and <literal>java.util.SortedSet</literal>. You must specify a "
+"comparator in the mapping file:"
+msgstr ""
+"Hibernate는 <literal>java.util.SortedMap</literal>과 <literal>java.util."
+"SortedSet</literal>를 구현하는 콜렉션들을 지원한다. 당신은 매핑 파일 속에 하"
+"나의 comparator를 지정해야 한다:"
 
-#: index.docbook:610
+#. Tag: programlisting
+#: collection_mapping.xml:610
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"aliases\" \n"
-      "            table=\"person_aliases\" \n"
-      "            sort=\"natural\">\n"
-      "    <key column=\"person\"/>\n"
-      "    <element column=\"name\" type=\"string\"/>\n"
-      "</set>\n"
-      "\n"
-      "<map name=\"holidays\" sort=\"my.custom.HolidayComparator\">\n"
-      "    <key column=\"year_id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date\" type=\"date\"/>\n"
-      "</map>]]>"
+"<![CDATA[<set name=\"aliases\" \n"
+"            table=\"person_aliases\" \n"
+"            sort=\"natural\">\n"
+"    <key column=\"person\"/>\n"
+"    <element column=\"name\" type=\"string\"/>\n"
+"</set>\n"
+"\n"
+"<map name=\"holidays\" sort=\"my.custom.HolidayComparator\">\n"
+"    <key column=\"year_id\"/>\n"
+"    <map-key column=\"hol_name\" type=\"string\"/>\n"
+"    <element column=\"hol_date\" type=\"date\"/>\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"aliases\" \n"
-      "            table=\"person_aliases\" \n"
-      "            sort=\"natural\">\n"
-      "    <key column=\"person\"/>\n"
-      "    <element column=\"name\" type=\"string\"/>\n"
-      "</set>\n"
-      "\n"
-      "<map name=\"holidays\" sort=\"my.custom.HolidayComparator\">\n"
-      "    <key column=\"year_id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date\" type=\"date\"/>\n"
-      "</map>]]>"
 
-#: index.docbook:612
-msgid "Allowed values of the <literal>sort</literal> attribute are <literal>unsorted</literal>, <literal>natural</literal> and the name of a class implementing <literal>java.util.Comparator</literal>."
-msgstr "<literal>sort</literal> 속성에 허용되는 값들은 <literal>unsorted</literal>, <literal>natural</literal>, 그리고 <literal>java.util.Comparator</literal>를 구현하는 클래스의 이름이다."
+#. Tag: para
+#: collection_mapping.xml:612
+#, no-c-format
+msgid ""
+"Allowed values of the <literal>sort</literal> attribute are "
+"<literal>unsorted</literal>, <literal>natural</literal> and the name of a "
+"class implementing <literal>java.util.Comparator</literal>."
+msgstr ""
+"<literal>sort</literal> 속성에 허용되는 값들은 <literal>unsorted</literal>, "
+"<literal>natural</literal>, 그리고 <literal>java.util.Comparator</literal>를 "
+"구현하는 클래스의 이름이다."
 
-#: index.docbook:618
-msgid "Sorted collections actually behave like <literal>java.util.TreeSet</literal> or <literal>java.util.TreeMap</literal>."
-msgstr "Sorted 콜렉션들은 <literal>java.util.TreeSet</literal> 또는 <literal>java.util.TreeMap</literal>처럼 행동한다."
+#. Tag: para
+#: collection_mapping.xml:618
+#, no-c-format
+msgid ""
+"Sorted collections actually behave like <literal>java.util.TreeSet</literal> "
+"or <literal>java.util.TreeMap</literal>."
+msgstr ""
+"Sorted 콜렉션들은 <literal>java.util.TreeSet</literal> 또는 <literal>java."
+"util.TreeMap</literal>처럼 행동한다."
 
-#: index.docbook:623
-msgid "If you want the database itself to order the collection elements use the <literal>order-by</literal> attribute of <literal>set</literal>, <literal>bag</literal> or <literal>map</literal> mappings. This solution is only available under JDK 1.4 or higher (it is implemented using <literal>LinkedHashSet</literal> or <literal>LinkedHashMap</literal>). This performs the ordering in the SQL query, not in memory."
-msgstr "만일 당신이 데이터베이스 그 자체가 콜렉션 요소들을 순서지우도록(order)원할 경우 <literal>set</literal>, <literal>bag</literal> 또는<literal>map</literal> 매핑들에 대해 <literal>order-by</literal> 속성을 사용하라. 이 해결책은 JDK 1.4 이상의 버전에서만 이용 가능하다(그것은 <literal>LinkedHashSet</literal> 또는 <literal>LinkedHashMap</literal>을 사용하여 구현된다). 이것은 메모리 내가 아닌, SQL 질의 내에서 순서지움(ordering)을 수행한다."
+#. Tag: para
+#: collection_mapping.xml:623
+#, no-c-format
+msgid ""
+"If you want the database itself to order the collection elements use the "
+"<literal>order-by</literal> attribute of <literal>set</literal>, "
+"<literal>bag</literal> or <literal>map</literal> mappings. This solution is "
+"only available under JDK 1.4 or higher (it is implemented using "
+"<literal>LinkedHashSet</literal> or <literal>LinkedHashMap</literal>). This "
+"performs the ordering in the SQL query, not in memory."
+msgstr ""
+"만일 당신이 데이터베이스 그 자체가 콜렉션 요소들을 순서지우도록(order)원할 경"
+"우 <literal>set</literal>, <literal>bag</literal> 또는<literal>map</literal> "
+"매핑들에 대해 <literal>order-by</literal> 속성을 사용하라. 이 해결책은 JDK "
+"1.4 이상의 버전에서만 이용 가능하다(그것은 <literal>LinkedHashSet</literal> "
+"또는 <literal>LinkedHashMap</literal>을 사용하여 구현된다). 이것은 메모리 내"
+"가 아닌, SQL 질의 내에서 순서지움(ordering)을 수행한다."
 
-#: index.docbook:632
+#. Tag: programlisting
+#: collection_mapping.xml:632
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"aliases\" table=\"person_aliases\" order-by=\"lower(name) asc\">\n"
-      "    <key column=\"person\"/>\n"
-      "    <element column=\"name\" type=\"string\"/>\n"
-      "</set>\n"
-      "\n"
-      "<map name=\"holidays\" order-by=\"hol_date, hol_name\">\n"
-      "    <key column=\"year_id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date type=\"date\"/>\n"
-      "</map>]]>"
+"<![CDATA[<set name=\"aliases\" table=\"person_aliases\" order-by=\"lower"
+"(name) asc\">\n"
+"    <key column=\"person\"/>\n"
+"    <element column=\"name\" type=\"string\"/>\n"
+"</set>\n"
+"\n"
+"<map name=\"holidays\" order-by=\"hol_date, hol_name\">\n"
+"    <key column=\"year_id\"/>\n"
+"    <map-key column=\"hol_name\" type=\"string\"/>\n"
+"    <element column=\"hol_date type=\"date\"/>\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"aliases\" table=\"person_aliases\" order-by=\"lower(name) asc\">\n"
-      "    <key column=\"person\"/>\n"
-      "    <element column=\"name\" type=\"string\"/>\n"
-      "</set>\n"
-      "\n"
-      "<map name=\"holidays\" order-by=\"hol_date, hol_name\">\n"
-      "    <key column=\"year_id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date type=\"date\"/>\n"
-      "</map>]]>"
 
-#: index.docbook:634
-msgid "Note that the value of the <literal>order-by</literal> attribute is an SQL ordering, not a HQL ordering!"
-msgstr "<literal>order-by</literal> 속성의 값은 HQL 순서지움(ordering)이 아니라 SQL 순서지움(ordering)임을 노트하라!"
+#. Tag: para
+#: collection_mapping.xml:634
+#, no-c-format
+msgid ""
+"Note that the value of the <literal>order-by</literal> attribute is an SQL "
+"ordering, not a HQL ordering!"
+msgstr ""
+"<literal>order-by</literal> 속성의 값은 HQL 순서지움(ordering)이 아니라 SQL "
+"순서지움(ordering)임을 노트하라!"
 
-#: index.docbook:639
-msgid "Associations may even be sorted by some arbitrary criteria at runtime using a collection <literal>filter()</literal>."
-msgstr "연관들은 콜렉션 <literal>filter()</literal>를 사용하여 실행 시에 어떤 임의의 criteria(기준)을 사용하여 정렬(sort)될 수도 있다."
+#. Tag: para
+#: collection_mapping.xml:639
+#, no-c-format
+msgid ""
+"Associations may even be sorted by some arbitrary criteria at runtime using "
+"a collection <literal>filter()</literal>."
+msgstr ""
+"연관들은 콜렉션 <literal>filter()</literal>를 사용하여 실행 시에 어떤 임의의 "
+"criteria(기준)을 사용하여 정렬(sort)될 수도 있다."
 
-#: index.docbook:644
-msgid "<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name\" ).list();]]>"
-msgstr "<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name\" ).list();]]>"
+#. Tag: programlisting
+#: collection_mapping.xml:644
+#, no-c-format
+msgid ""
+"<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name"
+"\" ).list();]]>"
+msgstr ""
 
-#: index.docbook:649
+#. Tag: title
+#: collection_mapping.xml:649
+#, no-c-format
 msgid "Bidirectional associations"
 msgstr "양방향 연관들"
 
-#: index.docbook:651
-msgid "A <emphasis>bidirectional association</emphasis> allows navigation from both \"ends\" of the association. Two kinds of bidirectional association are supported:"
-msgstr "<emphasis>양방향 연관</emphasis>은 연관의 양 \"끝(end)들\"로부터 네비게이션을 허용한다. 두 가지 종류의 양방향 연관들이 지원된다:"
+#. Tag: para
+#: collection_mapping.xml:651
+#, fuzzy, no-c-format
+msgid ""
+"A <emphasis>bidirectional association</emphasis> allows navigation from both "
+"\"ends\" of the association. Two kinds of bidirectional association are "
+"supported:"
+msgstr ""
+"<emphasis>양방향 연관</emphasis>은 연관의 양 \"끝(end)들\"로부터 네비게이션"
+"을 허용한다. 두 가지 종류의 양방향 연관들이 지원된다: <placeholder-1/>"
 
-#: index.docbook:658
+#. Tag: term
+#: collection_mapping.xml:658
+#, no-c-format
 msgid "one-to-many"
 msgstr "one-to-many"
 
-#: index.docbook:660
+#. Tag: para
+#: collection_mapping.xml:660
+#, no-c-format
 msgid "set or bag valued at one end, single-valued at the other"
 msgstr "한쪽 끝에 set 또는 bag 값을 갖고, 다른 쪽 긑에 단일 값을 가진 연관"
 
-#: index.docbook:666
+#. Tag: term
+#: collection_mapping.xml:666
+#, no-c-format
 msgid "many-to-many"
 msgstr "many-to-many"
 
-#: index.docbook:668
+#. Tag: para
+#: collection_mapping.xml:668
+#, no-c-format
 msgid "set or bag valued at both ends"
 msgstr "양 끝에서 set 또는 bag 값을 가진 연관"
 
-#: index.docbook:677
-msgid "You may specify a bidirectional many-to-many association simply by mapping two many-to-many associations to the same database table and declaring one end as <emphasis>inverse</emphasis> (which one is your choice, but it can not be an indexed collection)."
-msgstr "당신은 동일한 두 개의 many-to-many 연관들을 동일한 데이터베이스 테이블로 간단하게 매핑하고 한 쪽 끝을 <emphasis>inverse</emphasis>(당신의 선택은 하나이지만, 그것은 인덱싱된 콜렉션일 수 없다)로 선언함으로써 하나의 양방향 many-to-many 연관을 지정할 수도 있다."
+#. Tag: para
+#: collection_mapping.xml:677
+#, no-c-format
+msgid ""
+"You may specify a bidirectional many-to-many association simply by mapping "
+"two many-to-many associations to the same database table and declaring one "
+"end as <emphasis>inverse</emphasis> (which one is your choice, but it can "
+"not be an indexed collection)."
+msgstr ""
+"당신은 동일한 두 개의 many-to-many 연관들을 동일한 데이터베이스 테이블로 간단"
+"하게 매핑하고 한 쪽 끝을 <emphasis>inverse</emphasis>(당신의 선택은 하나이지"
+"만, 그것은 인덱싱된 콜렉션일 수 없다)로 선언함으로써 하나의 양방향 many-to-"
+"many 연관을 지정할 수도 있다."
 
-#: index.docbook:684
-msgid "Here's an example of a bidirectional many-to-many association; each category can have many items and each item can be in many categories:"
-msgstr "다음은 양방향 many-to-many 연관에 관한 예제이다; 각각의 카테고리는 많은 아이템들을 가질 수 있고 각각의 아이템은 많은 카테고리들 속에 있을 수 있다:"
+#. Tag: para
+#: collection_mapping.xml:684
+#, no-c-format
+msgid ""
+"Here's an example of a bidirectional many-to-many association; each category "
+"can have many items and each item can be in many categories:"
+msgstr ""
+"다음은 양방향 many-to-many 연관에 관한 예제이다; 각각의 카테고리는 많은 아이"
+"템들을 가질 수 있고 각각의 아이템은 많은 카테고리들 속에 있을 수 있다:"
 
-#: index.docbook:689
+#. Tag: programlisting
+#: collection_mapping.xml:689
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Category\">\n"
-      "    <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
-      "    ...\n"
-      "    <bag name=\"items\" table=\"CATEGORY_ITEM\">\n"
-      "        <key column=\"CATEGORY_ID\"/>\n"
-      "        <many-to-many class=\"Item\" column=\"ITEM_ID\"/>\n"
-      "    </bag>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Item\">\n"
-      "    <id name=\"id\" column=\"ITEM_ID\"/>\n"
-      "    ...\n"
-      "\n"
-      "    <!-- inverse end -->\n"
-      "    <bag name=\"categories\" table=\"CATEGORY_ITEM\" inverse=\"true\">\n"
-      "        <key column=\"ITEM_ID\"/>\n"
-      "        <many-to-many class=\"Category\" column=\"CATEGORY_ID\"/>\n"
-      "    </bag>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Category\">\n"
+"    <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
+"    ...\n"
+"    <bag name=\"items\" table=\"CATEGORY_ITEM\">\n"
+"        <key column=\"CATEGORY_ID\"/>\n"
+"        <many-to-many class=\"Item\" column=\"ITEM_ID\"/>\n"
+"    </bag>\n"
+"</class>\n"
+"\n"
+"<class name=\"Item\">\n"
+"    <id name=\"id\" column=\"ITEM_ID\"/>\n"
+"    ...\n"
+"\n"
+"    <!-- inverse end -->\n"
+"    <bag name=\"categories\" table=\"CATEGORY_ITEM\" inverse=\"true\">\n"
+"        <key column=\"ITEM_ID\"/>\n"
+"        <many-to-many class=\"Category\" column=\"CATEGORY_ID\"/>\n"
+"    </bag>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Category\">\n"
-      "    <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
-      "    ...\n"
-      "    <bag name=\"items\" table=\"CATEGORY_ITEM\">\n"
-      "        <key column=\"CATEGORY_ID\"/>\n"
-      "        <many-to-many class=\"Item\" column=\"ITEM_ID\"/>\n"
-      "    </bag>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Item\">\n"
-      "    <id name=\"id\" column=\"ITEM_ID\"/>
-\n"
-      "    ...\n"
-      "\n"
-      "    <!-- inverse end -->\n"
-      "    <bag name=\"categories\" table=\"CATEGORY_ITEM\" inverse=\"true\">\n"
-      "        <key column=\"ITEM_ID\"/>\n"
-      "        <many-to-many class=\"Category\" column=\"CATEGORY_ID\"/>\n"
-      "    </bag>\n"
-      "</class>]]>"
 
-#: index.docbook:691
-msgid "Changes made only to the inverse end of the association are <emphasis>not</emphasis> persisted. This means that Hibernate has two representations in memory for every bidirectional association, one link from A to B and another link from B to A. This is easier to understand if you think about the Java object model and how we create a many-to-many relationship in Java:"
-msgstr "연관의 inverse 끝(end)에 대해서만 행해진 변경들은 영속화 되지 <emphasis>않는다</emphasis>. 이것은 Hibernate가 모든 양방향 연관에 대해 메모리 내에 두 개의 표상들을 갖는다는 점을 의미한다: A로부터 B로의 하나의 링크와 B로부터 A로의 또 다른 링크. 만일 당신이 자바 객체 모형에 대해 그리고 자바에서 many-to-many 관계를 생성시키는 방법에 대해 생각하면 이것은 이해하기가 더 쉽다:"
+#. Tag: para
+#: collection_mapping.xml:691
+#, no-c-format
+msgid ""
+"Changes made only to the inverse end of the association are <emphasis>not</"
+"emphasis> persisted. This means that Hibernate has two representations in "
+"memory for every bidirectional association, one link from A to B and another "
+"link from B to A. This is easier to understand if you think about the Java "
+"object model and how we create a many-to-many relationship in Java:"
+msgstr ""
+"연관의 inverse 끝(end)에 대해서만 행해진 변경들은 영속화 되지 <emphasis>않는"
+"다</emphasis>. 이것은 Hibernate가 모든 양방향 연관에 대해 메모리 내에 두 개"
+"의 표상들을 갖는다는 점을 의미한다: A로부터 B로의 하나의 링크와 B로부터 A로"
+"의 또 다른 링크. 만일 당신이 자바 객체 모형에 대해 그리고 자바에서 many-to-"
+"many 관계를 생성시키는 방법에 대해 생각하면 이것은 이해하기가 더 쉽다:"
 
-#: index.docbook:699
+#. Tag: programlisting
+#: collection_mapping.xml:699
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "category.getItems().add(item);          // The category now \"knows\" about the relationship\n"
-      "item.getCategories().add(category);     // The item now \"knows\" about the relationship\n"
-      "\n"
-      "session.persist(item);                   // The relationship won't be saved!\n"
-      "session.persist(category);               // The relationship will be saved]]>"
+"<![CDATA[\n"
+"category.getItems().add(item);          // The category now \"knows\" about "
+"the relationship\n"
+"item.getCategories().add(category);     // The item now \"knows\" about the "
+"relationship\n"
+"\n"
+"session.persist(item);                   // The relationship won't be "
+"saved!\n"
+"session.persist(category);               // The relationship will be saved]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "category.getItems().add(item);          // The category now \"knows\" about the relationship\n"
-      "item.getCategories().add(category);     // The item now \"knows\" about the relationship\n"
-      "\n"
-      "session.persist(item);                   // The relationship won't be saved!\n"
-      "session.persist(category);               // The relationship will be saved]]>"
 
-#: index.docbook:701
-msgid "The non-inverse side is used to save the in-memory representation to the database."
+#. Tag: para
+#: collection_mapping.xml:701
+#, no-c-format
+msgid ""
+"The non-inverse side is used to save the in-memory representation to the "
+"database."
 msgstr "non-inverse 측은 메모리 내 표상을 데이터베이스로 저장하는데 사용된다."
 
-#: index.docbook:705
-msgid "You may define a bidirectional one-to-many association by mapping a one-to-many association to the same table column(s) as a many-to-one association and declaring the many-valued end <literal>inverse=\"true\"</literal>."
-msgstr "당신은 하나의 one-to-many 연관을 하나의 many-to-one 연관으로서 동일한 테이블 컬럼(들)로 매핑하고 many-값을 가진 끝(end)을 <literal>inverse=\"true\"</literal>로 선언함으로써 하나의 양방향 연관을 정의할 수도 있다."
+#. Tag: para
+#: collection_mapping.xml:705
+#, no-c-format
+msgid ""
+"You may define a bidirectional one-to-many association by mapping a one-to-"
+"many association to the same table column(s) as a many-to-one association "
+"and declaring the many-valued end <literal>inverse=\"true\"</literal>."
+msgstr ""
+"당신은 하나의 one-to-many 연관을 하나의 many-to-one 연관으로서 동일한 테이블 "
+"컬럼(들)로 매핑하고 many-값을 가진 끝(end)을 <literal>inverse=\"true\"</"
+"literal>로 선언함으로써 하나의 양방향 연관을 정의할 수도 있다."
 
-#: index.docbook:711
+#. Tag: programlisting
+#: collection_mapping.xml:711
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <set name=\"children\" inverse=\"true\">\n"
-      "        <key column=\"parent_id\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Parent\">\n"
+"    <id name=\"id\" column=\"parent_id\"/>\n"
+"    ....\n"
+"    <set name=\"children\" inverse=\"true\">\n"
+"        <key column=\"parent_id\"/>\n"
+"        <one-to-many class=\"Child\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Child\">\n"
+"    <id name=\"id\" column=\"child_id\"/>\n"
+"    ....\n"
+"    <many-to-one name=\"parent\" \n"
+"        class=\"Parent\" \n"
+"        column=\"parent_id\"\n"
+"        not-null=\"true\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <set name=\"children\" inverse=\"true\">\n"
-      "        <key column=\"parent_id\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:713
-msgid "Mapping one end of an association with <literal>inverse=\"true\"</literal> doesn't affect the operation of cascades, these are orthogonal concepts!"
-msgstr "연관의 한쪽 끝을 <literal>inverse=\"true\"</literal>로 매핑하는 것은 cascade들을 가진 오퍼레이션에 영향을 주지 않으며, 이것들은 orthogonal(직교) 개념들이다!"
+#. Tag: para
+#: collection_mapping.xml:713
+#, no-c-format
+msgid ""
+"Mapping one end of an association with <literal>inverse=\"true\"</literal> "
+"doesn't affect the operation of cascades, these are orthogonal concepts!"
+msgstr ""
+"연관의 한쪽 끝을 <literal>inverse=\"true\"</literal>로 매핑하는 것은 cascade"
+"들을 가진 오퍼레이션에 영향을 주지 않으며, 이것들은 orthogonal(직교) 개념들이"
+"다!"
 
-#: index.docbook:721
+#. Tag: title
+#: collection_mapping.xml:721
+#, no-c-format
 msgid "Bidirectional associations with indexed collections"
 msgstr "인덱싱된 콜렉션들을 가진 양방향 연관들"
 
-#: index.docbook:722
-msgid "A bidirectional association where one end is represented as a <literal>&lt;list&gt;</literal> or <literal>&lt;map&gt;</literal> requires special consideration. If there is a property of the child class which maps to the index column, no problem, we can continue using <literal>inverse=\"true\"</literal> on the collection mapping:"
-msgstr "한쪽 끝이 하나의 <literal>&lt;list&gt;</literal> 또는 <literal>&lt;map&gt;</literal>으로서 표현되는 양방향 연관은 특별한 검토를 필요로 한다. 만일 인덱스 컬럼으로 매핑되는 child 클래스의 프로퍼티가 하나 존재한다면 문제가 없고, 우리는 콜렉션 매핑 상에 <literal>inverse=\"true\"</literal>를 사용하여 계속할 수 있다:"
+#. Tag: para
+#: collection_mapping.xml:722
+#, no-c-format
+msgid ""
+"A bidirectional association where one end is represented as a <literal>&lt;"
+"list&gt;</literal> or <literal>&lt;map&gt;</literal> requires special "
+"consideration. If there is a property of the child class which maps to the "
+"index column, no problem, we can continue using <literal>inverse=\"true\"</"
+"literal> on the collection mapping:"
+msgstr ""
+"한쪽 끝이 하나의 <literal>&lt;list&gt;</literal> 또는 <literal>&lt;map&gt;</"
+"literal>으로서 표현되는 양방향 연관은 특별한 검토를 필요로 한다. 만일 인덱스 "
+"컬럼으로 매핑되는 child 클래스의 프로퍼티가 하나 존재한다면 문제가 없고, 우리"
+"는 콜렉션 매핑 상에 <literal>inverse=\"true\"</literal>를 사용하여 계속할 수 "
+"있다:"
 
-#: index.docbook:729
+#. Tag: programlisting
+#: collection_mapping.xml:729
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <map name=\"children\" inverse=\"true\">\n"
-      "        <key column=\"parent_id\"/>\n"
-      "        <map-key column=\"name\" \n"
-      "            type=\"string\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </map>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <property name=\"name\" \n"
-      "        not-null=\"true\"/>\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Parent\">\n"
+"    <id name=\"id\" column=\"parent_id\"/>\n"
+"    ....\n"
+"    <map name=\"children\" inverse=\"true\">\n"
+"        <key column=\"parent_id\"/>\n"
+"        <map-key column=\"name\" \n"
+"            type=\"string\"/>\n"
+"        <one-to-many class=\"Child\"/>\n"
+"    </map>\n"
+"</class>\n"
+"\n"
+"<class name=\"Child\">\n"
+"    <id name=\"id\" column=\"child_id\"/>\n"
+"    ....\n"
+"    <property name=\"name\" \n"
+"        not-null=\"true\"/>\n"
+"    <many-to-one name=\"parent\" \n"
+"        class=\"Parent\" \n"
+"        column=\"parent_id\"\n"
+"        not-null=\"true\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <map name=\"children\" inverse=\"true\">\n"
-      "        <key column=\"parent_id\"/>\n"
-      "        <map-key column=\"name\" \n"
-      "            type=\"string\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </map>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <property name=\"name\" \n"
-      "        not-null=\"true\"/>\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:731
-msgid "But, if there is no such property on the child class, we can't think of the association as truly bidirectional (there is information available at one end of the association that is not available at the other end). In this case, we can't map the collection <literal>inverse=\"true\"</literal>. Instead, we could use the following mapping:"
-msgstr "그러나 만일 child 클래스 상에 그런 프로퍼티가 존재하지 않을 경우, 우리는 그 연관을 진정하게 양방향으로 간주할 수 없다 (다른 쪽 끝에서 이용가능하지 않은 그 연관의 끝에서 이용 가능한 정보가 존재한다). 이 경우에 우리는 그 콜렉션을 <literal>inverse=\"true\"</literal>로 매핑시킬 수 없다. 대신에 우리는 다음 매핑을 사용할 수 있다:"
+#. Tag: para
+#: collection_mapping.xml:731
+#, no-c-format
+msgid ""
+"But, if there is no such property on the child class, we can't think of the "
+"association as truly bidirectional (there is information available at one "
+"end of the association that is not available at the other end). In this "
+"case, we can't map the collection <literal>inverse=\"true\"</literal>. "
+"Instead, we could use the following mapping:"
+msgstr ""
+"그러나 만일 child 클래스 상에 그런 프로퍼티가 존재하지 않을 경우, 우리는 그 "
+"연관을 진정하게 양방향으로 간주할 수 없다 (다른 쪽 끝에서 이용가능하지 않은 "
+"그 연관의 끝에서 이용 가능한 정보가 존재한다). 이 경우에 우리는 그 콜렉션을 "
+"<literal>inverse=\"true\"</literal>로 매핑시킬 수 없다. 대신에 우리는 다음 매"
+"핑을 사용할 수 있다:"
 
-#: index.docbook:738
+#. Tag: programlisting
+#: collection_mapping.xml:738
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <map name=\"children\">\n"
-      "        <key column=\"parent_id\"\n"
-      "            not-null=\"true\"/>\n"
-      "        <map-key column=\"name\" \n"
-      "            type=\"string\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </map>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        insert=\"false\"\n"
-      "        update=\"false\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Parent\">\n"
+"    <id name=\"id\" column=\"parent_id\"/>\n"
+"    ....\n"
+"    <map name=\"children\">\n"
+"        <key column=\"parent_id\"\n"
+"            not-null=\"true\"/>\n"
+"        <map-key column=\"name\" \n"
+"            type=\"string\"/>\n"
+"        <one-to-many class=\"Child\"/>\n"
+"    </map>\n"
+"</class>\n"
+"\n"
+"<class name=\"Child\">\n"
+"    <id name=\"id\" column=\"child_id\"/>\n"
+"    ....\n"
+"    <many-to-one name=\"parent\" \n"
+"        class=\"Parent\" \n"
+"        column=\"parent_id\"\n"
+"        insert=\"false\"\n"
+"        update=\"false\"\n"
+"        not-null=\"true\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <map name=\"children\">\n"
-      "        <key column=\"parent_id\"\n"
-      "            not-null=\"true\"/>\n"
-      "        <map-key column=\"name\" \n"
-      "            type=\"string\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </map>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        insert=\"false\"\n"
-      "        update=\"false\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:740
-msgid "Note that in this mapping, the collection-valued end of the association is responsible for updates to the foreign key. TODO: Does this really result in some unnecessary update statements?"
-msgstr "이 매핑에서 그 연관의 콜렉션 값을 가진 끝이 foreign 키에 대한 업데이트 책임이 있음을 노트하라."
+#. Tag: para
+#: collection_mapping.xml:740
+#, no-c-format
+msgid ""
+"Note that in this mapping, the collection-valued end of the association is "
+"responsible for updates to the foreign key. TODO: Does this really result in "
+"some unnecessary update statements?"
+msgstr ""
+"이 매핑에서 그 연관의 콜렉션 값을 가진 끝이 foreign 키에 대한 업데이트 책임"
+"이 있음을 노트하라."
 
-#: index.docbook:748
+#. Tag: title
+#: collection_mapping.xml:748
+#, no-c-format
 msgid "Ternary associations"
 msgstr "Ternary associations(세겹 연관들)"
 
-#: index.docbook:750
-msgid "There are three possible approaches to mapping a ternary association. One is to use a <literal>Map</literal> with an association as its index:"
-msgstr "세 겹의 연관을 매핑하는 세 가지 가능한 접근법들이 존재한다. 하나의 접근법은 그것의 인덱스로서 연관관계를 가진 <literal>Map</literal>을 사용하는 것이다:"
+#. Tag: para
+#: collection_mapping.xml:750
+#, no-c-format
+msgid ""
+"There are three possible approaches to mapping a ternary association. One is "
+"to use a <literal>Map</literal> with an association as its index:"
+msgstr ""
+"세 겹의 연관을 매핑하는 세 가지 가능한 접근법들이 존재한다. 하나의 접근법은 "
+"그것의 인덱스로서 연관관계를 가진 <literal>Map</literal>을 사용하는 것이다:"
 
-#: index.docbook:755
+#. Tag: programlisting
+#: collection_mapping.xml:755
+#, no-c-format
 msgid ""
-      "<![CDATA[<map name=\"contracts\">\n"
-      "    <key column=\"employer_id\" not-null=\"true\"/>\n"
-      "    <map-key-many-to-many column=\"employee_id\" class=\"Employee\"/>\n"
-      "    <one-to-many class=\"Contract\"/>\n"
-      "</map>]]>"
+"<![CDATA[<map name=\"contracts\">\n"
+"    <key column=\"employer_id\" not-null=\"true\"/>\n"
+"    <map-key-many-to-many column=\"employee_id\" class=\"Employee\"/>\n"
+"    <one-to-many class=\"Contract\"/>\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<map name=\"contracts\">\n"
-      "    <key column=\"employer_id\" not-null=\"true\"/>\n"
-      "    <map-key-many-to-many column=\"employee_id\" class=\"Employee\"/>\n"
-      "    <one-to-many class=\"Contract\"/>\n"
-      "</map>]]>"
 
-#: index.docbook:757
+#. Tag: programlisting
+#: collection_mapping.xml:757
+#, no-c-format
 msgid ""
-      "<![CDATA[<map name=\"connections\">\n"
-      "    <key column=\"incoming_node_id\"/>\n"
-      "    <map-key-many-to-many column=\"outgoing_node_id\" class=\"Node\"/>\n"
-      "    <many-to-many column=\"connection_id\" class=\"Connection\"/>\n"
-      "</map>]]>"
+"<![CDATA[<map name=\"connections\">\n"
+"    <key column=\"incoming_node_id\"/>\n"
+"    <map-key-many-to-many column=\"outgoing_node_id\" class=\"Node\"/>\n"
+"    <many-to-many column=\"connection_id\" class=\"Connection\"/>\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<map name=\"connections\">\n"
-      "    <key column=\"incoming_node_id\"/>\n"
-      "    <map-key-many-to-many column=\"outgoing_node_id\" class=\"Node\"/>\n"
-      "    <many-to-many column=\"connection_id\" class=\"Connection\"/>\n"
-      "</map>]]>"
 
-#: index.docbook:759
-msgid "A second approach is to simply remodel the association as an entity class. This is the approach we use most commonly."
-msgstr "두 번째 접근법은 그 연관을 엔티티 클래스로서 단순하게 리모델링 하는 것이다. 이것은 우리가 가장 공통적으로 사용하는 접근법이다."
+#. Tag: para
+#: collection_mapping.xml:759
+#, no-c-format
+msgid ""
+"A second approach is to simply remodel the association as an entity class. "
+"This is the approach we use most commonly."
+msgstr ""
+"두 번째 접근법은 그 연관을 엔티티 클래스로서 단순하게 리모델링 하는 것이다. "
+"이것은 우리가 가장 공통적으로 사용하는 접근법이다."
 
-#: index.docbook:764
-msgid "A final alternative is to use composite elements, which we will discuss later."
-msgstr "마지막 대안은 우리가 나중에 논의하게 될 composite 요소들을 사용하는 것이다."
+#. Tag: para
+#: collection_mapping.xml:764
+#, no-c-format
+msgid ""
+"A final alternative is to use composite elements, which we will discuss "
+"later."
+msgstr ""
+"마지막 대안은 우리가 나중에 논의하게 될 composite 요소들을 사용하는 것이다."
 
-#: index.docbook:771
+#. Tag: literal
+#: collection_mapping.xml:771
+#, no-c-format
 msgid "Using an &lt;idbag&gt;"
 msgstr "<literal>&lt;idbag&gt;</literal> 사용하기"
 
-#: index.docbook:773
-msgid "If you've fully embraced our view that composite keys are a bad thing and that entities should have synthetic identifiers (surrogate keys), then you might find it a bit odd that the many to many associations and collections of values that we've shown so far all map to tables with composite keys! Now, this point is quite arguable; a pure association table doesn't seem to benefit much from a surrogate key (though a collection of composite values <emphasis>might</emphasis>). Nevertheless, Hibernate provides a feature that allows you to map many to many associations and collections of values to a table with a surrogate key."
-msgstr "만일 당신이 composite 키들이 나쁜 것이고 엔티티들이 합성 식별자들(대용 키들, surrogate keys)을 가져야 한다는 우리의 견해를 전적으로 수용할 경우, 당신은 우리가 지금까지 보여주었던 값들을 가진 콜렉션들과 many to many 연관들이 모두 composite 키들을 가진 테이블들로 매핑된다는 약간 이상한 점을 발견할 수도 있다! 이제 이 점은 꽤 논의의 여지가 있다; 순수한 연관 테이블은 (비록 composite 값들을 가진 콜렉션<emphasis>일 수도</emphasis> 있을지라도) 대용 키로부터 많은 이점을 취하지 않는 것처럼 보인다. 그럼에도 불구하고 Hibernate는 당신이 값들을 가진 콜렉션들과 many to many 연관들을 대용 키를 가진 테이블로 매핑시키는 것을 당신에게 허용해주는 특징을 제공한다."
+#. Tag: para
+#: collection_mapping.xml:773
+#, no-c-format
+msgid ""
+"If you've fully embraced our view that composite keys are a bad thing and "
+"that entities should have synthetic identifiers (surrogate keys), then you "
+"might find it a bit odd that the many to many associations and collections "
+"of values that we've shown so far all map to tables with composite keys! "
+"Now, this point is quite arguable; a pure association table doesn't seem to "
+"benefit much from a surrogate key (though a collection of composite values "
+"<emphasis>might</emphasis>). Nevertheless, Hibernate provides a feature that "
+"allows you to map many to many associations and collections of values to a "
+"table with a surrogate key."
+msgstr ""
+"만일 당신이 composite 키들이 나쁜 것이고 엔티티들이 합성 식별자들(대용 키들, "
+"surrogate keys)을 가져야 한다는 우리의 견해를 전적으로 수용할 경우, 당신은 우"
+"리가 지금까지 보여주었던 값들을 가진 콜렉션들과 many to many 연관들이 모두 "
+"composite 키들을 가진 테이블들로 매핑된다는 약간 이상한 점을 발견할 수도 있"
+"다! 이제 이 점은 꽤 논의의 여지가 있다; 순수한 연관 테이블은 (비록 composite "
+"값들을 가진 콜렉션<emphasis>일 수도</emphasis> 있을지라도) 대용 키로부터 많"
+"은 이점을 취하지 않는 것처럼 보인다. 그럼에도 불구하고 Hibernate는 당신이 값"
+"들을 가진 콜렉션들과 many to many 연관들을 대용 키를 가진 테이블로 매핑시키"
+"는 것을 당신에게 허용해주는 특징을 제공한다."
 
-#: index.docbook:784
-msgid "The <literal>&lt;idbag&gt;</literal> element lets you map a <literal>List</literal> (or <literal>Collection</literal>) with bag semantics."
-msgstr "<literal>&lt;idbag&gt;</literal> 요소는 bag 의미를 가진 <literal>List</literal>(또는 <literal>Collection</literal>)을 매핑하도록 당신에게 허용해준다."
+#. Tag: para
+#: collection_mapping.xml:784
+#, no-c-format
+msgid ""
+"The <literal>&lt;idbag&gt;</literal> element lets you map a <literal>List</"
+"literal> (or <literal>Collection</literal>) with bag semantics."
+msgstr ""
+"<literal>&lt;idbag&gt;</literal> 요소는 bag 의미를 가진 <literal>List</"
+"literal>(또는 <literal>Collection</literal>)을 매핑하도록 당신에게 허용해준"
+"다."
 
-#: index.docbook:789
+#. Tag: programlisting
+#: collection_mapping.xml:789
+#, no-c-format
 msgid ""
-      "<![CDATA[<idbag name=\"lovers\" table=\"LOVERS\">\n"
-      "    <collection-id column=\"ID\" type=\"long\">\n"
-      "        <generator class=\"sequence\"/>\n"
-      "    </collection-id>\n"
-      "    <key column=\"PERSON1\"/>\n"
-      "    <many-to-many column=\"PERSON2\" class=\"Person\" fetch=\"join\"/>\n"
-      "</idbag>]]>"
+"<![CDATA[<idbag name=\"lovers\" table=\"LOVERS\">\n"
+"    <collection-id column=\"ID\" type=\"long\">\n"
+"        <generator class=\"sequence\"/>\n"
+"    </collection-id>\n"
+"    <key column=\"PERSON1\"/>\n"
+"    <many-to-many column=\"PERSON2\" class=\"Person\" fetch=\"join\"/>\n"
+"</idbag>]]>"
 msgstr ""
-      "<![CDATA[<idbag name=\"lovers\" table=\"LOVERS\">\n"
-      "    <collection-id column=\"ID\" type=\"long\">\n"
-      "        <generator class=\"sequence\"/>\n"
-      "    </collection-id>\n"
-      "    <key column=\"PERSON1\"/>\n"
-      "    <many-to-many column=\"PERSON2\" class=\"Person\" fetch=\"join\"/>\n"
-      "</idbag>]]>"
 
-#: index.docbook:791
-msgid "As you can see, an <literal>&lt;idbag&gt;</literal> has a synthetic id generator, just like an entity class! A different surrogate key is assigned to each collection row. Hibernate does not provide any mechanism to discover the surrogate key value of a particular row, however."
-msgstr "당신이 볼 수 있듯이, <literal>&lt;idbag&gt;</literal>은 마치 엔티티 클래스인양 synthetic id generator(합성 id 생성기)를 갖는다! 다른 대용 키는 각각의 콜렉션 행에 할당된다. 하지만 Hibernate는 특정 행의 대용 키 값을 발견하는 메커니즘을 제공하지 않는다."
+#. Tag: para
+#: collection_mapping.xml:791
+#, no-c-format
+msgid ""
+"As you can see, an <literal>&lt;idbag&gt;</literal> has a synthetic id "
+"generator, just like an entity class! A different surrogate key is assigned "
+"to each collection row. Hibernate does not provide any mechanism to discover "
+"the surrogate key value of a particular row, however."
+msgstr ""
+"당신이 볼 수 있듯이, <literal>&lt;idbag&gt;</literal>은 마치 엔티티 클래스인"
+"양 synthetic id generator(합성 id 생성기)를 갖는다! 다른 대용 키는 각각의 콜"
+"렉션 행에 할당된다. 하지만 Hibernate는 특정 행의 대용 키 값을 발견하는 메커니"
+"즘을 제공하지 않는다."
 
-#: index.docbook:798
-msgid "Note that the update performance of an <literal>&lt;idbag&gt;</literal> is <emphasis>much</emphasis> better than a regular <literal>&lt;bag&gt;</literal>! Hibernate can locate individual rows efficiently and update or delete them individually, just like a list, map or set."
-msgstr "<literal>&lt;idbag&gt;</literal>의 업데이트 퍼포먼스는 정규 <literal>&lt;bag&gt;</literal> 보다 훨씬 좋다는 점을 노트하라! Hibernate는 마치 list, map, 또는 set인양, 개별 행들을 효율적으로 위치지울 수 있고 그것들을 개별적으로 업데이트 하거나 삭제시킬 수 있다."
+#. Tag: para
+#: collection_mapping.xml:798
+#, no-c-format
+msgid ""
+"Note that the update performance of an <literal>&lt;idbag&gt;</literal> is "
+"<emphasis>much</emphasis> better than a regular <literal>&lt;bag&gt;</"
+"literal>! Hibernate can locate individual rows efficiently and update or "
+"delete them individually, just like a list, map or set."
+msgstr ""
+"<literal>&lt;idbag&gt;</literal>의 업데이트 퍼포먼스는 정규 <literal>&lt;"
+"bag&gt;</literal> 보다 훨씬 좋다는 점을 노트하라! Hibernate는 마치 list, "
+"map, 또는 set인양, 개별 행들을 효율적으로 위치지울 수 있고 그것들을 개별적으"
+"로 업데이트 하거나 삭제시킬 수 있다."
 
-#: index.docbook:805
-msgid "In the current implementation, the <literal>native</literal> identifier generation strategy is not supported for <literal>&lt;idbag&gt;</literal> collection identifiers."
-msgstr "현재 구현에서, <literal>native</literal> 식별자 생성 방도는 <literal>&lt;idbag&gt;</literal> 콜렉션 식별자들에 대해 지원되지 않는다."
+#. Tag: para
+#: collection_mapping.xml:805
+#, no-c-format
+msgid ""
+"In the current implementation, the <literal>native</literal> identifier "
+"generation strategy is not supported for <literal>&lt;idbag&gt;</literal> "
+"collection identifiers."
+msgstr ""
+"현재 구현에서, <literal>native</literal> 식별자 생성 방도는 <literal>&lt;"
+"idbag&gt;</literal> 콜렉션 식별자들에 대해 지원되지 않는다."
 
-#: index.docbook:829
+#. Tag: title
+#: collection_mapping.xml:829
+#, no-c-format
 msgid "Collection examples"
 msgstr "콜렉션 예제들"
 
-#: index.docbook:831
-msgid "The previous sections are pretty confusing. So lets look at an example. This class:"
+#. Tag: para
+#: collection_mapping.xml:831
+#, no-c-format
+msgid ""
+"The previous sections are pretty confusing. So lets look at an example. This "
+"class:"
 msgstr "앞의 절들은 꽤 혼동스럽다. 따라서 예제를 살펴보자. 다음 클래스:"
 
-#: index.docbook:836
+#. Tag: programlisting
+#: collection_mapping.xml:836
+#, no-c-format
 msgid ""
-      "<![CDATA[package eg;\n"
-      "import java.util.Set;\n"
-      "\n"
-      "public class Parent {\n"
-      "    private long id;\n"
-      "    private Set children;\n"
-      "\n"
-      "    public long getId() { return id; }\n"
-      "    private void setId(long id) { this.id=id; }\n"
-      "\n"
-      "    private Set getChildren() { return children; }\n"
-      "    private void setChildren(Set children) { this.children=children; }\n"
-      "\n"
-      "    ....\n"
-      "    ....\n"
-      "}]]>"
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"\n"
+"public class Parent {\n"
+"    private long id;\n"
+"    private Set children;\n"
+"\n"
+"    public long getId() { return id; }\n"
+"    private void setId(long id) { this.id=id; }\n"
+"\n"
+"    private Set getChildren() { return children; }\n"
+"    private void setChildren(Set children) { this.children=children; }\n"
+"\n"
+"    ....\n"
+"    ....\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package eg;\n"
-      "import java.util.Set;\n"
-      "\n"
-      "public class Parent {\n"
-      "    private long id;\n"
-      "    private Set children;\n"
-      "\n"
-      "    public long getId() { return id; }\n"
-      "    private void setId(long id) { this.id=id; }\n"
-      "\n"
-      "    private Set getChildren() { return children; }\n"
-      "    private void setChildren(Set children) { this.children=children; }\n"
-      "\n"
-      "    ....\n"
-      "    ....\n"
-      "}]]>"
 
-#: index.docbook:838
-msgid "has a collection of <literal>Child</literal> instances. If each child has at most one parent, the most natural mapping is a one-to-many association:"
-msgstr "는 <literal>Child</literal> 인스턴스들을 가진 하나의 콜렉션을 갖고 있다. 만일 각각의 자식이 최소한 한 개의 부모를 가질 경우, 대부분의 고유한 매핑은 one-to-many 연관이다:"
+#. Tag: para
+#: collection_mapping.xml:838
+#, no-c-format
+msgid ""
+"has a collection of <literal>Child</literal> instances. If each child has at "
+"most one parent, the most natural mapping is a one-to-many association:"
+msgstr ""
+"는 <literal>Child</literal> 인스턴스들을 가진 하나의 콜렉션을 갖고 있다. 만"
+"일 각각의 자식이 최소한 한 개의 부모를 가질 경우, 대부분의 고유한 매핑은 one-"
+"to-many 연관이다:"
 
-#: index.docbook:844
+#. Tag: programlisting
+#: collection_mapping.xml:844
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Parent\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <set name=\"children\">\n"
-      "            <key column=\"parent_id\"/>\n"
-      "            <one-to-many class=\"Child\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Child\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"Parent\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"        <set name=\"children\">\n"
+"            <key column=\"parent_id\"/>\n"
+"            <one-to-many class=\"Child\"/>\n"
+"        </set>\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Child\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"        <property name=\"name\"/>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Parent\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <set name=\"children\">\n"
-      "            <key column=\"parent_id\"/>\n"
-      "            <one-to-many class=\"Child\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Child\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:846
+#. Tag: para
+#: collection_mapping.xml:846
+#, no-c-format
 msgid "This maps to the following table definitions:"
 msgstr "이것은 다음 테이블 정의들로 매핑된다:"
 
-#: index.docbook:850
+#. Tag: programlisting
+#: collection_mapping.xml:850
+#, no-c-format
 msgid ""
-      "<![CDATA[create table parent ( id bigint not null primary key )\n"
-      "create table child ( id bigint not null primary key, name varchar(255), parent_id bigint )\n"
-      "alter table child add constraint childfk0 (parent_id) references parent]]>"
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null primary key, name varchar(255), "
+"parent_id bigint )\n"
+"alter table child add constraint childfk0 (parent_id) references parent]]>"
 msgstr ""
-      "<![CDATA[create table parent ( id bigint not null primary key )\n"
-      "create table child ( id bigint not null primary key, name varchar(255), parent_id bigint )\n"
-      "alter table child add constraint childfk0 (parent_id) references parent]]>"
 
-#: index.docbook:852
-msgid "If the parent is <emphasis>required</emphasis>, use a bidirectional one-to-many association:"
-msgstr "만일 부모가 <emphasis>필수적</emphasis>이라면, 양방향 one-to-many 연관관계를 사용하라:"
+#. Tag: para
+#: collection_mapping.xml:852
+#, no-c-format
+msgid ""
+"If the parent is <emphasis>required</emphasis>, use a bidirectional one-to-"
+"many association:"
+msgstr ""
+"만일 부모가 <emphasis>필수적</emphasis>이라면, 양방향 one-to-many 연관관계를 "
+"사용하라:"
 
-#: index.docbook:857
+#. Tag: programlisting
+#: collection_mapping.xml:857
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Parent\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <set name=\"children\" inverse=\"true\">\n"
-      "            <key column=\"parent_id\"/>\n"
-      "            <one-to-many class=\"Child\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Child\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "        <many-to-one name=\"parent\" class=\"Parent\" column=\"parent_id\" not-null=\"true\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"Parent\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"        <set name=\"children\" inverse=\"true\">\n"
+"            <key column=\"parent_id\"/>\n"
+"            <one-to-many class=\"Child\"/>\n"
+"        </set>\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Child\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"        <property name=\"name\"/>\n"
+"        <many-to-one name=\"parent\" class=\"Parent\" column=\"parent_id\" "
+"not-null=\"true\"/>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Parent\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <set name=\"children\" inverse=\"true\">\n"
-      "            <key column=\"parent_id\"/>\n"
-      "            <one-to-many class=\"Child\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Child\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "        <many-to-one name=\"parent\" class=\"Parent\" column=\"parent_id\" not-null=\"true\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:859
+#. Tag: para
+#: collection_mapping.xml:859
+#, no-c-format
 msgid "Notice the <literal>NOT NULL</literal> constraint:"
 msgstr "<literal>NOT NULL</literal> 컨스트레인트를 주목하라:"
 
-#: index.docbook:863
+#. Tag: programlisting
+#: collection_mapping.xml:863
+#, no-c-format
 msgid ""
-      "<![CDATA[create table parent ( id bigint not null primary key )\n"
-      "create table child ( id bigint not null\n"
-      "                     primary key,\n"
-      "                     name varchar(255),\n"
-      "                     parent_id bigint not null )\n"
-      "alter table child add constraint childfk0 (parent_id) references parent]]>"
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null\n"
+"                     primary key,\n"
+"                     name varchar(255),\n"
+"                     parent_id bigint not null )\n"
+"alter table child add constraint childfk0 (parent_id) references parent]]>"
 msgstr ""
-      "<![CDATA[create table parent ( id bigint not null primary key )\n"
-      "create table child ( id bigint not null\n"
-      "                     primary key,\n"
-      "                     name varchar(255),\n"
-      "                     parent_id bigint not null )\n"
-      "alter table child add constraint childfk0 (parent_id) references parent]]>"
 
-#: index.docbook:865
-msgid "Alternatively, if you absolutely insist that this association should be unidirectional, you can declare the <literal>NOT NULL</literal> constraint on the <literal>&lt;key&gt;</literal> mapping:"
-msgstr "대안적으로, 만일 당신이 이 연관관계가 단방향이어야 함을 절대적으로 역설할 경우, 당신은 <literal>&lt;key&gt;</literal> 매핑 상에 <literal>NOT NULL</literal> 컨스트레인트를 선언할 수 있다:"
+#. Tag: para
+#: collection_mapping.xml:865
+#, no-c-format
+msgid ""
+"Alternatively, if you absolutely insist that this association should be "
+"unidirectional, you can declare the <literal>NOT NULL</literal> constraint "
+"on the <literal>&lt;key&gt;</literal> mapping:"
+msgstr ""
+"대안적으로, 만일 당신이 이 연관관계가 단방향이어야 함을 절대적으로 역설할 경"
+"우, 당신은 <literal>&lt;key&gt;</literal> 매핑 상에 <literal>NOT NULL</"
+"literal> 컨스트레인트를 선언할 수 있다:"
 
-#: index.docbook:871
+#. Tag: programlisting
+#: collection_mapping.xml:871
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Parent\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <set name=\"children\">\n"
-      "            <key column=\"parent_id\" not-null=\"true\"/>\n"
-      "            <one-to-many class=\"Child\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Child\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"Parent\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"        <set name=\"children\">\n"
+"            <key column=\"parent_id\" not-null=\"true\"/>\n"
+"            <one-to-many class=\"Child\"/>\n"
+"        </set>\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Child\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"        <property name=\"name\"/>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Parent\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <set name=\"children\">\n"
-      "            <key column=\"parent_id\" not-null=\"true\"/>\n"
-      "            <one-to-many class=\"Child\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Child\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:873
-msgid "On the other hand, if a child might have multiple parents, a many-to-many association is appropriate:"
-msgstr "반면에, 만일 자식이 여러 부모들을 가질 수 있을 경우, many-to-many 연관이 적절하다:"
+#. Tag: para
+#: collection_mapping.xml:873
+#, no-c-format
+msgid ""
+"On the other hand, if a child might have multiple parents, a many-to-many "
+"association is appropriate:"
+msgstr ""
+"반면에, 만일 자식이 여러 부모들을 가질 수 있을 경우, many-to-many 연관이 적절"
+"하다:"
 
-#: index.docbook:878
+#. Tag: programlisting
+#: collection_mapping.xml:878
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Parent\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <set name=\"children\" table=\"childset\">\n"
-      "            <key column=\"parent_id\"/>\n"
-      "            <many-to-many class=\"Child\" column=\"child_id\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Child\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"Parent\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"        <set name=\"children\" table=\"childset\">\n"
+"            <key column=\"parent_id\"/>\n"
+"            <many-to-many class=\"Child\" column=\"child_id\"/>\n"
+"        </set>\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Child\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"        <property name=\"name\"/>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Parent\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <set name=\"children\" table=\"childset\">\n"
-      "            <key column=\"parent_id\"/>\n"
-      "            <many-to-many class=\"Child\" column=\"child_id\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Child\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:880
+#. Tag: para
+#: collection_mapping.xml:880
+#, no-c-format
 msgid "Table definitions:"
 msgstr "테이블 정의들:"
 
-#: index.docbook:884
+#. Tag: programlisting
+#: collection_mapping.xml:884
+#, no-c-format
 msgid ""
-      "<![CDATA[create table parent ( id bigint not null primary key )\n"
-      "create table child ( id bigint not null primary key, name varchar(255) )\n"
-      "create table childset ( parent_id bigint not null,\n"
-      "                        child_id bigint not null,\n"
-      "                        primary key ( parent_id, child_id ) )\n"
-      "alter table childset add constraint childsetfk0 (parent_id) references parent\n"
-      "alter table childset add constraint childsetfk1 (child_id) references child]]>"
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null primary key, name varchar(255) )\n"
+"create table childset ( parent_id bigint not null,\n"
+"                        child_id bigint not null,\n"
+"                        primary key ( parent_id, child_id ) )\n"
+"alter table childset add constraint childsetfk0 (parent_id) references "
+"parent\n"
+"alter table childset add constraint childsetfk1 (child_id) references child]]"
+">"
 msgstr ""
-      "<![CDATA[create table parent ( id bigint not null primary key )\n"
-      "create table child ( id bigint not null primary key, name varchar(255) )\n"
-      "create table childset ( parent_id bigint not null,\n"
-      "                        child_id bigint not null,\n"
-      "                        primary key ( parent_id, child_id ) )\n"
-      "alter table childset add constraint childsetfk0 (parent_id) references parent\n"
-      "alter table childset add constraint childsetfk1 (child_id) references child]]>"
 
-#: index.docbook:886
-msgid "For more examples and a complete walk-through a parent/child relationship mapping, see <xref linkend=\"example-parentchild\"/>."
-msgstr "부모/자식 관계 매핑을 연습하는 더 많은 예제들과 전체 리허설은 <xref linkend=\"example-parentchild\"/>를 보라."
+#. Tag: para
+#: collection_mapping.xml:886
+#, no-c-format
+msgid ""
+"For more examples and a complete walk-through a parent/child relationship "
+"mapping, see <xref linkend=\"example-parentchild\"/>."
+msgstr ""
+"부모/자식 관계 매핑을 연습하는 더 많은 예제들과 전체 리허설은 <xref linkend="
+"\"example-parentchild\"/>를 보라."
 
-#: index.docbook:891
-msgid "Even more exotic association mappings are possible, we will catalog all possibilities in the next chapter."
-msgstr "비록 더 많은 신종 연관 매핑들이 가능할지라도, 우리는 다음 장에서 모든 가능성들을 분류할 것이다."
+#. Tag: para
+#: collection_mapping.xml:891
+#, no-c-format
+msgid ""
+"Even more exotic association mappings are possible, we will catalog all "
+"possibilities in the next chapter."
+msgstr ""
+"비록 더 많은 신종 연관 매핑들이 가능할지라도, 우리는 다음 장에서 모든 가능성"
+"들을 분류할 것이다."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid ""
+#~ "<literal>column_name</literal> (required): The name of the column holding "
+#~ "the collection index values."
+#~ msgstr ""
+#~ "<literal>column_name</literal> (필수): 콜렉션 인덱스 값들을 보관하는 컬럼"
+#~ "의 이름."
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid ""
+#~ "<literal>base</literal> (optional, defaults to <literal>0</literal>): The "
+#~ "value of the index column that corresponds to the first element of the "
+#~ "list or array."
+#~ msgstr ""
+#~ "<literal>base</literal> (옵션, 디폴트는 <literal>0</literal>): 리스트 또"
+#~ "는 배열의 첫 번째 요소에 대응하는 인덱스 컬럼의 값."
 
+#~ msgid ""
+#~ "<literal>column</literal> (optional): The name of the column holding the "
+#~ "collection index values."
+#~ msgstr ""
+#~ "<literal>column</literal> (옵션): 콜렉션 인덱스 값들을 보관하는 컬럼의 이"
+#~ "름."
+
+#~ msgid ""
+#~ "<literal>formula</literal> (optional): A SQL formula used to evaluate the "
+#~ "key of the map."
+#~ msgstr ""
+#~ "<literal>formula</literal> (옵션): map의 키를 평가하는데 사용되는 SQL "
+#~ "formula."
+
+#~ msgid "<literal>type</literal> (reguired): The type of the map keys."
+#~ msgstr "<literal>type</literal> (필수): The type of the map 키들의 타입"
+
+#~ msgid ""
+#~ "<literal>column</literal> (optional): The name of the foreign key column "
+#~ "for the collection index values."
+#~ msgstr ""
+#~ "<literal>column</literal> (옵션): 콜렉션 인덱스 값들에 대한 foreign 키 컬"
+#~ "럼의 이름."
+
+#~ msgid ""
+#~ "<literal>formula</literal> (optional): A SQL formula used to evaluate the "
+#~ "foreign key of the map key."
+#~ msgstr ""
+#~ "<literal>formula</literal> (옵션): map의 foreign 키를 평가하는데 사용되는 "
+#~ "SQL formula."
+
+#~ msgid ""
+#~ "<literal>class</literal> (required): The entity class used as the map key."
+#~ msgstr "<literal>class</literal> (필수): map 키로서 사용되는 엔티티 클래스."
+
+#~ msgid ""
+#~ "<literal>column</literal> (optional): The name of the column holding the "
+#~ "collection element values."
+#~ msgstr ""
+#~ "<literal>column</literal> (옵션): 콜렉션 요소 값들을 소유하는 컬럼의 이름."
+
+#~ msgid ""
+#~ "<literal>formula</literal> (optional): An SQL formula used to evaluate "
+#~ "the element."
+#~ msgstr ""
+#~ "<literal>formula</literal> (옵션): 요소를 평가하는데 사용되는 SQL formula."
+
+#~ msgid ""
+#~ "<literal>type</literal> (required): The type of the collection element."
+#~ msgstr "<literal>type</literal> (필수): 콜렉션 요소의 타입."
+
+#~ msgid ""
+#~ "A <emphasis>many-to-many association</emphasis> is specified using the "
+#~ "<literal>&lt;many-to-many&gt;</literal> element."
+#~ msgstr ""
+#~ "<emphasis>many-to-many association</emphasis> 연관은 <literal>&lt;many-to-"
+#~ "many&gt;</literal> 요소를 사용하여 지정된다."
+
+#~ msgid ""
+#~ "<literal>column</literal> (optional): The name of the element foreign key "
+#~ "column."
+#~ msgstr "<literal>column</literal> (옵션): 요소 foreign 키 컬럼의 이름."
+
+#~ msgid ""
+#~ "<literal>formula</literal> (optional): An SQL formula used to evaluate "
+#~ "the element foreign key value."
+#~ msgstr ""
+#~ "<literal>formula</literal> (옵션): 요소 foreign 키 값을 평가하는데 사용되"
+#~ "는 SQL formula."
+
+#~ msgid ""
+#~ "<literal>fetch</literal> (optional - defaults to <literal>join</"
+#~ "literal>): enables outer-join or sequential select fetching for this "
+#~ "association. This is a special case; for full eager fetching (in a single "
+#~ "<literal>SELECT</literal>) of an entity and its many-to-many "
+#~ "relationships to other entities, you would enable <literal>join</literal> "
+#~ "fetching not only of the collection itself, but also with this attribute "
+#~ "on the <literal>&lt;many-to-many&gt;</literal> nested element."
+#~ msgstr ""
+#~ "<literal>fetch</literal> (옵션 - 디폴트는 <literal>join</literal>): 이 연"
+#~ "관에 대해 outer-join 페칭 또는 sequential select 페칭을 이용 가능하게 만든"
+#~ "다. 이것은 특별한 경우이다; 엔티티 그리고 다른 엔티티들과 그것의 many-to-"
+#~ "many 관계들에 대한 (하나의 <literal>SELECT</literal> 내에서) 전체 eager 페"
+#~ "칭의 경우, 당신은 콜렉션 그 자체에 대해서 뿐만 아니라 내포된 요소 "
+#~ "<literal>&lt;many-to-many&gt;</literal> 상의 이 속성에 대해 "
+#~ "<literal>join</literal> 페칭을 이용 가능하게 할 것이다."
+
+#~ msgid ""
+#~ "<literal>unique</literal> (optional): Enable the DDL generation of a "
+#~ "unique constraint for the foreign-key column. This makes the association "
+#~ "multiplicity effectively one to many."
+#~ msgstr ""
+#~ "<literal>unique</literal> (옵션): foreign-key 컬럼에 대한 유일 컨스트레인"
+#~ "트의 DDL 생성을 가능하도록 한다. 이것은 연관 다중성 (association "
+#~ "multiplicity)을 효율적으로 one to many로 만든다."
+
+#~ msgid ""
+#~ "<literal>not-found</literal> (optional - defaults to <literal>exception</"
+#~ "literal>): Specifies how foreign keys that reference missing rows will be "
+#~ "handled: <literal>ignore</literal> will treat a missing row as a null "
+#~ "association."
+#~ msgstr ""
+#~ "<literal>not-found</literal> (옵션 - 디폴트는 <literal>exception</"
+#~ "literal>): 누락된 행들을 참조하는 foreign 키들이 어떻게 처리될 것인지를 지"
+#~ "정한다: <literal>ignore</literal>는 누락된 한 행을 한 개의 연관으로 다룰 "
+#~ "것이다."
+
+#~ msgid ""
+#~ "<literal>property-ref</literal>: (optional) The name of a property of the "
+#~ "associated class that is joined to this foreign key. If not specified, "
+#~ "the primary key of the associated class is used."
+#~ msgstr ""
+#~ "<literal>property-ref</literal>: (옵션) 이 foreign 키에 조인된 연관 클래스"
+#~ "의 프로퍼티의 이름. 지정되지 않을 경우, 연관 클래스의 프라이머리 키가 사용"
+#~ "된다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/component_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/component_mapping.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/component_mapping.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,532 +1,676 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: component_mapping.xml:5
+#, no-c-format
 msgid "Component Mapping"
 msgstr "Component 매핑"
 
-#: index.docbook:7
-msgid "The notion of a <emphasis>component</emphasis> is re-used in several different contexts, for different purposes, throughout Hibernate."
-msgstr "<emphasis>component</emphasis>의 개념은 Hibernate에서 다른 용도로 몇몇 다른 컨텍스트들 내에서 재사용된다."
+#. Tag: para
+#: component_mapping.xml:7
+#, no-c-format
+msgid ""
+"The notion of a <emphasis>component</emphasis> is re-used in several "
+"different contexts, for different purposes, throughout Hibernate."
+msgstr ""
+"<emphasis>component</emphasis>의 개념은 Hibernate에서 다른 용도로 몇몇 다른 "
+"컨텍스트들 내에서 재사용된다."
 
-#: index.docbook:13
+#. Tag: title
+#: component_mapping.xml:13
+#, no-c-format
 msgid "Dependent objects"
 msgstr "종속 객체들"
 
-#: index.docbook:15
-msgid "A component is a contained object that is persisted as a value type, not an entity reference. The term \"component\" refers to the object-oriented notion of composition (not to architecture-level components). For example, you might model a person like this:"
-msgstr "하나의 컴포넌트는 엔티티 참조가 아닌, value 타입으로서 영속화 되는 하나의 포함된 객체이다. \"컴포넌트\" 용어는 (아키텍처 수준의 컴포넌트들이 아닌) composition(구성,합성)에 대한 객체-지향적인 개념을 언급한다. 예를 들어 당신은 다음과 같이 개인을 모형화 시킬 수도 있다:"
+#. Tag: para
+#: component_mapping.xml:15
+#, no-c-format
+msgid ""
+"A component is a contained object that is persisted as a value type, not an "
+"entity reference. The term \"component\" refers to the object-oriented "
+"notion of composition (not to architecture-level components). For example, "
+"you might model a person like this:"
+msgstr ""
+"하나의 컴포넌트는 엔티티 참조가 아닌, value 타입으로서 영속화 되는 하나의 포"
+"함된 객체이다. \"컴포넌트\" 용어는 (아키텍처 수준의 컴포넌트들이 아닌) "
+"composition(구성,합성)에 대한 객체-지향적인 개념을 언급한다. 예를 들어 당신"
+"은 다음과 같이 개인을 모형화 시킬 수도 있다:"
 
-#: index.docbook:21
+#. Tag: programlisting
+#: component_mapping.xml:21
+#, no-c-format
 msgid ""
-      "<![CDATA[public class Person {\n"
-      "    private java.util.Date birthday;\n"
-      "    private Name name;\n"
-      "    private String key;\n"
-      "    public String getKey() {\n"
-      "        return key;\n"
-      "    }\n"
-      "    private void setKey(String key) {\n"
-      "        this.key=key;\n"
-      "    }\n"
-      "    public java.util.Date getBirthday() {\n"
-      "        return birthday;\n"
-      "    }\n"
-      "    public void setBirthday(java.util.Date birthday) {\n"
-      "        this.birthday = birthday;\n"
-      "    }\n"
-      "    public Name getName() {\n"
-      "        return name;\n"
-      "    }\n"
-      "    public void setName(Name name) {\n"
-      "        this.name = name;\n"
-      "    }\n"
-      "    ......\n"
-      "    ......\n"
-      "}]]>"
+"<![CDATA[public class Person {\n"
+"    private java.util.Date birthday;\n"
+"    private Name name;\n"
+"    private String key;\n"
+"    public String getKey() {\n"
+"        return key;\n"
+"    }\n"
+"    private void setKey(String key) {\n"
+"        this.key=key;\n"
+"    }\n"
+"    public java.util.Date getBirthday() {\n"
+"        return birthday;\n"
+"    }\n"
+"    public void setBirthday(java.util.Date birthday) {\n"
+"        this.birthday = birthday;\n"
+"    }\n"
+"    public Name getName() {\n"
+"        return name;\n"
+"    }\n"
+"    public void setName(Name name) {\n"
+"        this.name = name;\n"
+"    }\n"
+"    ......\n"
+"    ......\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[public class Person {\n"
-      "    private java.util.Date birthday;\n"
-      "    private Name name;\n"
-      "    private String key;\n"
-      "    public String getKey() {\n"
-      "        return key;\n"
-      "    }\n"
-      "    private void setKey(String key) {\n"
-      "        this.key=key;\n"
-      "    }\n"
-      "    public java.util.Date getBirthday() {\n"
-      "        return birthday;\n"
-      "    }\n"
-      "    public void setBirthday(java.util.Date birthday) {\n"
-      "        this.birthday = birthday;\n"
-      "    }\n"
-      "    public Name getName() {\n"
-      "        return name;\n"
-      "    }\n"
-      "    public void setName(Name name) {\n"
-      "        this.name = name;\n"
-      "    }\n"
-      "    ......\n"
-      "    ......\n"
-      "}]]>"
 
-#: index.docbook:23
+#. Tag: programlisting
+#: component_mapping.xml:23
+#, no-c-format
 msgid ""
-      "<![CDATA[public class Name {\n"
-      "    char initial;\n"
-      "    String first;\n"
-      "    String last;\n"
-      "    public String getFirst() {\n"
-      "        return first;\n"
-      "    }\n"
-      "    void setFirst(String first) {\n"
-      "        this.first = first;\n"
-      "    }\n"
-      "    public String getLast() {\n"
-      "        return last;\n"
-      "    }\n"
-      "    void setLast(String last) {\n"
-      "        this.last = last;\n"
-      "    }\n"
-      "    public char getInitial() {\n"
-      "        return initial;\n"
-      "    }\n"
-      "    void setInitial(char initial) {\n"
-      "        this.initial = initial;\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[public class Name {\n"
+"    char initial;\n"
+"    String first;\n"
+"    String last;\n"
+"    public String getFirst() {\n"
+"        return first;\n"
+"    }\n"
+"    void setFirst(String first) {\n"
+"        this.first = first;\n"
+"    }\n"
+"    public String getLast() {\n"
+"        return last;\n"
+"    }\n"
+"    void setLast(String last) {\n"
+"        this.last = last;\n"
+"    }\n"
+"    public char getInitial() {\n"
+"        return initial;\n"
+"    }\n"
+"    void setInitial(char initial) {\n"
+"        this.initial = initial;\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[public class Name {\n"
-      "    char initial;\n"
-      "    String first;\n"
-      "    String last;\n"
-      "    public String getFirst() {\n"
-      "        return first;\n"
-      "    }\n"
-      "    void setFirst(String first) {\n"
-      "        this.first = first;\n"
-      "    }\n"
-      "    public String getLast() {\n"
-      "        return last;\n"
-      "    }\n"
-      "    void setLast(String last) {\n"
-      "        this.last = last;\n"
-      "    }\n"
-      "    public char getInitial() {\n"
-      "        return initial;\n"
-      "    }\n"
-      "    void setInitial(char initial) {\n"
-      "        this.initial = initial;\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:25
-msgid "Now <literal>Name</literal> may be persisted as a component of <literal>Person</literal>. Notice that <literal>Name</literal> defines getter and setter methods for its persistent properties, but doesn't need to declare any interfaces or identifier properties."
-msgstr "이제 <literal>Name</literal>은 <literal>Person</literal>의 컴포넌트로서 영속화 될 수도 있다. <literal>Name</literal>이 그것의 영속 프로퍼티들에 대한 getter 메소드와 setter 메소드를 정의하지만, 어떤 인터페이스들이나 식별자 프로퍼티들을 선언하는 것을 필요로 하지 않음을 주목하라."
+#. Tag: para
+#: component_mapping.xml:25
+#, no-c-format
+msgid ""
+"Now <literal>Name</literal> may be persisted as a component of "
+"<literal>Person</literal>. Notice that <literal>Name</literal> defines "
+"getter and setter methods for its persistent properties, but doesn't need to "
+"declare any interfaces or identifier properties."
+msgstr ""
+"이제 <literal>Name</literal>은 <literal>Person</literal>의 컴포넌트로서 영속"
+"화 될 수도 있다. <literal>Name</literal>이 그것의 영속 프로퍼티들에 대한 "
+"getter 메소드와 setter 메소드를 정의하지만, 어떤 인터페이스들이나 식별자 프로"
+"퍼티들을 선언하는 것을 필요로 하지 않음을 주목하라."
 
-#: index.docbook:32
+#. Tag: para
+#: component_mapping.xml:32
+#, no-c-format
 msgid "Our Hibernate mapping would look like:"
 msgstr "우리의 Hibernate 매핑은 다음과 같을 것이다:"
 
-#: index.docbook:36
+#. Tag: programlisting
+#: component_mapping.xml:36
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
-      "    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
-      "        <generator class=\"uuid\"/>\n"
-      "    </id>\n"
-      "    <property name=\"birthday\" type=\"date\"/>\n"
-      "    <component name=\"Name\" class=\"eg.Name\"> <!-- class attribute optional -->\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"first\"/>\n"
-      "        <property name=\"last\"/>\n"
-      "    </component>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
+"    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
+"        <generator class=\"uuid\"/>\n"
+"    </id>\n"
+"    <property name=\"birthday\" type=\"date\"/>\n"
+"    <component name=\"Name\" class=\"eg.Name\"> <!-- class attribute "
+"optional -->\n"
+"        <property name=\"initial\"/>\n"
+"        <property name=\"first\"/>\n"
+"        <property name=\"last\"/>\n"
+"    </component>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
-      "    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
-      "        <generator class=\"uuid\"/>\n"
-      "    </id>\n"
-      "    <property name=\"birthday\" type=\"date\"/>\n"
-      "    <component name=\"Name\" class=\"eg.Name\"> <!-- class attribute optional -->\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"first\"/>\n"
-      "        <property name=\"last\"/>\n"
-      "    </component>\n"
-      "</class>]]>"
 
-#: index.docbook:38
-msgid "The person table would have the columns <literal>pid</literal>, <literal>birthday</literal>, <literal>initial</literal>, <literal>first</literal> and <literal>last</literal>."
-msgstr "person 테이블은 <literal>pid</literal>, <literal>birthday</literal>, <literal>initial</literal>, <literal>first</literal>, <literal>last</literal> 컬럼들을 가질 것이다."
+#. Tag: para
+#: component_mapping.xml:38
+#, no-c-format
+msgid ""
+"The person table would have the columns <literal>pid</literal>, "
+"<literal>birthday</literal>, <literal>initial</literal>, <literal>first</"
+"literal> and <literal>last</literal>."
+msgstr ""
+"person 테이블은 <literal>pid</literal>, <literal>birthday</literal>, "
+"<literal>initial</literal>, <literal>first</literal>, <literal>last</"
+"literal> 컬럼들을 가질 것이다."
 
-#: index.docbook:46
-msgid "Like all value types, components do not support shared references. In other words, two persons could have the same name, but the two person objects would contain two independent name ojects, only \"the same\" by value. The null value semantics of a component are <emphasis>ad hoc</emphasis>. When reloading the containing object, Hibernate will assume that if all component columns are null, then the entire component is null. This should be okay for most purposes."
-msgstr "모든 값(value) 타입들처럼, 컴포넌트들은 공유된 참조들을 지원하지 않는다. 달리 말해, 두 명의 개인들은 동일한 이름을 가질 수 있지만, 두 개의 person 객체들은 오직 값 만이 \"동일한\" 두 개의 독립적인 name 객체들을 포함할 것이다. 컴포넌트의 null 값 의미는 <emphasis>특별한 용도를 위한 것이다</emphasis>. 포함된 객체를 다시 로드시킬 때, Hibernate는 모든 컴포넌트 컬럼들이 null일 경우에 전체 컴포넌트가 null이라고 가정할 것이다. 이것은 대부분의 용도에 맞을 것이다."
+#. Tag: para
+#: component_mapping.xml:46
+#, no-c-format
+msgid ""
+"Like all value types, components do not support shared references. In other "
+"words, two persons could have the same name, but the two person objects "
+"would contain two independent name ojects, only \"the same\" by value. The "
+"null value semantics of a component are <emphasis>ad hoc</emphasis>. When "
+"reloading the containing object, Hibernate will assume that if all component "
+"columns are null, then the entire component is null. This should be okay for "
+"most purposes."
+msgstr ""
+"모든 값(value) 타입들처럼, 컴포넌트들은 공유된 참조들을 지원하지 않는다. 달"
+"리 말해, 두 명의 개인들은 동일한 이름을 가질 수 있지만, 두 개의 person 객체들"
+"은 오직 값 만이 \"동일한\" 두 개의 독립적인 name 객체들을 포함할 것이다. 컴포"
+"넌트의 null 값 의미는 <emphasis>특별한 용도를 위한 것이다</emphasis>. 포함된 "
+"객체를 다시 로드시킬 때, Hibernate는 모든 컴포넌트 컬럼들이 null일 경우에 전"
+"체 컴포넌트가 null이라고 가정할 것이다. 이것은 대부분의 용도에 맞을 것이다."
 
-#: index.docbook:55
-msgid "The properties of a component may be of any Hibernate type (collections, many-to-one associations, other components, etc). Nested components should <emphasis>not</emphasis> be considered an exotic usage. Hibernate is intended to support a very fine-grained object model."
-msgstr "컴포넌트의 프로퍼티들은 임의의 Hibernate 타입일 수 있다(콜렉션들, many-to-one 연관들, 다른 컴포넌트들, 기타). 내포된 컴포넌트들은 신종의 사용례로 간주되지 <emphasis>않을</emphasis> 것이다. Hibernate는 매우 잘 정제된 객체 모형을 지원하도록 고안되어있다."
+#. Tag: para
+#: component_mapping.xml:55
+#, no-c-format
+msgid ""
+"The properties of a component may be of any Hibernate type (collections, "
+"many-to-one associations, other components, etc). Nested components should "
+"<emphasis>not</emphasis> be considered an exotic usage. Hibernate is "
+"intended to support a very fine-grained object model."
+msgstr ""
+"컴포넌트의 프로퍼티들은 임의의 Hibernate 타입일 수 있다(콜렉션들, many-to-"
+"one 연관들, 다른 컴포넌트들, 기타). 내포된 컴포넌트들은 신종의 사용례로 간주"
+"되지 <emphasis>않을</emphasis> 것이다. Hibernate는 매우 잘 정제된 객체 모형"
+"을 지원하도록 고안되어있다."
 
-#: index.docbook:62
-msgid "The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;parent&gt;</literal> subelement that maps a property of the component class as a reference back to the containing entity."
-msgstr "<literal>&lt;component&gt;</literal> 요소는 컴포넌트 클래스의 프로퍼티를 포함되는 엔티티에 대한 역 참조로서 매핑시키는 <literal>&lt;parent&gt;</literal> 서브요소를 허용한다."
+#. Tag: para
+#: component_mapping.xml:62
+#, no-c-format
+msgid ""
+"The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;"
+"parent&gt;</literal> subelement that maps a property of the component class "
+"as a reference back to the containing entity."
+msgstr ""
+"<literal>&lt;component&gt;</literal> 요소는 컴포넌트 클래스의 프로퍼티를 포함"
+"되는 엔티티에 대한 역 참조로서 매핑시키는 <literal>&lt;parent&gt;</literal> "
+"서브요소를 허용한다."
 
-#: index.docbook:68
+#. Tag: programlisting
+#: component_mapping.xml:68
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
-      "    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
-      "        <generator class=\"uuid\"/>\n"
-      "    </id>\n"
-      "    <property name=\"birthday\" type=\"date\"/>\n"
-      "    <component name=\"Name\" class=\"eg.Name\" unique=\"true\">\n"
-      "        <parent name=\"namedPerson\"/> <!-- reference back to the Person -->\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"first\"/>\n"
-      "        <property name=\"last\"/>\n"
-      "    </component>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
+"    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
+"        <generator class=\"uuid\"/>\n"
+"    </id>\n"
+"    <property name=\"birthday\" type=\"date\"/>\n"
+"    <component name=\"Name\" class=\"eg.Name\" unique=\"true\">\n"
+"        <parent name=\"namedPerson\"/> <!-- reference back to the Person --"
+">\n"
+"        <property name=\"initial\"/>\n"
+"        <property name=\"first\"/>\n"
+"        <property name=\"last\"/>\n"
+"    </component>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
-      "    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
-      "        <generator class=\"uuid\"/>\n"
-      "    </id>\n"
-      "    <property name=\"birthday\" type=\"date\"/>\n"
-      "    <component name=\"Name\" class=\"eg.Name\" unique=\"true\">\n"
-      "        <parent name=\"namedPerson\"/> <!-- reference back to the Person -->\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"first\"/>\n"
-      "        <property name=\"last\"/>\n"
-      "    </component>\n"
-      "</class>]]>"
 
-#: index.docbook:73
+#. Tag: title
+#: component_mapping.xml:73
+#, no-c-format
 msgid "Collections of dependent objects"
 msgstr "종속 객체들을 가진 콜렉션들"
 
-#: index.docbook:75
-msgid "Collections of components are supported (eg. an array of type <literal>Name</literal>). Declare your component collection by replacing the <literal>&lt;element&gt;</literal> tag with a <literal>&lt;composite-element&gt;</literal> tag."
-msgstr "컴포넌트들을 가진 콜렉션들이 지원된다(예를 들면 <literal>Name</literal> 타입을 가진 배열). <literal>&lt;element&gt;</literal> 태그를 <literal>&lt;composite-element&gt;</literal> 태그로 대체시켜서 당신의 컴포넌트 콜렉션을 선언하라."
+#. Tag: para
+#: component_mapping.xml:75
+#, no-c-format
+msgid ""
+"Collections of components are supported (eg. an array of type <literal>Name</"
+"literal>). Declare your component collection by replacing the <literal>&lt;"
+"element&gt;</literal> tag with a <literal>&lt;composite-element&gt;</"
+"literal> tag."
+msgstr ""
+"컴포넌트들을 가진 콜렉션들이 지원된다(예를 들면 <literal>Name</literal> 타입"
+"을 가진 배열). <literal>&lt;element&gt;</literal> 태그를 <literal>&lt;"
+"composite-element&gt;</literal> 태그로 대체시켜서 당신의 컴포넌트 콜렉션을 선"
+"언하라."
 
-#: index.docbook:82
+#. Tag: programlisting
+#: component_mapping.xml:82
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"someNames\" table=\"some_names\" lazy=\"true\">\n"
-      "    <key column=\"id\"/>\n"
-      "    <composite-element class=\"eg.Name\"> <!-- class attribute required -->\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"first\"/>\n"
-      "        <property name=\"last\"/>\n"
-      "    </composite-element>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"someNames\" table=\"some_names\" lazy=\"true\">\n"
+"    <key column=\"id\"/>\n"
+"    <composite-element class=\"eg.Name\"> <!-- class attribute required -->\n"
+"        <property name=\"initial\"/>\n"
+"        <property name=\"first\"/>\n"
+"        <property name=\"last\"/>\n"
+"    </composite-element>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"someNames\" table=\"some_names\" lazy=\"true\">\n"
-      "    <key column=\"id\"/>\n"
-      "    <composite-element class=\"eg.Name\"> <!-- class attribute required -->\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"first\"/>\n"
-      "        <property name=\"last\"/>\n"
-      "    </composite-element>\n"
-      "</set>]]>"
 
-#: index.docbook:84
-msgid "Note: if you define a <literal>Set</literal> of composite elements, it is very important to implement <literal>equals()</literal> and <literal>hashCode()</literal> correctly."
-msgstr "노트: 만일 당신이 composite 요소를 가진 하나의 <literal>Set</literal>를 정의할 경우, <literal>equals()</literal>와 <literal>hashCode()</literal>를 정확하게 구현하는 것이 매우 중요하다."
+#. Tag: para
+#: component_mapping.xml:84
+#, no-c-format
+msgid ""
+"Note: if you define a <literal>Set</literal> of composite elements, it is "
+"very important to implement <literal>equals()</literal> and <literal>hashCode"
+"()</literal> correctly."
+msgstr ""
+"노트: 만일 당신이 composite 요소를 가진 하나의 <literal>Set</literal>를 정의"
+"할 경우, <literal>equals()</literal>와 <literal>hashCode()</literal>를 정확하"
+"게 구현하는 것이 매우 중요하다."
 
-#: index.docbook:90
-msgid "Composite elements may contain components but not collections. If your composite element itself contains components, use the <literal>&lt;nested-composite-element&gt;</literal> tag. This is a pretty exotic case - a collection of components which themselves have components. By this stage you should be asking yourself if a one-to-many association is more appropriate. Try remodelling the composite element as an entity - but note that even though the Java model is the same, the relational model and persistence semantics are still slightly different."
-msgstr "Composite 요소들은 컴포넌트들을 포함하지만 콜렉션들을 포함하지 않는다. 만일 당신의 composite 요소 자체가 컴포넌트들을 포함할 경우, <literal>&lt;nested-composite-element&gt;</literal> 태그를 사용하라. 이것은 꽤 신종의 경우-그것들 자체가 컴포넌트들을 갖고 있는 컴포넌트들의 콜렉션-이다. 이 단계에서 당신은 one-to-many 연관이 더 적절한지를 당신 스스로에게 질문하게 될 것이다. 하나의 엔티티로서 composite 요소를 다시 모델링하려고 시도하라 - 그러나 자바 모형들이 동일할지라도, 관계형 모형과 영속화 의미들은 여전히 약간 다르다."
+#. Tag: para
+#: component_mapping.xml:90
+#, no-c-format
+msgid ""
+"Composite elements may contain components but not collections. If your "
+"composite element itself contains components, use the <literal>&lt;nested-"
+"composite-element&gt;</literal> tag. This is a pretty exotic case - a "
+"collection of components which themselves have components. By this stage you "
+"should be asking yourself if a one-to-many association is more appropriate. "
+"Try remodelling the composite element as an entity - but note that even "
+"though the Java model is the same, the relational model and persistence "
+"semantics are still slightly different."
+msgstr ""
+"Composite 요소들은 컴포넌트들을 포함하지만 콜렉션들을 포함하지 않는다. 만일 "
+"당신의 composite 요소 자체가 컴포넌트들을 포함할 경우, <literal>&lt;nested-"
+"composite-element&gt;</literal> 태그를 사용하라. 이것은 꽤 신종의 경우-그것"
+"들 자체가 컴포넌트들을 갖고 있는 컴포넌트들의 콜렉션-이다. 이 단계에서 당신"
+"은 one-to-many 연관이 더 적절한지를 당신 스스로에게 질문하게 될 것이다. 하나"
+"의 엔티티로서 composite 요소를 다시 모델링하려고 시도하라 - 그러나 자바 모형"
+"들이 동일할지라도, 관계형 모형과 영속화 의미들은 여전히 약간 다르다."
 
-#: index.docbook:102
-msgid "Please note that a composite element mapping doesn't support null-able properties if you're using a <literal>&lt;set&gt;</literal>. Hibernate has to use each columns value to identify a record when deleting objects (there is no separate primary key column in the composite element table), which is not possible with null values. You have to either use only not-null properties in a composite-element or choose a <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal> or <literal>&lt;idbag&gt;</literal>."
-msgstr "당신이 하나의 <literal>&lt;set&gt;</literal>을 사용 중이라면, 하나의 composite 요소 매핑은 null 가능한 프로퍼티들을 지원하지 않음을 노트하길 바란다. Hibernate는 객체들을 삭제할 때 하나의 레코드를 식별하는데 각각의 컬럼들 값을 사용해야 하며 (composite 요소 테이블 내에 별도의 프라이머리 키 컬럼이 존재하지 않는다), 그것은 null 값들에 대해서는 불가능하다. 당신은 하나의 composite-요소 내에 not-null 프로퍼티들 만을 사용해야 하거나 하나의 <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal> 또는 <literal>&lt;idbag&gt;</literal>을 선택해야 한다."
+#. Tag: para
+#: component_mapping.xml:102
+#, no-c-format
+msgid ""
+"Please note that a composite element mapping doesn't support null-able "
+"properties if you're using a <literal>&lt;set&gt;</literal>. Hibernate has "
+"to use each columns value to identify a record when deleting objects (there "
+"is no separate primary key column in the composite element table), which is "
+"not possible with null values. You have to either use only not-null "
+"properties in a composite-element or choose a <literal>&lt;list&gt;</"
+"literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal> or "
+"<literal>&lt;idbag&gt;</literal>."
+msgstr ""
+"당신이 하나의 <literal>&lt;set&gt;</literal>을 사용 중이라면, 하나의 "
+"composite 요소 매핑은 null 가능한 프로퍼티들을 지원하지 않음을 노트하길 바란"
+"다. Hibernate는 객체들을 삭제할 때 하나의 레코드를 식별하는데 각각의 컬럼들 "
+"값을 사용해야 하며 (composite 요소 테이블 내에 별도의 프라이머리 키 컬럼이 존"
+"재하지 않는다), 그것은 null 값들에 대해서는 불가능하다. 당신은 하나의 "
+"composite-요소 내에 not-null 프로퍼티들 만을 사용해야 하거나 하나의 "
+"<literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, "
+"<literal>&lt;bag&gt;</literal> 또는 <literal>&lt;idbag&gt;</literal>을 선택해"
+"야 한다."
 
-#: index.docbook:113
-msgid "A special case of a composite element is a composite element with a nested <literal>&lt;many-to-one&gt;</literal> element. A mapping like this allows you to map extra columns of a many-to-many association table to the composite element class. The following is a many-to-many association from <literal>Order</literal> to <literal>Item</literal> where <literal>purchaseDate</literal>, <literal>price</literal> and <literal>quantity</literal> are properties of the association:"
-msgstr "composite 요소에 대한 하나의 특별한 경우는 내포된 <literal>&lt;many-to-one&gt;</literal> 요소를 가진 composite 요소이다. 이같은 매핑은 many-to-many 연관 테이블의 특별한 컬럼들을 composite 요소 클래스로 매핑시키는 것을 당신에게 허용해준다. 다음은 <literal>Order</literal>로부터 <literal>Item</literal>으로의 many-to-many 연관이다. 여기서 <literal>purchaseDate</literal>, <literal>price</literal>, 그리고 <literal>quantity</literal>는 연관의 프로퍼티들이다:"
+#. Tag: para
+#: component_mapping.xml:113
+#, no-c-format
+msgid ""
+"A special case of a composite element is a composite element with a nested "
+"<literal>&lt;many-to-one&gt;</literal> element. A mapping like this allows "
+"you to map extra columns of a many-to-many association table to the "
+"composite element class. The following is a many-to-many association from "
+"<literal>Order</literal> to <literal>Item</literal> where "
+"<literal>purchaseDate</literal>, <literal>price</literal> and "
+"<literal>quantity</literal> are properties of the association:"
+msgstr ""
+"composite 요소에 대한 하나의 특별한 경우는 내포된 <literal>&lt;many-to-"
+"one&gt;</literal> 요소를 가진 composite 요소이다. 이같은 매핑은 many-to-many "
+"연관 테이블의 특별한 컬럼들을 composite 요소 클래스로 매핑시키는 것을 당신에"
+"게 허용해준다. 다음은 <literal>Order</literal>로부터 <literal>Item</literal>"
+"으로의 many-to-many 연관이다. 여기서 <literal>purchaseDate</literal>, "
+"<literal>price</literal>, 그리고 <literal>quantity</literal>는 연관의 프로퍼"
+"티들이다:"
 
-#: index.docbook:123
+#. Tag: programlisting
+#: component_mapping.xml:123
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"eg.Order\" .... >\n"
-      "    ....\n"
-      "    <set name=\"purchasedItems\" table=\"purchase_items\" lazy=\"true\">\n"
-      "        <key column=\"order_id\">\n"
-      "        <composite-element class=\"eg.Purchase\">\n"
-      "            <property name=\"purchaseDate\"/>\n"
-      "            <property name=\"price\"/>\n"
-      "            <property name=\"quantity\"/>\n"
-      "            <many-to-one name=\"item\" class=\"eg.Item\"/> <!-- class attribute is optional -->\n"
-      "        </composite-element>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"eg.Order\" .... >\n"
+"    ....\n"
+"    <set name=\"purchasedItems\" table=\"purchase_items\" lazy=\"true\">\n"
+"        <key column=\"order_id\">\n"
+"        <composite-element class=\"eg.Purchase\">\n"
+"            <property name=\"purchaseDate\"/>\n"
+"            <property name=\"price\"/>\n"
+"            <property name=\"quantity\"/>\n"
+"            <many-to-one name=\"item\" class=\"eg.Item\"/> <!-- class "
+"attribute is optional -->\n"
+"        </composite-element>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"eg.Order\" .... >\n"
-      "    ....\n"
-      "    <set name=\"purchasedItems\" table=\"purchase_items\" lazy=\"true\">\n"
-      "        <key column=\"order_id\">\n"
-      "        <composite-element class=\"eg.Purchase\">\n"
-      "            <property name=\"purchaseDate\"/>\n"
-      "            <property name=\"price\"/>\n"
-      "            <property name=\"quantity\"/>\n"
-      "            <many-to-one name=\"item\" class=\"eg.Item\"/> <!-- class attribute is optional -->\n"
-      "        </composite-element>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:125
-msgid "Of course, there can't be a reference to the purchae on the other side, for bidirectional association navigation. Remember that components are value types and don't allow shared references. A single <literal>Purchase</literal> can be in the set of an <literal>Order</literal>, but it can't be referenced by the <literal>Item</literal> at the same time."
-msgstr "물론, 양방향 연관 네비게이션의 경우, 다른 측 상에 있는 purchase에 대한 참조가 존재할 수 없다. 컴포넌트들이 값(value) 타입들이고 공유된 참조들을 허용하지 않음을 기억하라. 하나의 <literal>Purchase</literal>는<literal>Order</literal>를 가진 set 내에 있을 수 있지만, 그것은 동시에 <literal>Item</literal>에 의해 참조될 수 없다."
+#. Tag: para
+#: component_mapping.xml:125
+#, no-c-format
+msgid ""
+"Of course, there can't be a reference to the purchae on the other side, for "
+"bidirectional association navigation. Remember that components are value "
+"types and don't allow shared references. A single <literal>Purchase</"
+"literal> can be in the set of an <literal>Order</literal>, but it can't be "
+"referenced by the <literal>Item</literal> at the same time."
+msgstr ""
+"물론, 양방향 연관 네비게이션의 경우, 다른 측 상에 있는 purchase에 대한 참조"
+"가 존재할 수 없다. 컴포넌트들이 값(value) 타입들이고 공유된 참조들을 허용하"
+"지 않음을 기억하라. 하나의 <literal>Purchase</literal>는<literal>Order</"
+"literal>를 가진 set 내에 있을 수 있지만, 그것은 동시에 <literal>Item</"
+"literal>에 의해 참조될 수 없다."
 
-#: index.docbook:133
+#. Tag: para
+#: component_mapping.xml:133
+#, no-c-format
 msgid "Even ternary (or quaternary, etc) associations are possible:"
 msgstr "심지어 세겹의(또는 네 겹의, 기타) 연관들이 가능하다:"
 
-#: index.docbook:135
+#. Tag: programlisting
+#: component_mapping.xml:135
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"eg.Order\" .... >\n"
-      "    ....\n"
-      "    <set name=\"purchasedItems\" table=\"purchase_items\" lazy=\"true\">\n"
-      "        <key column=\"order_id\">\n"
-      "        <composite-element class=\"eg.OrderLine\">\n"
-      "            <many-to-one name=\"purchaseDetails class=\"eg.Purchase\"/>\n"
-      "            <many-to-one name=\"item\" class=\"eg.Item\"/>\n"
-      "        </composite-element>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"eg.Order\" .... >\n"
+"    ....\n"
+"    <set name=\"purchasedItems\" table=\"purchase_items\" lazy=\"true\">\n"
+"        <key column=\"order_id\">\n"
+"        <composite-element class=\"eg.OrderLine\">\n"
+"            <many-to-one name=\"purchaseDetails class=\"eg.Purchase\"/>\n"
+"            <many-to-one name=\"item\" class=\"eg.Item\"/>\n"
+"        </composite-element>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"eg.Order\" .... >\n"
-      "    ....\n"
-      "    <set name=\"purchasedItems\" table=\"purchase_items\" lazy=\"true\">\n"
-      "        <key column=\"order_id\">\n"
-      "        <composite-element class=\"eg.OrderLine\">\n"
-      "            <many-to-one name=\"purchaseDetails class=\"eg.Purchase\"/>\n"
-      "            <many-to-one name=\"item\" class=\"eg.Item\"/>\n"
-      "        </composite-element>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:137
-msgid "Composite elements may appear in queries using the same syntax as associations to other entities."
-msgstr "composite 요소들은 다른 엔티티들에 대한 연관들과 동일한 구문을 사용하여 질의들 내에 나타날 수도 있다."
+#. Tag: para
+#: component_mapping.xml:137
+#, no-c-format
+msgid ""
+"Composite elements may appear in queries using the same syntax as "
+"associations to other entities."
+msgstr ""
+"composite 요소들은 다른 엔티티들에 대한 연관들과 동일한 구문을 사용하여 질의"
+"들 내에 나타날 수도 있다."
 
-#: index.docbook:145
+#. Tag: title
+#: component_mapping.xml:145
+#, no-c-format
 msgid "Components as Map indices"
 msgstr "Map 인덱스들로서 컴포넌트들"
 
-#: index.docbook:147
-msgid "The <literal>&lt;composite-map-key&gt;</literal> element lets you map a component class as the key of a <literal>Map</literal>. Make sure you override <literal>hashCode()</literal> and <literal>equals()</literal> correctly on the component class."
-msgstr "<literal>&lt;composite-map-key&gt;</literal> 요소는 당신에게 하나의 컴포넌트 클래스를 하나의 <literal>Map</literal>의 키로서 매핑시키도록 한다. 당신은 컴포넌트 클래스 상에서 <literal>hashCode()</literal>와 <literal>equals()</literal>를 정확하게 오버라이드 시키도록 하라."
+#. Tag: para
+#: component_mapping.xml:147
+#, no-c-format
+msgid ""
+"The <literal>&lt;composite-map-key&gt;</literal> element lets you map a "
+"component class as the key of a <literal>Map</literal>. Make sure you "
+"override <literal>hashCode()</literal> and <literal>equals()</literal> "
+"correctly on the component class."
+msgstr ""
+"<literal>&lt;composite-map-key&gt;</literal> 요소는 당신에게 하나의 컴포넌트 "
+"클래스를 하나의 <literal>Map</literal>의 키로서 매핑시키도록 한다. 당신은 컴"
+"포넌트 클래스 상에서 <literal>hashCode()</literal>와 <literal>equals()</"
+"literal>를 정확하게 오버라이드 시키도록 하라."
 
-#: index.docbook:156
+#. Tag: title
+#: component_mapping.xml:156
+#, no-c-format
 msgid "Components as composite identifiers"
 msgstr "composite 식별자들로서 컴포넌트들"
 
-#: index.docbook:158
-msgid "You may use a component as an identifier of an entity class. Your component class must satisfy certain requirements:"
-msgstr "당신은 하나의 컴포넌트를 하나의 엔티티 클래스에 대한 하나의 식별자로서 사용할 수도 있다. 당신의 컴포넌트 클래스는 어떤 사양들을 충족시켜야 한다:"
+#. Tag: para
+#: component_mapping.xml:158
+#, no-c-format
+msgid ""
+"You may use a component as an identifier of an entity class. Your component "
+"class must satisfy certain requirements:"
+msgstr ""
+"당신은 하나의 컴포넌트를 하나의 엔티티 클래스에 대한 하나의 식별자로서 사용"
+"할 수도 있다. 당신의 컴포넌트 클래스는 어떤 사양들을 충족시켜야 한다:"
 
-#: index.docbook:165
+#. Tag: para
+#: component_mapping.xml:165
+#, no-c-format
 msgid "It must implement <literal>java.io.Serializable</literal>."
 msgstr "그것은 <literal>java.io.Serializable</literal>을 구현해야 한다."
 
-#: index.docbook:170
-msgid "It must re-implement <literal>equals()</literal> and <literal>hashCode()</literal>, consistently with the database's notion of composite key equality."
-msgstr "그것은 composite 키 등가(equality)에 대한 데이터베이스 개념과 일치되게, <literal>equals()</literal>와 <literal>hashCode()</literal>를 다시 구현해야 한다."
+#. Tag: para
+#: component_mapping.xml:170
+#, no-c-format
+msgid ""
+"It must re-implement <literal>equals()</literal> and <literal>hashCode()</"
+"literal>, consistently with the database's notion of composite key equality."
+msgstr ""
+"그것은 composite 키 등가(equality)에 대한 데이터베이스 개념과 일치되게, "
+"<literal>equals()</literal>와 <literal>hashCode()</literal>를 다시 구현해야 "
+"한다."
 
-#: index.docbook:179
-msgid "Note: in Hibernate3, the second requirement is not an absolutely hard requirement of Hibernate. But do it anyway."
-msgstr "노트: Hibernate3에서, 두 번째 사양은 Hibernate의 절대적으로 엄격한 사양이 아니다. 그러나 아무튼 그것을 행하라."
+#. Tag: emphasis
+#: component_mapping.xml:179
+#, no-c-format
+msgid ""
+"Note: in Hibernate3, the second requirement is not an absolutely hard "
+"requirement of Hibernate. But do it anyway."
+msgstr ""
+"노트: Hibernate3에서, 두 번째 사양은 Hibernate의 절대적으로 엄격한 사양이 아"
+"니다. 그러나 아무튼 그것을 행하라."
 
-#: index.docbook:183
-msgid "You can't use an <literal>IdentifierGenerator</literal> to generate composite keys. Instead the application must assign its own identifiers."
-msgstr "당신은 compsite 키들을 생성시키는데 <literal>IdentifierGenerator</literal>를 사용할 수 없다. 대신에 어플리케이션은 그것 자신의 식별자들을 할당해야 한다."
+#. Tag: para
+#: component_mapping.xml:183
+#, no-c-format
+msgid ""
+"You can't use an <literal>IdentifierGenerator</literal> to generate "
+"composite keys. Instead the application must assign its own identifiers."
+msgstr ""
+"당신은 compsite 키들을 생성시키는데 <literal>IdentifierGenerator</literal>를 "
+"사용할 수 없다. 대신에 어플리케이션은 그것 자신의 식별자들을 할당해야 한다."
 
-#: index.docbook:188
-msgid "Use the <literal>&lt;composite-id&gt;</literal> tag (with nested <literal>&lt;key-property&gt;</literal> elements) in place of the usual <literal>&lt;id&gt;</literal> declaration. For example, the <literal>OrderLine</literal> class has a primary key that depends upon the (composite) primary key of <literal>Order</literal>."
-msgstr "통상의 <literal>&lt;id&gt;</literal> 선언 위치에 (내포된 <literal>&lt;key-property&gt;</literal> 요소들을 가진) <literal>&lt;composite-id&gt;</literal> 태그를 사용하라. 예를 들어, <literal>OrderLine</literal> 클래스는 <literal>Order</literal>의 (composite) 프라이머리 키에 의존하는 프라이머리 키를 갖는다."
+#. Tag: para
+#: component_mapping.xml:188
+#, no-c-format
+msgid ""
+"Use the <literal>&lt;composite-id&gt;</literal> tag (with nested "
+"<literal>&lt;key-property&gt;</literal> elements) in place of the usual "
+"<literal>&lt;id&gt;</literal> declaration. For example, the "
+"<literal>OrderLine</literal> class has a primary key that depends upon the "
+"(composite) primary key of <literal>Order</literal>."
+msgstr ""
+"통상의 <literal>&lt;id&gt;</literal> 선언 위치에 (내포된 <literal>&lt;key-"
+"property&gt;</literal> 요소들을 가진) <literal>&lt;composite-id&gt;</"
+"literal> 태그를 사용하라. 예를 들어, <literal>OrderLine</literal> 클래스는 "
+"<literal>Order</literal>의 (composite) 프라이머리 키에 의존하는 프라이머리 키"
+"를 갖는다."
 
-#: index.docbook:196
+#. Tag: programlisting
+#: component_mapping.xml:196
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"OrderLine\">\n"
-      "    \n"
-      "    <composite-id name=\"id\" class=\"OrderLineId\">\n"
-      "        <key-property name=\"lineId\"/>\n"
-      "        <key-property name=\"orderId\"/>\n"
-      "        <key-property name=\"customerId\"/>\n"
-      "    </composite-id>\n"
-      "    \n"
-      "    <property name=\"name\"/>\n"
-      "    \n"
-      "    <many-to-one name=\"order\" class=\"Order\"\n"
-      "            insert=\"false\" update=\"false\">\n"
-      "        <column name=\"orderId\"/>\n"
-      "        <column name=\"customerId\"/>\n"
-      "    </many-to-one>\n"
-      "    ....\n"
-      "    \n"
-      "</class>]]>"
+"<![CDATA[<class name=\"OrderLine\">\n"
+"    \n"
+"    <composite-id name=\"id\" class=\"OrderLineId\">\n"
+"        <key-property name=\"lineId\"/>\n"
+"        <key-property name=\"orderId\"/>\n"
+"        <key-property name=\"customerId\"/>\n"
+"    </composite-id>\n"
+"    \n"
+"    <property name=\"name\"/>\n"
+"    \n"
+"    <many-to-one name=\"order\" class=\"Order\"\n"
+"            insert=\"false\" update=\"false\">\n"
+"        <column name=\"orderId\"/>\n"
+"        <column name=\"customerId\"/>\n"
+"    </many-to-one>\n"
+"    ....\n"
+"    \n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"OrderLine\">\n"
-      "    \n"
-      "    <composite-id name=\"id\" class=\"OrderLineId\">\n"
-      "        <key-property name=\"lineId\"/>\n"
-      "        <key-property name=\"orderId\"/>\n"
-      "        <key-property name=\"customerId\"/>\n"
-      "    </composite-id>\n"
-      "    \n"
-      "    <property name=\"name\"/>\n"
-      "    \n"
-      "    <many-to-one name=\"order\" class=\"Order\"\n"
-      "            insert=\"false\" update=\"false\">\n"
-      "        <column name=\"orderId\"/>\n"
-      "        <column name=\"customerId\"/>\n"
-      "    </many-to-one>\n"
-      "    ....\n"
-      "    \n"
-      "</class>]]>"
 
-#: index.docbook:198
-msgid "Now, any foreign keys referencing the <literal>OrderLine</literal> table are also composite. You must declare this in your mappings for other classes. An association to <literal>OrderLine</literal> would be mapped like this:"
-msgstr "이제 <literal>OrderLine</literal> 테이블을 참조하는 임의의 foreign 키들이 또한 compsite이다. 당신은 다른 클래스들에 대한 당신의 매핑들 속에 이것을 선언해야 한다. <literal>OrderLine</literal>에 대한 하나의 연관은 다음과 같이 매핑될 것이다:"
+#. Tag: para
+#: component_mapping.xml:198
+#, no-c-format
+msgid ""
+"Now, any foreign keys referencing the <literal>OrderLine</literal> table are "
+"also composite. You must declare this in your mappings for other classes. An "
+"association to <literal>OrderLine</literal> would be mapped like this:"
+msgstr ""
+"이제 <literal>OrderLine</literal> 테이블을 참조하는 임의의 foreign 키들이 또"
+"한 compsite이다. 당신은 다른 클래스들에 대한 당신의 매핑들 속에 이것을 선언해"
+"야 한다. <literal>OrderLine</literal>에 대한 하나의 연관은 다음과 같이 매핑"
+"될 것이다:"
 
-#: index.docbook:204
+#. Tag: programlisting
+#: component_mapping.xml:204
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one name=\"orderLine\" class=\"OrderLine\">\n"
-      "<!-- the \"class\" attribute is optional, as usual -->\n"
-      "    <column name=\"lineId\"/>\n"
-      "    <column name=\"orderId\"/>\n"
-      "    <column name=\"customerId\"/>\n"
-      "</many-to-one>]]>"
+"<![CDATA[<many-to-one name=\"orderLine\" class=\"OrderLine\">\n"
+"<!-- the \"class\" attribute is optional, as usual -->\n"
+"    <column name=\"lineId\"/>\n"
+"    <column name=\"orderId\"/>\n"
+"    <column name=\"customerId\"/>\n"
+"</many-to-one>]]>"
 msgstr ""
-      "<![CDATA[<many-to-one name=\"orderLine\" class=\"OrderLine\">\n"
-      "<!-- the \"class\" attribute is optional, as usual -->\n"
-      "    <column name=\"lineId\"/>\n"
-      "    <column name=\"orderId\"/>\n"
-      "    <column name=\"customerId\"/>\n"
-      "</many-to-one>]]>"
 
-#: index.docbook:206
-msgid "(Note that the <literal>&lt;column&gt;</literal> tag is an alternative to the <literal>column</literal> attribute everywhere.)"
-msgstr "(<literal>&lt;column&gt;</literal> 태그가 모든 곳에서 <literal>column</literal> 속성에 대한 대안임을 노트하라.)"
+#. Tag: para
+#: component_mapping.xml:206
+#, no-c-format
+msgid ""
+"(Note that the <literal>&lt;column&gt;</literal> tag is an alternative to "
+"the <literal>column</literal> attribute everywhere.)"
+msgstr ""
+"(<literal>&lt;column&gt;</literal> 태그가 모든 곳에서 <literal>column</"
+"literal> 속성에 대한 대안임을 노트하라.)"
 
-#: index.docbook:211
-msgid "A <literal>many-to-many</literal> association to <literal>OrderLine</literal> also uses the composite foreign key:"
-msgstr "<literal>OrderLine</literal>에 대한 <literal>many-to-many</literal> 연관은 또한 composite foreign 키를 사용한다:"
+#. Tag: para
+#: component_mapping.xml:211
+#, no-c-format
+msgid ""
+"A <literal>many-to-many</literal> association to <literal>OrderLine</"
+"literal> also uses the composite foreign key:"
+msgstr ""
+"<literal>OrderLine</literal>에 대한 <literal>many-to-many</literal> 연관은 또"
+"한 composite foreign 키를 사용한다:"
 
-#: index.docbook:216
+#. Tag: programlisting
+#: component_mapping.xml:216
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"undeliveredOrderLines\">\n"
-      "    <key column name=\"warehouseId\"/>\n"
-      "    <many-to-many class=\"OrderLine\">\n"
-      "        <column name=\"lineId\"/>\n"
-      "        <column name=\"orderId\"/>\n"
-      "        <column name=\"customerId\"/>\n"
-      "    </many-to-many>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"undeliveredOrderLines\">\n"
+"    <key column name=\"warehouseId\"/>\n"
+"    <many-to-many class=\"OrderLine\">\n"
+"        <column name=\"lineId\"/>\n"
+"        <column name=\"orderId\"/>\n"
+"        <column name=\"customerId\"/>\n"
+"    </many-to-many>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"undeliveredOrderLines\">\n"
-      "    <key column name=\"warehouseId\"/>\n"
-      "    <many-to-many class=\"OrderLine\">\n"
-      "        <column name=\"lineId\"/>\n"
-      "        <column name=\"orderId\"/>\n"
-      "        <column name=\"customerId\"/>\n"
-      "    </many-to-many>\n"
-      "</set>]]>"
 
-#: index.docbook:218
-msgid "The collection of <literal>OrderLine</literal>s in <literal>Order</literal> would use:"
-msgstr "<literal>Order</literal>에서 <literal>OrderLine</literal>들의 콜렉션이 사용될 것이다:"
+#. Tag: para
+#: component_mapping.xml:218
+#, no-c-format
+msgid ""
+"The collection of <literal>OrderLine</literal>s in <literal>Order</literal> "
+"would use:"
+msgstr ""
+"<literal>Order</literal>에서 <literal>OrderLine</literal>들의 콜렉션이 사용"
+"될 것이다:"
 
-#: index.docbook:223
+#. Tag: programlisting
+#: component_mapping.xml:223
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"orderLines\" inverse=\"true\">\n"
-      "    <key>\n"
-      "        <column name=\"orderId\"/>\n"
-      "        <column name=\"customerId\"/>\n"
-      "    </key>\n"
-      "    <one-to-many class=\"OrderLine\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"orderLines\" inverse=\"true\">\n"
+"    <key>\n"
+"        <column name=\"orderId\"/>\n"
+"        <column name=\"customerId\"/>\n"
+"    </key>\n"
+"    <one-to-many class=\"OrderLine\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"orderLines\" inverse=\"true\">\n"
-      "    <key>\n"
-      "        <column name=\"orderId\"/>\n"
-      "        <column name=\"customerId\"/>\n"
-      "    </key>\n"
-      "    <one-to-many class=\"OrderLine\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:225
-msgid "(The <literal>&lt;one-to-many&gt;</literal> element, as usual, declares no columns.)"
-msgstr "(통상적으로 <literal>&lt;one-to-many&gt;</literal> 요소는 컬럼들을 선언하지 않는다.)"
+#. Tag: para
+#: component_mapping.xml:225
+#, no-c-format
+msgid ""
+"(The <literal>&lt;one-to-many&gt;</literal> element, as usual, declares no "
+"columns.)"
+msgstr ""
+"(통상적으로 <literal>&lt;one-to-many&gt;</literal> 요소는 컬럼들을 선언하지 "
+"않는다.)"
 
-#: index.docbook:229
-msgid "If <literal>OrderLine</literal> itself owns a collection, it also has a composite foreign key."
-msgstr "만일 <literal>OrderLine</literal> 자체가 하나의 콜렉션을 소유할 경우, 그것은 또한 하나의 composite foreign 키를 갖는다."
+#. Tag: para
+#: component_mapping.xml:229
+#, no-c-format
+msgid ""
+"If <literal>OrderLine</literal> itself owns a collection, it also has a "
+"composite foreign key."
+msgstr ""
+"만일 <literal>OrderLine</literal> 자체가 하나의 콜렉션을 소유할 경우, 그것은 "
+"또한 하나의 composite foreign 키를 갖는다."
 
-#: index.docbook:234
+#. Tag: programlisting
+#: component_mapping.xml:234
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"OrderLine\">\n"
-      "    ....\n"
-      "    ....\n"
-      "    <list name=\"deliveryAttempts\">\n"
-      "        <key>   <!-- a collection inherits the composite key type -->\n"
-      "            <column name=\"lineId\"/>\n"
-      "            <column name=\"orderId\"/>\n"
-      "            <column name=\"customerId\"/>\n"
-      "        </key>\n"
-      "        <list-index column=\"attemptId\" base=\"1\"/>\n"
-      "        <composite-element class=\"DeliveryAttempt\">\n"
-      "            ...\n"
-      "        </composite-element>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"OrderLine\">\n"
+"    ....\n"
+"    ....\n"
+"    <list name=\"deliveryAttempts\">\n"
+"        <key>   <!-- a collection inherits the composite key type -->\n"
+"            <column name=\"lineId\"/>\n"
+"            <column name=\"orderId\"/>\n"
+"            <column name=\"customerId\"/>\n"
+"        </key>\n"
+"        <list-index column=\"attemptId\" base=\"1\"/>\n"
+"        <composite-element class=\"DeliveryAttempt\">\n"
+"            ...\n"
+"        </composite-element>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"OrderLine\">\n"
-      "    ....\n"
-      "    ....\n"
-      "    <list name=\"deliveryAttempts\">\n"
-      "        <key>   <!-- a collection inherits the composite key type -->\n"
-      "            <column name=\"lineId\"/>\n"
-      "            <column name=\"orderId\"/>\n"
-      "            <column name=\"customerId\"/>\n"
-      "        </key>\n"
-      "        <list-index column=\"attemptId\" base=\"1\"/>\n"
-      "        <composite-element class=\"DeliveryAttempt\">\n"
-      "            ...\n"
-      "        </composite-element>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:239
+#. Tag: title
+#: component_mapping.xml:239
+#, no-c-format
 msgid "Dynamic components"
 msgstr "동적인 컴포넌트들"
 
-#: index.docbook:241
+#. Tag: para
+#: component_mapping.xml:241
+#, no-c-format
 msgid "You may even map a property of type <literal>Map</literal>:"
 msgstr "당신은 <literal>Map</literal> 타입의 프로퍼티를 매핑시킬 수도 있다:"
 
-#: index.docbook:245
+#. Tag: programlisting
+#: component_mapping.xml:245
+#, no-c-format
 msgid ""
-      "<![CDATA[<dynamic-component name=\"userAttributes\">\n"
-      "    <property name=\"foo\" column=\"FOO\" type=\"string\"/>\n"
-      "    <property name=\"bar\" column=\"BAR\" type=\"integer\"/>\n"
-      "    <many-to-one name=\"baz\" class=\"Baz\" column=\"BAZ_ID\"/>\n"
-      "</dynamic-component>]]>"
+"<![CDATA[<dynamic-component name=\"userAttributes\">\n"
+"    <property name=\"foo\" column=\"FOO\" type=\"string\"/>\n"
+"    <property name=\"bar\" column=\"BAR\" type=\"integer\"/>\n"
+"    <many-to-one name=\"baz\" class=\"Baz\" column=\"BAZ_ID\"/>\n"
+"</dynamic-component>]]>"
 msgstr ""
-      "<![CDATA[<dynamic-component name=\"userAttributes\">\n"
-      "    <property name=\"foo\" column=\"FOO\" type=\"string\"/>\n"
-      "    <property name=\"bar\" column=\"BAR\" type=\"integer\"/>\n"
-      "    <many-to-one name=\"baz\" class=\"Baz\" column=\"BAZ_ID\"/>\n"
-      "</dynamic-component>]]>"
 
-#: index.docbook:247
-msgid "The semantics of a <literal>&lt;dynamic-component&gt;</literal> mapping are identical to <literal>&lt;component&gt;</literal>. The advantage of this kind of mapping is the ability to determine the actual properties of the bean at deployment time, just by editing the mapping document. Runtime manipulation of the mapping document is also possible, using a DOM parser. Even better, you can access (and change) Hibernate's configuration-time metamodel via the <literal>Configuration</literal> object."
-msgstr "<literal>&lt;dynamic-component&gt;</literal> 매핑의 의미는 <literal>&lt;component&gt;</literal>와 동일하다. 이런 종류의 매핑의 장점은 배치 시에 단지 매핑 문서를 편집함으로써 그 bean의 실제 프로퍼티들을 결정하는 가용성이다. 매핑 문서에 대한 런타임 처리는 또한 DOM 파서를 사용하여 가능하다. 더 좋게는 당신이 <literal>Configuration</literal> 객체를 통해 Hibernate의 구성-시 메타모형에 접근할 수 있다(그리고 변경시킬 수 있다)"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: component_mapping.xml:247
+#, no-c-format
+msgid ""
+"The semantics of a <literal>&lt;dynamic-component&gt;</literal> mapping are "
+"identical to <literal>&lt;component&gt;</literal>. The advantage of this "
+"kind of mapping is the ability to determine the actual properties of the "
+"bean at deployment time, just by editing the mapping document. Runtime "
+"manipulation of the mapping document is also possible, using a DOM parser. "
+"Even better, you can access (and change) Hibernate's configuration-time "
+"metamodel via the <literal>Configuration</literal> object."
+msgstr ""
+"<literal>&lt;dynamic-component&gt;</literal> 매핑의 의미는 <literal>&lt;"
+"component&gt;</literal>와 동일하다. 이런 종류의 매핑의 장점은 배치 시에 단지 "
+"매핑 문서를 편집함으로써 그 bean의 실제 프로퍼티들을 결정하는 가용성이다. 매"
+"핑 문서에 대한 런타임 처리는 또한 DOM 파서를 사용하여 가능하다. 더 좋게는 당"
+"신이 <literal>Configuration</literal> 객체를 통해 Hibernate의 구성-시 메타모"
+"형에 접근할 수 있다(그리고 변경시킬 수 있다)"

Modified: core/trunk/documentation/manual/translations/ko-KR/content/configuration.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/configuration.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/configuration.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,1598 +1,3255 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: configuration.xml:5
+#, no-c-format
 msgid "Configuration"
-msgstr "<title>구성</title>"
+msgstr "구성"
 
-#: index.docbook:7
-msgid "Because Hibernate is designed to operate in many different environments, there are a large number of configuration parameters. Fortunately, most have sensible default values and Hibernate is distributed with an example <literal>hibernate.properties</literal> file in <literal>etc/</literal> that shows the various options. Just put the example file in your classpath and customize it."
-msgstr "Hibernate가 많은 다른 환경들에서 동작하도록 설계되어 있으므로, 많은 개수의 구성 파라미터들이 존재한다. 다행히 대부분은 유의미한 디폴트 값들이고 Hibernate는 다양한 옵션들을 보여주는 <literal>etc/</literal> 내의 예제 파일 <literal>hibernate.properties</literal>로 배포된다. 당신은 단지 당신의 classpath 경로 속에 그 파일을 집어넣고 그것을 커스트마이징하기만 해야 한다."
+#. Tag: para
+#: configuration.xml:7
+#, no-c-format
+msgid ""
+"Because Hibernate is designed to operate in many different environments, "
+"there are a large number of configuration parameters. Fortunately, most have "
+"sensible default values and Hibernate is distributed with an example "
+"<literal>hibernate.properties</literal> file in <literal>etc/</literal> that "
+"shows the various options. Just put the example file in your classpath and "
+"customize it."
+msgstr ""
+"Hibernate가 많은 다른 환경들에서 동작하도록 설계되어 있으므로, 많은 개수의 구"
+"성 파라미터들이 존재한다. 다행히 대부분은 유의미한 디폴트 값들이고 Hibernate"
+"는 다양한 옵션들을 보여주는 <literal>etc/</literal> 내의 예제 파일 "
+"<literal>hibernate.properties</literal>로 배포된다. 당신은 단지 당신의 "
+"classpath 경로 속에 그 파일을 집어넣고 그것을 커스트마이징하기만 해야 한다."
 
-#: index.docbook:16
+#. Tag: title
+#: configuration.xml:16
+#, no-c-format
 msgid "Programmatic configuration"
 msgstr "프로그램 상의 구성"
 
-#: index.docbook:18
-msgid "An instance of <literal>org.hibernate.cfg.Configuration</literal> represents an entire set of mappings of an application's Java types to an SQL database. The <literal>Configuration</literal> is used to build an (immutable) <literal>SessionFactory</literal>. The mappings are compiled from various XML mapping files."
-msgstr "<literal>org.hibernate.cfg.Configuration</literal>의 인스턴스는 어플리케이션의 Java 타입들을 SQL 데이터베이스 타입으로의 전체 매핑 집합을 표현한다. <literal>Configuration</literal>은 (불변의) <literal>SessionFactory</literal>를 빌드하는데 사용된다. 매핑들은 여러 XML 매핑 파일들로부터 컴파일 된다."
+#. Tag: para
+#: configuration.xml:18
+#, no-c-format
+msgid ""
+"An instance of <literal>org.hibernate.cfg.Configuration</literal> represents "
+"an entire set of mappings of an application's Java types to an SQL database. "
+"The <literal>Configuration</literal> is used to build an (immutable) "
+"<literal>SessionFactory</literal>. The mappings are compiled from various "
+"XML mapping files."
+msgstr ""
+"<literal>org.hibernate.cfg.Configuration</literal>의 인스턴스는 어플리케이션"
+"의 Java 타입들을 SQL 데이터베이스 타입으로의 전체 매핑 집합을 표현한다. "
+"<literal>Configuration</literal>은 (불변의) <literal>SessionFactory</literal>"
+"를 빌드하는데 사용된다. 매핑들은 여러 XML 매핑 파일들로부터 컴파일 된다."
 
-#: index.docbook:26
-msgid "You may obtain a <literal>Configuration</literal> instance by instantiating it directly and specifying XML mapping documents. If the mapping files are in the classpath, use <literal>addResource()</literal>:"
-msgstr "당신은 <literal>Configuration</literal> 인스턴스를 초기화 시키고 XML 매핑 문서들을 지정함으로써 <literal>Configuration</literal> 인스턴스를 얻을 수 있다. 만일 매핑 파일들이 classpath 내에 있다면, <literal>addResource()</literal>를 사용하라:"
+#. Tag: para
+#: configuration.xml:26
+#, no-c-format
+msgid ""
+"You may obtain a <literal>Configuration</literal> instance by instantiating "
+"it directly and specifying XML mapping documents. If the mapping files are "
+"in the classpath, use <literal>addResource()</literal>:"
+msgstr ""
+"당신은 <literal>Configuration</literal> 인스턴스를 초기화 시키고 XML 매핑 문"
+"서들을 지정함으로써 <literal>Configuration</literal> 인스턴스를 얻을 수 있"
+"다. 만일 매핑 파일들이 classpath 내에 있다면, <literal>addResource()</"
+"literal>를 사용하라:"
 
-#: index.docbook:32
+#. Tag: programlisting
+#: configuration.xml:32
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = new Configuration()\n"
-      "    .addResource(\"Item.hbm.xml\")\n"
-      "    .addResource(\"Bid.hbm.xml\");]]>"
+"<![CDATA[Configuration cfg = new Configuration()\n"
+"    .addResource(\"Item.hbm.xml\")\n"
+"    .addResource(\"Bid.hbm.xml\");]]>"
 msgstr ""
-      "<![CDATA[Configuration cfg = new Configuration()\n"
-      "    .addResource(\"Item.hbm.xml\")\n"
-      "    .addResource(\"Bid.hbm.xml\");]]>"
 
-#: index.docbook:34
-msgid "An alternative (sometimes better) way is to specify the mapped class, and let Hibernate find the mapping document for you:"
-msgstr "(때때로 더 나은) 다른 방법은 매핑된 클래스를 지정하는 것이고, Hibernate로 하여금 당신을 위해 매핑 문서를 찾도록 하라:"
+#. Tag: para
+#: configuration.xml:34
+#, no-c-format
+msgid ""
+"An alternative (sometimes better) way is to specify the mapped class, and "
+"let Hibernate find the mapping document for you:"
+msgstr ""
+"(때때로 더 나은) 다른 방법은 매핑된 클래스를 지정하는 것이고, Hibernate로 하"
+"여금 당신을 위해 매핑 문서를 찾도록 하라:"
 
-#: index.docbook:39
+#. Tag: programlisting
+#: configuration.xml:39
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = new Configuration()\n"
-      "    .addClass(org.hibernate.auction.Item.class)\n"
-      "    .addClass(org.hibernate.auction.Bid.class);]]>"
+"<![CDATA[Configuration cfg = new Configuration()\n"
+"    .addClass(org.hibernate.auction.Item.class)\n"
+"    .addClass(org.hibernate.auction.Bid.class);]]>"
 msgstr ""
-      "<![CDATA[Configuration cfg = new Configuration()\n"
-      "    .addClass(org.hibernate.auction.Item.class)\n"
-      "    .addClass(org.hibernate.auction.Bid.class);]]>"
 
-#: index.docbook:41
-msgid "Then Hibernate will look for mapping files named <literal>/org/hibernate/auction/Item.hbm.xml</literal> and <literal>/org/hibernate/auction/Bid.hbm.xml</literal> in the classpath. This approach eliminates any hardcoded filenames."
-msgstr "그때 Hibernate는 classpath 내에서 <literal>/org/hibernate/auction/Item.hbm.xml</literal>과 <literal>/org/hibernate/auction/Bid.hbm.xml</literal>로 명명된 매핑 파일들을 룩업할 것이다. 이 접근법은 임의의 하드코딩된 파일 이름들을 제거한다."
+#. Tag: para
+#: configuration.xml:41
+#, no-c-format
+msgid ""
+"Then Hibernate will look for mapping files named <literal>/org/hibernate/"
+"auction/Item.hbm.xml</literal> and <literal>/org/hibernate/auction/Bid.hbm."
+"xml</literal> in the classpath. This approach eliminates any hardcoded "
+"filenames."
+msgstr ""
+"그때 Hibernate는 classpath 내에서 <literal>/org/hibernate/auction/Item.hbm."
+"xml</literal>과 <literal>/org/hibernate/auction/Bid.hbm.xml</literal>로 명명"
+"된 매핑 파일들을 룩업할 것이다. 이 접근법은 임의의 하드코딩된 파일 이름들을 "
+"제거한다."
 
-#: index.docbook:48
-msgid "A <literal>Configuration</literal> also allows you to specify configuration properties:"
-msgstr "<literal>Configuration</literal>은 또한 구성 프로퍼티들을 지정하는 것을 허용해준다:"
+#. Tag: para
+#: configuration.xml:48
+#, no-c-format
+msgid ""
+"A <literal>Configuration</literal> also allows you to specify configuration "
+"properties:"
+msgstr ""
+"<literal>Configuration</literal>은 또한 구성 프로퍼티들을 지정하는 것을 허용"
+"해준다:"
 
-#: index.docbook:53
+#. Tag: programlisting
+#: configuration.xml:53
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = new Configuration()\n"
-      "    .addClass(org.hibernate.auction.Item.class)\n"
-      "    .addClass(org.hibernate.auction.Bid.class)\n"
-      "    .setProperty(\"hibernate.dialect\", \"org.hibernate.dialect.MySQLInnoDBDialect\")\n"
-      "    .setProperty(\"hibernate.connection.datasource\", \"java:comp/env/jdbc/test\")\n"
-      "    .setProperty(\"hibernate.order_updates\", \"true\");]]>"
+"<![CDATA[Configuration cfg = new Configuration()\n"
+"    .addClass(org.hibernate.auction.Item.class)\n"
+"    .addClass(org.hibernate.auction.Bid.class)\n"
+"    .setProperty(\"hibernate.dialect\", \"org.hibernate.dialect."
+"MySQLInnoDBDialect\")\n"
+"    .setProperty(\"hibernate.connection.datasource\", \"java:comp/env/jdbc/"
+"test\")\n"
+"    .setProperty(\"hibernate.order_updates\", \"true\");]]>"
 msgstr ""
-      "<![CDATA[Configuration cfg = new Configuration()\n"
-      "    .addClass(org.hibernate.auction.Item.class)\n"
-      "    .addClass(org.hibernate.auction.Bid.class)\n"
-      "    .setProperty(\"hibernate.dialect\", \"org.hibernate.dialect.MySQLInnoDBDialect\")\n"
-      "    .setProperty(\"hibernate.connection.datasource\", \"java:comp/env/jdbc/test\")\n"
-      "    .setProperty(\"hibernate.order_updates\", \"true\");]]>"
 
-#: index.docbook:55
-msgid "This is not the only way to pass configuration properties to Hibernate. The various options include:"
-msgstr "이것은 컨피그레이션 프로퍼티들을 Hibernate에 전달하는 유일한 방법이 아니다. 여러 가지 옵션들은 다음을 포함한다:"
+#. Tag: para
+#: configuration.xml:55
+#, no-c-format
+msgid ""
+"This is not the only way to pass configuration properties to Hibernate. The "
+"various options include:"
+msgstr ""
+"이것은 컨피그레이션 프로퍼티들을 Hibernate에 전달하는 유일한 방법이 아니다. "
+"여러 가지 옵션들은 다음을 포함한다:"
 
-#: index.docbook:62
-msgid "Pass an instance of <literal>java.util.Properties</literal> to <literal>Configuration.setProperties()</literal>."
-msgstr "<literal>java.util.Properties</literal>의 인스턴스를 <literal>Configuration.setProperties()</literal>에 전달한다 ."
+#. Tag: para
+#: configuration.xml:62
+#, no-c-format
+msgid ""
+"Pass an instance of <literal>java.util.Properties</literal> to "
+"<literal>Configuration.setProperties()</literal>."
+msgstr ""
+"<literal>java.util.Properties</literal>의 인스턴스를 <literal>Configuration."
+"setProperties()</literal>에 전달한다 ."
 
-#: index.docbook:68
-msgid "Place <literal>hibernate.properties</literal> in a root directory of the classpath."
-msgstr "classpath의 루트 디렉토리에 <literal>hibernate.properties</literal>를 위치지운다."
+#. Tag: para
+#: configuration.xml:68
+#, no-c-format
+msgid ""
+"Place <literal>hibernate.properties</literal> in a root directory of the "
+"classpath."
+msgstr ""
+"classpath의 루트 디렉토리에 <literal>hibernate.properties</literal>를 위치지"
+"운다."
 
-#: index.docbook:74
-msgid "Set <literal>System</literal> properties using <literal>java -Dproperty=value</literal>."
-msgstr "<literal>java -Dproperty=value</literal>를 사용하여 <literal>System</literal> 프로퍼티들을 설정한다."
+#. Tag: para
+#: configuration.xml:74
+#, no-c-format
+msgid ""
+"Set <literal>System</literal> properties using <literal>java -"
+"Dproperty=value</literal>."
+msgstr ""
+"<literal>java -Dproperty=value</literal>를 사용하여 <literal>System</"
+"literal> 프로퍼티들을 설정한다."
 
-#: index.docbook:80
-msgid "Include <literal>&lt;property&gt;</literal> elements in <literal>hibernate.cfg.xml</literal> (discussed later)."
-msgstr "<literal>hibernate.cfg.xml</literal>에 <literal>&lt;property&gt;</literal> 요소들을 포함한다 (나중에 논의됨)."
+#. Tag: para
+#: configuration.xml:80
+#, no-c-format
+msgid ""
+"Include <literal>&lt;property&gt;</literal> elements in <literal>hibernate."
+"cfg.xml</literal> (discussed later)."
+msgstr ""
+"<literal>hibernate.cfg.xml</literal>에 <literal>&lt;property&gt;</literal> 요"
+"소들을 포함한다 (나중에 논의됨)."
 
-#: index.docbook:87
-msgid "<literal>hibernate.properties</literal> is the easiest approach if you want to get started quickly."
-msgstr "당신이 빠르게 시작하고 원할 경우 <literal>hibernate.properties</literal>는 가장 쉬운 접근법이다."
+#. Tag: para
+#: configuration.xml:87
+#, no-c-format
+msgid ""
+"<literal>hibernate.properties</literal> is the easiest approach if you want "
+"to get started quickly."
+msgstr ""
+"당신이 빠르게 시작하고 원할 경우 <literal>hibernate.properties</literal>는 가"
+"장 쉬운 접근법이다."
 
-#: index.docbook:92
-msgid "The <literal>Configuration</literal> is intended as a startup-time object, to be discarded once a <literal>SessionFactory</literal> is created."
-msgstr "<literal>Configuration</literal>은 시작 시(startup-time) 객체로서 일단 <literal>SessionFactory</literal>가 생성되면 폐기되게끔 예정되어 있다."
+#. Tag: para
+#: configuration.xml:92
+#, no-c-format
+msgid ""
+"The <literal>Configuration</literal> is intended as a startup-time object, "
+"to be discarded once a <literal>SessionFactory</literal> is created."
+msgstr ""
+"<literal>Configuration</literal>은 시작 시(startup-time) 객체로서 일단 "
+"<literal>SessionFactory</literal>가 생성되면 폐기되게끔 예정되어 있다."
 
-#: index.docbook:100
+#. Tag: title
+#: configuration.xml:100
+#, no-c-format
 msgid "Obtaining a SessionFactory"
 msgstr "SessionFactory 얻기"
 
-#: index.docbook:102
-msgid "When all mappings have been parsed by the <literal>Configuration</literal>, the application must obtain a factory for <literal>Session</literal> instances. This factory is intended to be shared by all application threads:"
-msgstr "모든 매핑들이 <literal>Configuration</literal>에 의해 파싱되었을 때, 어플리케이션은 <literal>Session</literal> 인스턴스들에 대한 팩토리를 얻어야 한다. 이 팩토리는 모든 어플리케이션 쓰레드들에 의해 공유되도록 고안되었다:"
+#. Tag: para
+#: configuration.xml:102
+#, no-c-format
+msgid ""
+"When all mappings have been parsed by the <literal>Configuration</literal>, "
+"the application must obtain a factory for <literal>Session</literal> "
+"instances. This factory is intended to be shared by all application threads:"
+msgstr ""
+"모든 매핑들이 <literal>Configuration</literal>에 의해 파싱되었을 때, 어플리케"
+"이션은 <literal>Session</literal> 인스턴스들에 대한 팩토리를 얻어야 한다. 이 "
+"팩토리는 모든 어플리케이션 쓰레드들에 의해 공유되도록 고안되었다:"
 
-#: index.docbook:108
+#. Tag: programlisting
+#: configuration.xml:108
+#, no-c-format
 msgid "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
-msgstr "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
+msgstr ""
 
-#: index.docbook:110
-msgid "Hibernate does allow your application to instantiate more than one <literal>SessionFactory</literal>. This is useful if you are using more than one database."
-msgstr "하지만 Hibernate는 당신의 어플리케이션이 하나 이상의 <literal>SessionFactory</literal>를 초기화 시키는 것을 허용한다. 이것은 당신이 하나 이상의 데이터베이스를 사용하는 경우에 유용하다."
+#. Tag: para
+#: configuration.xml:110
+#, no-c-format
+msgid ""
+"Hibernate does allow your application to instantiate more than one "
+"<literal>SessionFactory</literal>. This is useful if you are using more than "
+"one database."
+msgstr ""
+"하지만 Hibernate는 당신의 어플리케이션이 하나 이상의 "
+"<literal>SessionFactory</literal>를 초기화 시키는 것을 허용한다. 이것은 당신"
+"이 하나 이상의 데이터베이스를 사용하는 경우에 유용하다."
 
-#: index.docbook:119
+#. Tag: title
+#: configuration.xml:119
+#, no-c-format
 msgid "JDBC connections"
 msgstr "JDBC 커넥션들"
 
-#: index.docbook:121
-msgid "Usually, you want to have the <literal>SessionFactory</literal> create and pool JDBC connections for you. If you take this approach, opening a <literal>Session</literal> is as simple as:"
-msgstr "대개 당신은 <literal>SessionFactory</literal>로 하여금 당신을 위한 JDBC 커넥션들을 생성시키고 풀링시키는 것을 원한다. 만일 당신이 이 접근법을 취할 경우, 한 개의 <literal>Session</literal>을 여는 것은 다음과 같이 간단하다:"
+#. Tag: para
+#: configuration.xml:121
+#, no-c-format
+msgid ""
+"Usually, you want to have the <literal>SessionFactory</literal> create and "
+"pool JDBC connections for you. If you take this approach, opening a "
+"<literal>Session</literal> is as simple as:"
+msgstr ""
+"대개 당신은 <literal>SessionFactory</literal>로 하여금 당신을 위한 JDBC 커넥"
+"션들을 생성시키고 풀링시키는 것을 원한다. 만일 당신이 이 접근법을 취할 경우, "
+"한 개의 <literal>Session</literal>을 여는 것은 다음과 같이 간단하다:"
 
-#: index.docbook:127
-msgid "<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
-msgstr "<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
+#. Tag: programlisting
+#: configuration.xml:127
+#, no-c-format
+msgid ""
+"<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
+msgstr ""
 
-#: index.docbook:129
-msgid "As soon as you do something that requires access to the database, a JDBC connection will be obtained from the pool."
-msgstr "당신이 데이터베이스에 대한 접근을 요청하는 어떤 것을 행하자 마자, 한 개의 JDBC 커넥션이 그 풀로부터 얻어질 것이다."
+#. Tag: para
+#: configuration.xml:129
+#, no-c-format
+msgid ""
+"As soon as you do something that requires access to the database, a JDBC "
+"connection will be obtained from the pool."
+msgstr ""
+"당신이 데이터베이스에 대한 접근을 요청하는 어떤 것을 행하자 마자, 한 개의 "
+"JDBC 커넥션이 그 풀로부터 얻어질 것이다."
 
-#: index.docbook:134
-msgid "For this to work, we need to pass some JDBC connection properties to Hibernate. All Hibernate property names and semantics are defined on the class <literal>org.hibernate.cfg.Environment</literal>. We will now describe the most important settings for JDBC connection configuration."
-msgstr "이것이 동작하도록 하기 위해서, 우리는 몇몇 JDBC 커넥션 프로퍼티들을 Hibernate에 전달할 필요가 있다. 모든 Hibernate 프로퍼티 이름들과 의미론들은 <literal>org.hibernate.cfg.Environment</literal> 클래스 상에 정의되어 있다. 우리는 이제 JDBC 커넥션 구성을 위한 가장 중요한 설정들을 설명할 것이다."
+#. Tag: para
+#: configuration.xml:134
+#, no-c-format
+msgid ""
+"For this to work, we need to pass some JDBC connection properties to "
+"Hibernate. All Hibernate property names and semantics are defined on the "
+"class <literal>org.hibernate.cfg.Environment</literal>. We will now describe "
+"the most important settings for JDBC connection configuration."
+msgstr ""
+"이것이 동작하도록 하기 위해서, 우리는 몇몇 JDBC 커넥션 프로퍼티들을 Hibernate"
+"에 전달할 필요가 있다. 모든 Hibernate 프로퍼티 이름들과 의미론들은 "
+"<literal>org.hibernate.cfg.Environment</literal> 클래스 상에 정의되어 있다. "
+"우리는 이제 JDBC 커넥션 구성을 위한 가장 중요한 설정들을 설명할 것이다."
 
-#: index.docbook:141
-msgid "Hibernate will obtain (and pool) connections using <literal>java.sql.DriverManager</literal> if you set the following properties:"
-msgstr "만일 당신이 다음 프로퍼티들을 설정할 경우 Hibernate는 <literal>java.sql.DriverManager</literal>를 사용하여 커넥션들을 얻을 것이다(그리고 풀링시킬 것이다):"
+#. Tag: para
+#: configuration.xml:141
+#, no-c-format
+msgid ""
+"Hibernate will obtain (and pool) connections using <literal>java.sql."
+"DriverManager</literal> if you set the following properties:"
+msgstr ""
+"만일 당신이 다음 프로퍼티들을 설정할 경우 Hibernate는 <literal>java.sql."
+"DriverManager</literal>를 사용하여 커넥션들을 얻을 것이다(그리고 풀링시킬 것"
+"이다):"
 
-#: index.docbook:147
+#. Tag: title
+#: configuration.xml:147
+#, no-c-format
 msgid "Hibernate JDBC Properties"
 msgstr "Hibernate JDBC 프로퍼티들"
 
-#: index.docbook:153, index.docbook:241, index.docbook:338, index.docbook:529, index.docbook:725, index.docbook:832, index.docbook:920
+#. Tag: entry
+#: configuration.xml:153 configuration.xml:241 configuration.xml:338
+#: configuration.xml:529 configuration.xml:725 configuration.xml:832
+#: configuration.xml:920
+#, no-c-format
 msgid "Property name"
 msgstr "프로퍼티 이름"
 
-#: index.docbook:154, index.docbook:242, index.docbook:339, index.docbook:530, index.docbook:726, index.docbook:833, index.docbook:921
+#. Tag: entry
+#: configuration.xml:154 configuration.xml:242 configuration.xml:339
+#: configuration.xml:530 configuration.xml:726 configuration.xml:833
+#: configuration.xml:921
+#, no-c-format
 msgid "Purpose"
-msgstr "<entry>용도</entry>"
+msgstr "용도"
 
-#: index.docbook:160
+#. Tag: literal
+#: configuration.xml:160
+#, no-c-format
 msgid "hibernate.connection.driver_class"
 msgstr "hibernate.connection.driver_class"
 
-#: index.docbook:163
+#. Tag: emphasis
+#: configuration.xml:163
+#, no-c-format
 msgid "JDBC driver class"
 msgstr "jdbc 드라이버 클래스"
 
-#: index.docbook:168
+#. Tag: literal
+#: configuration.xml:168
+#, no-c-format
 msgid "hibernate.connection.url"
 msgstr "hibernate.connection.url"
 
-#: index.docbook:171
+#. Tag: emphasis
+#: configuration.xml:171
+#, no-c-format
 msgid "JDBC URL"
 msgstr "jdbc URL"
 
-#: index.docbook:176, index.docbook:272
+#. Tag: literal
+#: configuration.xml:176 configuration.xml:272
+#, no-c-format
 msgid "hibernate.connection.username"
 msgstr "hibernate.connection.username"
 
-#: index.docbook:179
+#. Tag: emphasis
+#: configuration.xml:179
+#, no-c-format
 msgid "database user"
 msgstr "데이터베이스 사용자"
 
-#: index.docbook:184, index.docbook:280
+#. Tag: literal
+#: configuration.xml:184 configuration.xml:280
+#, no-c-format
 msgid "hibernate.connection.password"
 msgstr "hibernate.connection.password"
 
-#: index.docbook:187
+#. Tag: emphasis
+#: configuration.xml:187
+#, no-c-format
 msgid "database user password"
 msgstr "데이터베이스 사용자 패스워드"
 
-#: index.docbook:192
+#. Tag: literal
+#: configuration.xml:192
+#, no-c-format
 msgid "hibernate.connection.pool_size"
 msgstr "hibernate.connection.pool_size"
 
-#: index.docbook:195
+#. Tag: emphasis
+#: configuration.xml:195
+#, no-c-format
 msgid "maximum number of pooled connections"
 msgstr "풀링된 커넥션들의 최대 개수"
 
-#: index.docbook:202
-msgid "Hibernate's own connection pooling algorithm is however quite rudimentary. It is intended to help you get started and is <emphasis>not intended for use in a production system</emphasis> or even for performance testing. You should use a third party pool for best performance and stability. Just replace the <literal>hibernate.connection.pool_size</literal> property with connection pool specific settings. This will turn off Hibernate's internal pool. For example, you might like to use C3P0."
-msgstr "하지만 Hibernate 자신의 커넥션 풀링 알고리즘은 아주 기본적이다. 그것은 당신이 시작하는 것을 도와주려고 의도되었고 <emphasis>제품 시스템 용도 또는 퍼포먼스 테스트용으로는 고안되지 않았다</emphasis>. 최상의 퍼포먼스와 안정성을 위해서는 제 3의 풀을 사용하라. 즉 <literal>hibernate.connection.pool_size</literal> 프로퍼티를 커넥션 풀 지정 설정들로 대체하라. 이것은 Hibernate의 내부 pool을 오프시킬 것이다. 예를 들어 당신은 C3P0를 사용할 수도 있다."
+#. Tag: para
+#: configuration.xml:202
+#, no-c-format
+msgid ""
+"Hibernate's own connection pooling algorithm is however quite rudimentary. "
+"It is intended to help you get started and is <emphasis>not intended for use "
+"in a production system</emphasis> or even for performance testing. You "
+"should use a third party pool for best performance and stability. Just "
+"replace the <literal>hibernate.connection.pool_size</literal> property with "
+"connection pool specific settings. This will turn off Hibernate's internal "
+"pool. For example, you might like to use C3P0."
+msgstr ""
+"하지만 Hibernate 자신의 커넥션 풀링 알고리즘은 아주 기본적이다. 그것은 당신"
+"이 시작하는 것을 도와주려고 의도되었고 <emphasis>제품 시스템 용도 또는 퍼포먼"
+"스 테스트용으로는 고안되지 않았다</emphasis>. 최상의 퍼포먼스와 안정성을 위해"
+"서는 제 3의 풀을 사용하라. 즉 <literal>hibernate.connection.pool_size</"
+"literal> 프로퍼티를 커넥션 풀 지정 설정들로 대체하라. 이것은 Hibernate의 내"
+"부 pool을 오프시킬 것이다. 예를 들어 당신은 C3P0를 사용할 수도 있다."
 
-#: index.docbook:212
-msgid "C3P0 is an open source JDBC connection pool distributed along with Hibernate in the <literal>lib</literal> directory. Hibernate will use its <literal>C3P0ConnectionProvider</literal> for connection pooling if you set <literal>hibernate.c3p0.*</literal> properties. If you'd like to use Proxool refer to the packaged <literal>hibernate.properties</literal> and the Hibernate web site for more information."
-msgstr "C3P0는 <literal>lib</literal> 디펙토리 속에 Hibernate에 배포된 오픈 소스 JDBC 커넥션 풀이다. 당신이 <literal>hibernate.c3p0.*</literal> 프로퍼티들을 설정할 경우 Hibernate는 커넥션 풀링을 위해 그것의 <literal>C3P0ConnectionProvider</literal>를 사용할 것이다. 만일 당신이 Proxool을 사용하고자 원할 경우 패키지화 된 <literal>hibernate.properties</literal>를 참조하고 추가 정보는 Hibernate 웹 사이트를 참조하라."
+#. Tag: para
+#: configuration.xml:212
+#, no-c-format
+msgid ""
+"C3P0 is an open source JDBC connection pool distributed along with Hibernate "
+"in the <literal>lib</literal> directory. Hibernate will use its "
+"<literal>C3P0ConnectionProvider</literal> for connection pooling if you set "
+"<literal>hibernate.c3p0.*</literal> properties. If you'd like to use Proxool "
+"refer to the packaged <literal>hibernate.properties</literal> and the "
+"Hibernate web site for more information."
+msgstr ""
+"C3P0는 <literal>lib</literal> 디펙토리 속에 Hibernate에 배포된 오픈 소스 "
+"JDBC 커넥션 풀이다. 당신이 <literal>hibernate.c3p0.*</literal> 프로퍼티들을 "
+"설정할 경우 Hibernate는 커넥션 풀링을 위해 그것의 "
+"<literal>C3P0ConnectionProvider</literal>를 사용할 것이다. 만일 당신이 "
+"Proxool을 사용하고자 원할 경우 패키지화 된 <literal>hibernate.properties</"
+"literal>를 참조하고 추가 정보는 Hibernate 웹 사이트를 참조하라."
 
-#: index.docbook:221
-msgid "Here is an example <literal>hibernate.properties</literal> file for C3P0:"
-msgstr "다음은 C3P0에 대한 사용하는 예제 <literal>hibernate.properties</literal> 파일이다:"
+#. Tag: para
+#: configuration.xml:221
+#, no-c-format
+msgid ""
+"Here is an example <literal>hibernate.properties</literal> file for C3P0:"
+msgstr ""
+"다음은 C3P0에 대한 사용하는 예제 <literal>hibernate.properties</literal> 파일"
+"이다:"
 
-#: index.docbook:225
+#. Tag: programlisting
+#: configuration.xml:225
+#, no-c-format
 msgid ""
-      "<![CDATA[hibernate.connection.driver_class = org.postgresql.Driver\n"
-      "hibernate.connection.url = jdbc:postgresql://localhost/mydatabase\n"
-      "hibernate.connection.username = myuser\n"
-      "hibernate.connection.password = secret\n"
-      "hibernate.c3p0.min_size=5\n"
-      "hibernate.c3p0.max_size=20\n"
-      "hibernate.c3p0.timeout=1800\n"
-      "hibernate.c3p0.max_statements=50\n"
-      "hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
+"<![CDATA[hibernate.connection.driver_class = org.postgresql.Driver\n"
+"hibernate.connection.url = jdbc:postgresql://localhost/mydatabase\n"
+"hibernate.connection.username = myuser\n"
+"hibernate.connection.password = secret\n"
+"hibernate.c3p0.min_size=5\n"
+"hibernate.c3p0.max_size=20\n"
+"hibernate.c3p0.timeout=1800\n"
+"hibernate.c3p0.max_statements=50\n"
+"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
 msgstr ""
-      "<![CDATA[hibernate.connection.driver_class = org.postgresql.Driver\n"
-      "hibernate.connection.url = jdbc:postgresql://localhost/mydatabase\n"
-      "hibernate.connection.username = myuser\n"
-      "hibernate.connection.password = secret\n"
-      "hibernate.c3p0.min_size=5\n"
-      "hibernate.c3p0.max_size=20\n"
-      "hibernate.c3p0.timeout=1800\n"
-      "hibernate.c3p0.max_statements=50\n"
-      "hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
 
-#: index.docbook:227
-msgid "For use inside an application server, you should almost always configure Hibernate to obtain connections from an application server <literal>Datasource</literal> registered in JNDI. You'll need to set at least one of the following properties:"
-msgstr "어플리케이션 서버 내부의 용도로, 당신은 JNDI로 등록된 어플리케이션 서버 <literal>Datasource</literal>로부터 커넥션을 얻기 위해 항상 Hibernate를 구성해야 한다. 당신은 적어도 다음 프로퍼티들 중 하나를 최소한으로 설정할 필요가 있을 것이다."
+#. Tag: para
+#: configuration.xml:227
+#, no-c-format
+msgid ""
+"For use inside an application server, you should almost always configure "
+"Hibernate to obtain connections from an application server "
+"<literal>Datasource</literal> registered in JNDI. You'll need to set at "
+"least one of the following properties:"
+msgstr ""
+"어플리케이션 서버 내부의 용도로, 당신은 JNDI로 등록된 어플리케이션 서버 "
+"<literal>Datasource</literal>로부터 커넥션을 얻기 위해 항상 Hibernate를 구성"
+"해야 한다. 당신은 적어도 다음 프로퍼티들 중 하나를 최소한으로 설정할 필요가 "
+"있을 것이다."
 
-#: index.docbook:235
+#. Tag: title
+#: configuration.xml:235
+#, no-c-format
 msgid "Hibernate Datasource Properties"
 msgstr "Hibernate Datasource Properties"
 
-#: index.docbook:248
+#. Tag: literal
+#: configuration.xml:248
+#, no-c-format
 msgid "hibernate.connection.datasource"
 msgstr "hibernate.connection.datasource"
 
-#: index.docbook:251
+#. Tag: emphasis
+#: configuration.xml:251
+#, no-c-format
 msgid "datasource JNDI name"
 msgstr "데이터소스 JNDI 이름"
 
-#: index.docbook:256
+#. Tag: literal
+#: configuration.xml:256
+#, no-c-format
 msgid "hibernate.jndi.url"
 msgstr "hibernate.jndi.url"
 
-#: index.docbook:258
+#. Tag: entry
+#: configuration.xml:258
+#, fuzzy, no-c-format
 msgid "<emphasis>URL of the JNDI provider</emphasis> (optional)"
-msgstr "<emphasis>JNDI 프로바이더의 URL</emphasis> (옵션)"
+msgstr "JNDI 프로바이더의 URL"
 
-#: index.docbook:264
+#. Tag: literal
+#: configuration.xml:264
+#, no-c-format
 msgid "hibernate.jndi.class"
 msgstr "hibernate.jndi.class"
 
-#: index.docbook:266
-msgid "<emphasis>class of the JNDI <literal>InitialContextFactory</literal></emphasis> (optional)"
-msgstr "<emphasis>JNDI <literal>InitialContextFactory</literal>의 클래스 </emphasis> (옵션)"
+#. Tag: entry
+#: configuration.xml:266
+#, no-c-format
+msgid ""
+"<emphasis>class of the JNDI <literal>InitialContextFactory</literal></"
+"emphasis> (optional)"
+msgstr ""
 
-#: index.docbook:274
+#. Tag: entry
+#: configuration.xml:274
+#, no-c-format
 msgid "<emphasis>database user</emphasis> (optional)"
-msgstr "<emphasis>데이터베이스 사용자</emphasis> (옵션)"
+msgstr ""
 
-#: index.docbook:282
+#. Tag: entry
+#: configuration.xml:282
+#, no-c-format
 msgid "<emphasis>database user password</emphasis> (optional)"
-msgstr "<emphasis>데이터베이스 사용자 패스워드</emphasis> (옵션)"
+msgstr ""
 
-#: index.docbook:290
-msgid "Here's an example <literal>hibernate.properties</literal> file for an application server provided JNDI datasource:"
-msgstr "다음은 어플리케이션 서버 제공 JNDI 데이터소스용 예제 <literal>hibernate.properties</literal> 파일이다:"
+#. Tag: para
+#: configuration.xml:290
+#, no-c-format
+msgid ""
+"Here's an example <literal>hibernate.properties</literal> file for an "
+"application server provided JNDI datasource:"
+msgstr ""
+"다음은 어플리케이션 서버 제공 JNDI 데이터소스용 예제 <literal>hibernate."
+"properties</literal> 파일이다:"
 
-#: index.docbook:295
+#. Tag: programlisting
+#: configuration.xml:295
+#, no-c-format
 msgid ""
-      "<![CDATA[hibernate.connection.datasource = java:/comp/env/jdbc/test\n"
-      "hibernate.transaction.factory_class = \\\n"
-      "    org.hibernate.transaction.JTATransactionFactory\n"
-      "hibernate.transaction.manager_lookup_class = \\\n"
-      "    org.hibernate.transaction.JBossTransactionManagerLookup\n"
-      "hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
+"<![CDATA[hibernate.connection.datasource = java:/comp/env/jdbc/test\n"
+"hibernate.transaction.factory_class = \\\n"
+"    org.hibernate.transaction.JTATransactionFactory\n"
+"hibernate.transaction.manager_lookup_class = \\\n"
+"    org.hibernate.transaction.JBossTransactionManagerLookup\n"
+"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
 msgstr ""
-      "<![CDATA[hibernate.connection.datasource = java:/comp/env/jdbc/test\n"
-      "hibernate.transaction.factory_class = \\\n"
-      "    org.hibernate.transaction.JTATransactionFactory\n"
-      "hibernate.transaction.manager_lookup_class = \\\n"
-      "    org.hibernate.transaction.JBossTransactionManagerLookup\n"
-      "hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
 
-#: index.docbook:297
-msgid "JDBC connections obtained from a JNDI datasource will automatically participate in the container-managed transactions of the application server."
-msgstr "JNDI datasource로부터 얻어진 JDBC 커넥션들은 어플리케이션 서버의 컨테이너에 의해 관리되는 트랜잭션들에 자동적으로 참여할 것이다."
+#. Tag: para
+#: configuration.xml:297
+#, no-c-format
+msgid ""
+"JDBC connections obtained from a JNDI datasource will automatically "
+"participate in the container-managed transactions of the application server."
+msgstr ""
+"JNDI datasource로부터 얻어진 JDBC 커넥션들은 어플리케이션 서버의 컨테이너에 "
+"의해 관리되는 트랜잭션들에 자동적으로 참여할 것이다."
 
-#: index.docbook:302
-msgid "Arbitrary connection properties may be given by prepending \"<literal>hibernate.connection</literal>\" to the property name. For example, you may specify a <literal>charSet</literal> using <literal>hibernate.connection.charSet</literal>."
-msgstr "임의의 커넥션 프로퍼티들은 프로퍼티 이름 앞에 \"<literal>hibernate.connnection</literal>\"을 첨가하여 부여될 수 있다. 예를 들어 당신은 <literal>hibernate.connection.charSet</literal>을 사용하여 <literal>charSet</literal>을 지정할 수도 있다."
+#. Tag: para
+#: configuration.xml:302
+#, no-c-format
+msgid ""
+"Arbitrary connection properties may be given by prepending "
+"\"<literal>hibernate.connection</literal>\" to the property name. For "
+"example, you may specify a <literal>charSet</literal> using "
+"<literal>hibernate.connection.charSet</literal>."
+msgstr ""
+"임의의 커넥션 프로퍼티들은 프로퍼티 이름 앞에 \"<literal>hibernate."
+"connnection</literal>\"을 첨가하여 부여될 수 있다. 예를 들어 당신은 "
+"<literal>hibernate.connection.charSet</literal>을 사용하여 <literal>charSet</"
+"literal>을 지정할 수도 있다."
 
-#: index.docbook:308
-msgid "You may define your own plugin strategy for obtaining JDBC connections by implementing the interface <literal>org.hibernate.connection.ConnectionProvider</literal>. You may select a custom implementation by setting <literal>hibernate.connection.provider_class</literal>."
-msgstr "당신은 <literal>org.hibernate.connection.ConnectionProvider</literal> 인터페이스를 구현함으로써 JDBC 커넥션들을 얻는 당신 자신의 플러그인 방도를 정의할수도 있다. 당신은 <literal>hibernate.connection.provider_class</literal>를 설정하여 맞춤형 구현을 선택할 수도 있다."
+#. Tag: para
+#: configuration.xml:308
+#, no-c-format
+msgid ""
+"You may define your own plugin strategy for obtaining JDBC connections by "
+"implementing the interface <literal>org.hibernate.connection."
+"ConnectionProvider</literal>. You may select a custom implementation by "
+"setting <literal>hibernate.connection.provider_class</literal>."
+msgstr ""
+"당신은 <literal>org.hibernate.connection.ConnectionProvider</literal> 인터페"
+"이스를 구현함으로써 JDBC 커넥션들을 얻는 당신 자신의 플러그인 방도를 정의할수"
+"도 있다. 당신은 <literal>hibernate.connection.provider_class</literal>를 설정"
+"하여 맞춤형 구현을 선택할 수도 있다."
 
-#: index.docbook:317
+#. Tag: title
+#: configuration.xml:317
+#, no-c-format
 msgid "Optional configuration properties"
 msgstr "선택적인 구성 프로퍼티들"
 
-#: index.docbook:319
-msgid "There are a number of other properties that control the behaviour of Hibernate at runtime. All are optional and have reasonable default values."
-msgstr "실행 시에 Hibernate의 행위를 제어하는 많은 다른 프로퍼티들이 존재한다. 모든 것이 옵션이지만 합당한 디폴트 값들을 갖는다."
+#. Tag: para
+#: configuration.xml:319
+#, no-c-format
+msgid ""
+"There are a number of other properties that control the behaviour of "
+"Hibernate at runtime. All are optional and have reasonable default values."
+msgstr ""
+"실행 시에 Hibernate의 행위를 제어하는 많은 다른 프로퍼티들이 존재한다. 모든 "
+"것이 옵션이지만 합당한 디폴트 값들을 갖는다."
 
-#: index.docbook:324
-msgid "<emphasis>Warning: some of these properties are \"system-level\" only.</emphasis> System-level properties can be set only via <literal>java -Dproperty=value</literal> or <literal>hibernate.properties</literal>. They may <emphasis>not</emphasis> be set by the other techniques described above."
-msgstr "<emphasis>경고: 이들 프로퍼티들 중 몇몇은 \"system-level\" 전용이다.</emphasis> 시스템 레벨 프로퍼티들은 오직 <literal>java -Dproperty=value</literal> 또는 <literal>hibernate.properties</literal>를 통해서만 설정될 수 있다. 그것들은 위에 설명된 다른 기법들에 의해 설정될 수 <emphasis>없다</emphasis>."
+#. Tag: para
+#: configuration.xml:324
+#, no-c-format
+msgid ""
+"<emphasis>Warning: some of these properties are \"system-level\" only.</"
+"emphasis> System-level properties can be set only via <literal>java -"
+"Dproperty=value</literal> or <literal>hibernate.properties</literal>. They "
+"may <emphasis>not</emphasis> be set by the other techniques described above."
+msgstr ""
+"<emphasis>경고: 이들 프로퍼티들 중 몇몇은 \"system-level\" 전용이다.</"
+"emphasis> 시스템 레벨 프로퍼티들은 오직 <literal>java -Dproperty=value</"
+"literal> 또는 <literal>hibernate.properties</literal>를 통해서만 설정될 수 있"
+"다. 그것들은 위에 설명된 다른 기법들에 의해 설정될 수 <emphasis>없다</"
+"emphasis>."
 
-#: index.docbook:332
+#. Tag: title
+#: configuration.xml:332
+#, no-c-format
 msgid "Hibernate Configuration Properties"
 msgstr "Hibernate 구성 프로퍼티들"
 
-#: index.docbook:345
+#. Tag: literal
+#: configuration.xml:345
+#, no-c-format
 msgid "hibernate.dialect"
 msgstr "hibernate.dialect"
 
-#: index.docbook:347
-msgid "The classname of a Hibernate <literal>Dialect</literal> which allows Hibernate to generate SQL optimized for a particular relational database."
-msgstr "특정 관계형 데이터베이스에 최적화 된 SQL을 생성시키는 것을 Hibernate에게 허용해주는 Hibernate <literal>Dialect</literal>의 클래스명."
+#. Tag: entry
+#: configuration.xml:347
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a Hibernate <literal>Dialect</literal> which allows "
+"Hibernate to generate SQL optimized for a particular relational database."
+msgstr ""
+"특정 관계형 데이터베이스에 최적화 된 SQL을 생성시키는 것을 Hibernate에게 허용"
+"해주는 Hibernate <placeholder-1/>의 클래스명. <placeholder-2/>"
 
-#: index.docbook:351
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>full.classname.of.Dialect</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>full.classname.of.Dialect</literal>"
+#. Tag: para
+#: configuration.xml:351
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>full.classname.of.Dialect</"
+"literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:359
+#. Tag: literal
+#: configuration.xml:359
+#, no-c-format
 msgid "hibernate.show_sql"
 msgstr "hibernate.show_sql"
 
-#: index.docbook:361
-msgid "Write all SQL statements to console. This is an alternative to setting the log category <literal>org.hibernate.SQL</literal> to <literal>debug</literal>."
-msgstr "모든 SQL 문장들을 콘솔에 기록한다. 이것은 로그 카테고리 <literal>org.hibernate.SQL</literal>를 <literal>debug</literal>로 설정하는 것에 대한 하나의 다른 방법이다."
+#. Tag: entry
+#: configuration.xml:361
+#, fuzzy, no-c-format
+msgid ""
+"Write all SQL statements to console. This is an alternative to setting the "
+"log category <literal>org.hibernate.SQL</literal> to <literal>debug</"
+"literal>."
+msgstr ""
+"모든 SQL 문장들을 콘솔에 기록한다. 이것은 로그 카테고리 <placeholder-1/>를 "
+"<placeholder-2/>로 설정하는 것에 대한 하나의 다른 방법이다. <placeholder-3/>"
 
-#: index.docbook:365, index.docbook:377, index.docbook:471, index.docbook:484, index.docbook:497, index.docbook:510, index.docbook:564, index.docbook:591, index.docbook:605, index.docbook:660, index.docbook:888, index.docbook:903, index.docbook:993
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>true</literal> | <literal>false</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>true</literal> | <literal>false</literal>"
+#. Tag: para
+#: configuration.xml:365 configuration.xml:377 configuration.xml:471
+#: configuration.xml:484 configuration.xml:497 configuration.xml:510
+#: configuration.xml:564 configuration.xml:591 configuration.xml:605
+#: configuration.xml:660 configuration.xml:888 configuration.xml:903
+#: configuration.xml:993
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>true</literal> | "
+"<literal>false</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:373
+#. Tag: literal
+#: configuration.xml:373
+#, no-c-format
 msgid "hibernate.format_sql"
 msgstr "hibernate.format_sql"
 
-#: index.docbook:375
+#. Tag: entry
+#: configuration.xml:375
+#, fuzzy, no-c-format
 msgid "Pretty print the SQL in the log and console."
-msgstr "로그와 콘솔 속에 SQL을 깔끔하게 프린트한다."
+msgstr "로그와 콘솔 속에 SQL을 깔끔하게 프린트한다. <placeholder-1/>"
 
-#: index.docbook:385
+#. Tag: literal
+#: configuration.xml:385
+#, no-c-format
 msgid "hibernate.default_schema"
 msgstr "hibernate.default_schema"
 
-#: index.docbook:387
-msgid "Qualify unqualified table names with the given schema/tablespace in generated SQL."
-msgstr "생성된 SQL 내에 주어진 schema/tablespace로서 수식이 없는 테이블이름들을 수식한다."
+#. Tag: entry
+#: configuration.xml:387
+#, fuzzy, no-c-format
+msgid ""
+"Qualify unqualified table names with the given schema/tablespace in "
+"generated SQL."
+msgstr ""
+"생성된 SQL 내에 주어진 schema/tablespace로서 수식이 없는 테이블이름들을 수식"
+"한다. <placeholder-1/>"
 
-#: index.docbook:390
+#. Tag: para
+#: configuration.xml:390
+#, fuzzy, no-c-format
 msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>SCHEMA_NAME</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>SCHEMA_NAME</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:398
+#. Tag: literal
+#: configuration.xml:398
+#, no-c-format
 msgid "hibernate.default_catalog"
 msgstr "hibernate.default_catalog"
 
-#: index.docbook:400
-msgid "Qualify unqualified table names with the given catalog in generated SQL."
-msgstr "주어진 SQL 내에 주어진 카타록으로서 수식이 없는 테이블이름들을 수식한다."
+#. Tag: entry
+#: configuration.xml:400
+#, fuzzy, no-c-format
+msgid ""
+"Qualify unqualified table names with the given catalog in generated SQL."
+msgstr ""
+"주어진 SQL 내에 주어진 카타록으로서 수식이 없는 테이블이름들을 수식한다. "
+"<placeholder-1/>"
 
-#: index.docbook:403
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>CATALOG_NAME</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>CATALOG_NAME</literal>"
+#. Tag: para
+#: configuration.xml:403
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>CATALOG_NAME</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:411
+#. Tag: literal
+#: configuration.xml:411
+#, no-c-format
 msgid "hibernate.session_factory_name"
 msgstr "hibernate.session_factory_name"
 
-#: index.docbook:413
-msgid "The <literal>SessionFactory</literal> will be automatically bound to this name in JNDI after it has been created."
-msgstr "<literal>SessionFactory</literal>는 그것이 생성된 후에 JNDI 내에서 이 이름에 자동적으로 바인드 될 것이다."
+#. Tag: entry
+#: configuration.xml:413
+#, fuzzy, no-c-format
+msgid ""
+"The <literal>SessionFactory</literal> will be automatically bound to this "
+"name in JNDI after it has been created."
+msgstr ""
+"<placeholder-1/>는 그것이 생성된 후에 JNDI 내에서 이 이름에 자동적으로 바인"
+"드 될 것이다. <placeholder-2/>"
 
-#: index.docbook:416, index.docbook:859
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>jndi/composite/name</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>jndi/composite/name</literal>"
+#. Tag: para
+#: configuration.xml:416 configuration.xml:859
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>jndi/composite/name</"
+"literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:424
+#. Tag: literal
+#: configuration.xml:424
+#, no-c-format
 msgid "hibernate.max_fetch_depth"
 msgstr "hibernate.max_fetch_depth"
 
-#: index.docbook:426
-msgid "Set a maximum \"depth\" for the outer join fetch tree for single-ended associations (one-to-one, many-to-one). A <literal>0</literal> disables default outer join fetching."
-msgstr "single-ended 연관관계들(one-to-one, many-to-one)의 경우에 outer join fetch 트리의 최대 \"깊이\"를 설정한다. <literal>0</literal>은 디폴트 outer join fetching을 사용불가능하게 만든다."
+#. Tag: entry
+#: configuration.xml:426
+#, fuzzy, no-c-format
+msgid ""
+"Set a maximum \"depth\" for the outer join fetch tree for single-ended "
+"associations (one-to-one, many-to-one). A <literal>0</literal> disables "
+"default outer join fetching."
+msgstr ""
+"single-ended 연관관계들(one-to-one, many-to-one)의 경우에 outer join fetch 트"
+"리의 최대 \"깊이\"를 설정한다. <placeholder-1/>은 디폴트 outer join fetching"
+"을 사용불가능하게 만든다. <placeholder-2/>"
 
-#: index.docbook:430
-msgid "<emphasis role=\"strong\">eg.</emphasis> recommended values between <literal>0</literal> and <literal>3</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>0</literal>과 <literal>3</literal> 사이의 값들이권장된다"
+#. Tag: para
+#: configuration.xml:430
+#, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> recommended values between "
+"<literal>0</literal> and <literal>3</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>0</literal>과 <literal>3</"
+"literal> 사이의 값들이권장된다"
 
-#: index.docbook:439
+#. Tag: literal
+#: configuration.xml:439
+#, no-c-format
 msgid "hibernate.default_batch_fetch_size"
 msgstr "hibernate.default_batch_fetch_size"
 
-#: index.docbook:441
+#. Tag: entry
+#: configuration.xml:441
+#, fuzzy, no-c-format
 msgid "Set a default size for Hibernate batch fetching of associations."
-msgstr "연관들의 Hibernate 배치 페칭에 대한 디폴트 크기를 설정한다."
+msgstr ""
+"연관들의 Hibernate 배치 페칭에 대한 디폴트 크기를 설정한다. <placeholder-1/>"
 
-#: index.docbook:443
-msgid "<emphasis role=\"strong\">eg.</emphasis> recommended values <literal>4</literal>, <literal>8</literal>, <literal>16</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> 권장되는 값들은 <literal>4</literal>, <literal>8</literal>, <literal>16</literal>"
+#. Tag: para
+#: configuration.xml:443
+#, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> recommended values <literal>4</"
+"literal>, <literal>8</literal>, <literal>16</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis> 권장되는 값들은 <literal>4</"
+"literal>, <literal>8</literal>, <literal>16</literal>"
 
-#: index.docbook:452
+#. Tag: literal
+#: configuration.xml:452
+#, no-c-format
 msgid "hibernate.default_entity_mode"
 msgstr "hibernate.default_entity_mode"
 
-#: index.docbook:454
-msgid "Set a default mode for entity representation for all sessions opened from this <literal>SessionFactory</literal>"
-msgstr "이 <literal>SessionFactory</literal>로부터 열려진 모든 세션들에 대해 엔티티 표현을 디폴트 모드로 설정한다"
+#. Tag: entry
+#: configuration.xml:454
+#, fuzzy, no-c-format
+msgid ""
+"Set a default mode for entity representation for all sessions opened from "
+"this <literal>SessionFactory</literal>"
+msgstr ""
+"이 <placeholder-1/>로부터 열려진 모든 세션들에 대해 엔티티 표현을 디폴트 모드"
+"로 설정한다 <placeholder-2/>"
 
-#: index.docbook:457
-msgid "<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</literal>"
-msgstr "<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</literal>"
+#. Tag: para
+#: configuration.xml:457
+#, no-c-format
+msgid ""
+"<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</"
+"literal>"
+msgstr ""
+"<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</"
+"literal>"
 
-#: index.docbook:465
+#. Tag: literal
+#: configuration.xml:465
+#, no-c-format
 msgid "hibernate.order_updates"
 msgstr "hibernate.order_updates"
 
-#: index.docbook:467
-msgid "Force Hibernate to order SQL updates by the primary key value of the items being updated. This will result in fewer transaction deadlocks in highly concurrent systems."
-msgstr "업데이트 중인 항목들의 프라이머리 키 값에 의해 SQL 업데이트들이 순서(ordering)지워지도록 Hibernate에게 강제시킨다. 이것은 고도의 동시성 시스템들에서 더 적은 트랜잭션 데드락(deadlock)들로 귀결될 것이다"
+#. Tag: entry
+#: configuration.xml:467
+#, fuzzy, no-c-format
+msgid ""
+"Force Hibernate to order SQL updates by the primary key value of the items "
+"being updated. This will result in fewer transaction deadlocks in highly "
+"concurrent systems."
+msgstr ""
+"업데이트 중인 항목들의 프라이머리 키 값에 의해 SQL 업데이트들이 순서"
+"(ordering)지워지도록 Hibernate에게 강제시킨다. 이것은 고도의 동시성 시스템들"
+"에서 더 적은 트랜잭션 데드락(deadlock)들로 귀결될 것이다 <placeholder-1/>"
 
-#: index.docbook:479
+#. Tag: literal
+#: configuration.xml:479
+#, no-c-format
 msgid "hibernate.generate_statistics"
 msgstr "hibernate.generate_statistics"
 
-#: index.docbook:481
-msgid "If enabled, Hibernate will collect statistics useful for performance tuning."
-msgstr "이용 가능하게 되면, Hibernate는 퍼포먼스 튜닝에 유용한 통계들을 수집할 것이다."
+#. Tag: entry
+#: configuration.xml:481
+#, fuzzy, no-c-format
+msgid ""
+"If enabled, Hibernate will collect statistics useful for performance tuning."
+msgstr ""
+"이용 가능하게 되면, Hibernate는 퍼포먼스 튜닝에 유용한 통계들을 수집할 것이"
+"다. <placeholder-1/>"
 
-#: index.docbook:492
+#. Tag: literal
+#: configuration.xml:492
+#, no-c-format
 msgid "hibernate.use_identifier_rollback"
 msgstr "hibernate.use_identifer_rollback"
 
-#: index.docbook:494
-msgid "If enabled, generated identifier properties will be reset to default values when objects are deleted."
-msgstr "이용 가능하게 되면, 객체가 삭제될 때 생성된 식별자 프로퍼티들은 디폴트 값들로 재설정될 것이다."
+#. Tag: entry
+#: configuration.xml:494
+#, fuzzy, no-c-format
+msgid ""
+"If enabled, generated identifier properties will be reset to default values "
+"when objects are deleted."
+msgstr ""
+"이용 가능하게 되면, 객체가 삭제될 때 생성된 식별자 프로퍼티들은 디폴트 값들"
+"로 재설정될 것이다. <placeholder-1/>"
 
-#: index.docbook:505
+#. Tag: literal
+#: configuration.xml:505
+#, no-c-format
 msgid "hibernate.use_sql_comments"
 msgstr "hibernate.use_sql_comments"
 
-#: index.docbook:507
-msgid "If turned on, Hibernate will generate comments inside the SQL, for easier debugging, defaults to <literal>false</literal>."
-msgstr "이용 가능하게 되면, Hibernate는 보다 쉬운 디버깅을 위해 SQL 내에 주석들을 생성시킬 것이다. 디폴트는 <literal>false</literal>."
+#. Tag: entry
+#: configuration.xml:507
+#, fuzzy, no-c-format
+msgid ""
+"If turned on, Hibernate will generate comments inside the SQL, for easier "
+"debugging, defaults to <literal>false</literal>."
+msgstr ""
+"이용 가능하게 되면, Hibernate는 보다 쉬운 디버깅을 위해 SQL 내에 주석들을 생"
+"성시킬 것이다. 디폴트는 <placeholder-1/>. <placeholder-2/>"
 
-#: index.docbook:521
+#. Tag: title
+#: configuration.xml:521
+#, no-c-format
 msgid "Hibernate JDBC and Connection Properties"
 msgstr "Hibernate JDBC 및 커넥션 프로퍼티들"
 
-#: index.docbook:536
+#. Tag: literal
+#: configuration.xml:536
+#, no-c-format
 msgid "hibernate.jdbc.fetch_size"
 msgstr "hibernate.jdbc.fetch_size"
 
-#: index.docbook:538
-msgid "A non-zero value determines the JDBC fetch size (calls <literal>Statement.setFetchSize()</literal>)."
-msgstr "0 아닌 값은 JDBC fetch 사이즈를 결정한다(<literal>Statement.setFetchSize()</literal>을 호출한다 )."
+#. Tag: entry
+#: configuration.xml:538
+#, fuzzy, no-c-format
+msgid ""
+"A non-zero value determines the JDBC fetch size (calls <literal>Statement."
+"setFetchSize()</literal>)."
+msgstr ""
+"0 아닌 값은 JDBC fetch 사이즈를 결정한다(<placeholder-1/>을 호출한다 )."
 
-#: index.docbook:545
+#. Tag: literal
+#: configuration.xml:545
+#, no-c-format
 msgid "hibernate.jdbc.batch_size"
 msgstr "hibernate.jdbc.batch_size"
 
-#: index.docbook:547
+#. Tag: entry
+#: configuration.xml:547
+#, fuzzy, no-c-format
 msgid "A non-zero value enables use of JDBC2 batch updates by Hibernate."
-msgstr "0 아닌 값은 Hibernate에 의한 JDBC2 배치 업데이트의 사용을 이용 가능하게 한다."
+msgstr ""
+"0 아닌 값은 Hibernate에 의한 JDBC2 배치 업데이트의 사용을 이용 가능하게 한"
+"다. <placeholder-1/>"
 
-#: index.docbook:549
-msgid "<emphasis role=\"strong\">eg.</emphasis> recommended values between <literal>5</literal> and <literal>30</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>5</literal>와 <literal>30</literal> 사이의 값들이 권장된다"
+#. Tag: para
+#: configuration.xml:549
+#, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> recommended values between "
+"<literal>5</literal> and <literal>30</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>5</literal>와 <literal>30</"
+"literal> 사이의 값들이 권장된다"
 
-#: index.docbook:557
+#. Tag: literal
+#: configuration.xml:557
+#, no-c-format
 msgid "hibernate.jdbc.batch_versioned_data"
 msgstr "hibernate.jdbc.batch_versioned_data"
 
-#: index.docbook:559
-msgid "Set this property to <literal>true</literal> if your JDBC driver returns correct row counts from <literal>executeBatch()</literal> (it is usually safe to turn this option on). Hibernate will then use batched DML for automatically versioned data. Defaults to <literal>false</literal>."
-msgstr "당신의 JDBC 드라이버가 <literal>executeBatch()</literal>로부터 정확한 행 카운트들을 반환할 경우에 이 프로퍼티를 <literal>true</literal>로 설정하라(대개 이 옵션을 사용 가능하게 하는 것이 안전하다). 그러면 Hibernate는 자동적으로 버전화 된 데이터에 대해 배치화된(batched) DML을 사용할 것이다. 디폴트는 <literal>false</literal>."
+#. Tag: entry
+#: configuration.xml:559
+#, fuzzy, no-c-format
+msgid ""
+"Set this property to <literal>true</literal> if your JDBC driver returns "
+"correct row counts from <literal>executeBatch()</literal> (it is usually "
+"safe to turn this option on). Hibernate will then use batched DML for "
+"automatically versioned data. Defaults to <literal>false</literal>."
+msgstr ""
+"당신의 JDBC 드라이버가 <placeholder-1/>로부터 정확한 행 카운트들을 반환할 경"
+"우에 이 프로퍼티를 <placeholder-2/>로 설정하라(대개 이 옵션을 사용 가능하게 "
+"하는 것이 안전하다). 그러면 Hibernate는 자동적으로 버전화 된 데이터에 대해 배"
+"치화된(batched) DML을 사용할 것이다. 디폴트는 <placeholder-3/>. <placeholder-"
+"4/>"
 
-#: index.docbook:572
+#. Tag: literal
+#: configuration.xml:572
+#, no-c-format
 msgid "hibernate.jdbc.factory_class"
 msgstr "hibernate.jdbc.factory_class"
 
-#: index.docbook:574
-msgid "Select a custom <literal>Batcher</literal>. Most applications will not need this configuration property."
-msgstr "맞춤형 <literal>Batcher</literal>를 선택한다. 대부분의 어플리케이션들은 이 구성 프로퍼티를 필요로 하지 않을 것이다."
+#. Tag: entry
+#: configuration.xml:574
+#, fuzzy, no-c-format
+msgid ""
+"Select a custom <literal>Batcher</literal>. Most applications will not need "
+"this configuration property."
+msgstr ""
+"맞춤형 <placeholder-1/>를 선택한다. 대부분의 어플리케이션들은 이 구성 프로퍼"
+"티를 필요로 하지 않을 것이다. <placeholder-2/>"
 
-#: index.docbook:577
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.BatcherFactory</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>classname.of.BatcherFactory</literal>"
+#. Tag: para
+#: configuration.xml:577
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"BatcherFactory</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:585
+#. Tag: literal
+#: configuration.xml:585
+#, no-c-format
 msgid "hibernate.jdbc.use_scrollable_resultset"
 msgstr "hibernate.jdbc.use_scrollable_resultset"
 
-#: index.docbook:587
-msgid "Enables use of JDBC2 scrollable resultsets by Hibernate. This property is only necessary when using user supplied JDBC connections, Hibernate uses connection metadata otherwise."
-msgstr "Hibernate에 의한 JDBC2 스크롤 가능한 결과셋들의 사용을 가능하게 해준다. 이 프로퍼티는 사용자가 제공한 JDBC커넥션들을 사용할 때에만 필수적이고, 그 밖의 경우 Hibernate는 커넥션 메타데이터를 사용한다."
+#. Tag: entry
+#: configuration.xml:587
+#, fuzzy, no-c-format
+msgid ""
+"Enables use of JDBC2 scrollable resultsets by Hibernate. This property is "
+"only necessary when using user supplied JDBC connections, Hibernate uses "
+"connection metadata otherwise."
+msgstr ""
+"Hibernate에 의한 JDBC2 스크롤 가능한 결과셋들의 사용을 가능하게 해준다. 이 프"
+"로퍼티는 사용자가 제공한 JDBC커넥션들을 사용할 때에만 필수적이고, 그 밖의 경"
+"우 Hibernate는 커넥션 메타데이터를 사용한다. <placeholder-1/>"
 
-#: index.docbook:599
+#. Tag: literal
+#: configuration.xml:599
+#, no-c-format
 msgid "hibernate.jdbc.use_streams_for_binary"
 msgstr "hibernate.jdbc.use_streams_for_binary"
 
-#: index.docbook:601
-msgid "Use streams when writing/reading <literal>binary</literal> or <literal>serializable</literal> types to/from JDBC (system-level property)."
-msgstr "<literal>binary</literal> 또는 <literal>serializable</literal> 타입들을 JDBC로 기록하고 /JDBC로부터 <literal>binary</literal> 또는 <literal>serializable</literal> 타입들을 읽어들일 때 스트림들을 사용한다(시스템-레벨 프로퍼티)."
+#. Tag: entry
+#: configuration.xml:601
+#, fuzzy, no-c-format
+msgid ""
+"Use streams when writing/reading <literal>binary</literal> or "
+"<literal>serializable</literal> types to/from JDBC (system-level property)."
+msgstr ""
+"FUZZY! <placeholder-1/> 또는 <placeholder-2/> 타입들을 읽어들일 때 스트림들"
+"을 사용한다(시스템-레벨 프로퍼티). <placeholder-3/>"
 
-#: index.docbook:613
+#. Tag: literal
+#: configuration.xml:613
+#, no-c-format
 msgid "hibernate.jdbc.use_get_generated_keys"
 msgstr "hibernate.jdbc.use_get_generated_keys"
 
-#: index.docbook:615
-msgid "Enable use of JDBC3 <literal>PreparedStatement.getGeneratedKeys()</literal> to retrieve natively generated keys after insert. Requires JDBC3+ driver and JRE1.4+, set to false if your driver has problems with the Hibernate identifier generators. By default, tries to determine the driver capabilities using connection metadata."
-msgstr "insert 후에 고유하게 생성된 키들을 검색하는데 JDBC3 <literal>PreparedStatement.getGeneratedKeys()</literal>의 사용을 이용 가능하도록 만든다. JDBC3+ 드라이버와 JRE1.4+를 필요로 하고, 당신의 드라이버가 Hibernate 식별자 생성자들에 문제가 있을 경우에 false로 설정하라. 디폴트로 커넥션 메타 데이터를 사용하여 드라이버 가용성들을 결정하려고 시도하라."
+#. Tag: entry
+#: configuration.xml:615
+#, fuzzy, no-c-format
+msgid ""
+"Enable use of JDBC3 <literal>PreparedStatement.getGeneratedKeys()</literal> "
+"to retrieve natively generated keys after insert. Requires JDBC3+ driver and "
+"JRE1.4+, set to false if your driver has problems with the Hibernate "
+"identifier generators. By default, tries to determine the driver "
+"capabilities using connection metadata."
+msgstr ""
+"insert 후에 고유하게 생성된 키들을 검색하는데 JDBC3 <placeholder-1/>의 사용"
+"을 이용 가능하도록 만든다. JDBC3+ 드라이버와 JRE1.4+를 필요로 하고, 당신의 드"
+"라이버가 Hibernate 식별자 생성자들에 문제가 있을 경우에 false로 설정하라. 디"
+"폴트로 커넥션 메타 데이터를 사용하여 드라이버 가용성들을 결정하려고 시도하"
+"라. <placeholder-2/>"
 
-#: index.docbook:621, index.docbook:751, index.docbook:763, index.docbook:777, index.docbook:815
+#. Tag: para
+#: configuration.xml:621 configuration.xml:751 configuration.xml:763
+#: configuration.xml:777 configuration.xml:815
+#, fuzzy, no-c-format
 msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>true|false</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>true|false</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:629
+#. Tag: literal
+#: configuration.xml:629
+#, no-c-format
 msgid "hibernate.connection.provider_class"
 msgstr "hibernate.connection.provider_class"
 
-#: index.docbook:631
-msgid "The classname of a custom <literal>ConnectionProvider</literal> which provides JDBC connections to Hibernate."
-msgstr "Hibernate에 JDBC 커넥션들을 제공하는 맞춤형 <literal>ConnectionProvider</literal>의 클래스명."
+#. Tag: entry
+#: configuration.xml:631
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a custom <literal>ConnectionProvider</literal> which "
+"provides JDBC connections to Hibernate."
+msgstr ""
+"Hibernate에 JDBC 커넥션들을 제공하는 맞춤형 <placeholder-1/>의 클래스명. "
+"<placeholder-2/>"
 
-#: index.docbook:634
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.ConnectionProvider</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>classname.of.ConnectionProvider</literal>"
+#. Tag: para
+#: configuration.xml:634
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"ConnectionProvider</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:642
+#. Tag: literal
+#: configuration.xml:642
+#, no-c-format
 msgid "hibernate.connection.isolation"
 msgstr "hibernate.connection.isolation"
 
-#: index.docbook:644
-msgid "Set the JDBC transaction isolation level. Check <literal>java.sql.Connection</literal> for meaningful values but note that most databases do not support all isolation levels."
-msgstr "JDBC transaction isolation 레벨을 설정한다. 의미있는 값들로 <literal>java.sql.Connection</literal>을 체크하지만 대부분의 데이터베이스들이 모든 격리(isolate) 레벨들을 지원하지 않음을 노트하라."
+#. Tag: entry
+#: configuration.xml:644
+#, fuzzy, no-c-format
+msgid ""
+"Set the JDBC transaction isolation level. Check <literal>java.sql."
+"Connection</literal> for meaningful values but note that most databases do "
+"not support all isolation levels."
+msgstr ""
+"JDBC transaction isolation 레벨을 설정한다. 의미있는 값들로 <placeholder-1/>"
+"을 체크하지만 대부분의 데이터베이스들이 모든 격리(isolate) 레벨들을 지원하지 "
+"않음을 노트하라. <placeholder-2/>"
 
-#: index.docbook:648
+#. Tag: para
+#: configuration.xml:648
+#, fuzzy, no-c-format
 msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>1, 2, 4, 8</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>1, 2, 4, 8</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:656
+#. Tag: literal
+#: configuration.xml:656
+#, no-c-format
 msgid "hibernate.connection.autocommit"
 msgstr "hibernate.connection.autocommit"
 
-#: index.docbook:658
+#. Tag: entry
+#: configuration.xml:658
+#, fuzzy, no-c-format
 msgid "Enables autocommit for JDBC pooled connections (not recommended)."
-msgstr "JDBC 풀링된 커넥션들에 대해 자동커밋을 이용 가능하도록 한다(권장되지 않음)."
+msgstr ""
+"JDBC 풀링된 커넥션들에 대해 자동커밋을 이용 가능하도록 한다(권장되지 않음). "
+"<placeholder-1/>"
 
-#: index.docbook:668
+#. Tag: literal
+#: configuration.xml:668
+#, no-c-format
 msgid "hibernate.connection.release_mode"
 msgstr "hibernate.connection.release_mode"
 
-#: index.docbook:670
-msgid "Specify when Hibernate should release JDBC connections. By default, a JDBC connection is held until the session is explicitly closed or disconnected. For an application server JTA datasource, you should use <literal>after_statement</literal> to aggressively release connections after every JDBC call. For a non-JTA connection, it often makes sense to release the connection at the end of each transaction, by using <literal>after_transaction</literal>. <literal>auto</literal> will choose <literal>after_statement</literal> for the JTA and CMT transaction strategies and <literal>after_transaction</literal> for the JDBC transaction strategy."
-msgstr "Hibernate가 JDBC 커넥션들을 해제하게 될 시점을 지정한다. 디폴트로 한 개의 JDBC 커넥션은 그 세션이 명시적으로 닫히거나 연결해제되기 전까지 보관된다. 어플리케이션 트랜잭션 서버 JTA 데이터소스의 경우, 당신은 모든 JDBC 호출 후에 커넥션들을 과감하게 해제시키기 위해 <literal>after_statement</literal>를 사용해야 한다. 비-JTA 연결의 경우, <literal>after_transaction</literal>을 사용하여 각각의 트랜잭션의 끝에서 커넥션들을 해제시키는 것이 종종 의미가 있다. <literal>auto</literal>는 JTA 및 CMT 트랜잭션 방도들의 경우에 <literal>after_statement</literal>를 선택하고 JDBC 트랜잭션 방도에 대해 <literal>after_transaction</literal>를 선택할 것이다."
+#. Tag: entry
+#: configuration.xml:670
+#, fuzzy, no-c-format
+msgid ""
+"Specify when Hibernate should release JDBC connections. By default, a JDBC "
+"connection is held until the session is explicitly closed or disconnected. "
+"For an application server JTA datasource, you should use "
+"<literal>after_statement</literal> to aggressively release connections after "
+"every JDBC call. For a non-JTA connection, it often makes sense to release "
+"the connection at the end of each transaction, by using "
+"<literal>after_transaction</literal>. <literal>auto</literal> will choose "
+"<literal>after_statement</literal> for the JTA and CMT transaction "
+"strategies and <literal>after_transaction</literal> for the JDBC transaction "
+"strategy."
+msgstr ""
+"Hibernate가 JDBC 커넥션들을 해제하게 될 시점을 지정한다. 디폴트로 한 개의 "
+"JDBC 커넥션은 그 세션이 명시적으로 닫히거나 연결해제되기 전까지 보관된다. 어"
+"플리케이션 트랜잭션 서버 JTA 데이터소스의 경우, 당신은 모든 JDBC 호출 후에 커"
+"넥션들을 과감하게 해제시키기 위해 <placeholder-1/>를 사용해야 한다. 비-JTA 연"
+"결의 경우, <placeholder-2/>을 사용하여 각각의 트랜잭션의 끝에서 커넥션들을 해"
+"제시키는 것이 종종 의미가 있다. <placeholder-3/>는 JTA 및 CMT 트랜잭션 방도들"
+"의 경우에 <placeholder-4/>를 선택하고 JDBC 트랜잭션 방도에 대해 <placeholder-"
+"5/>를 선택할 것이다. <placeholder-6/><placeholder-7/>"
 
-#: index.docbook:681
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>auto</literal> (default) | <literal>on_close</literal> | <literal>after_transaction</literal> | <literal>after_statement</literal>"
-msgstr "<emphasis role=\"strong\">eg.</emphasis> <literal>auto</literal> (디폴트) | <literal>on_close</literal> | <literal>after_transaction</literal> | <literal>after_statement</literal>"
+#. Tag: para
+#: configuration.xml:681
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>auto</literal> (default) | "
+"<literal>on_close</literal> | <literal>after_transaction</literal> | "
+"<literal>after_statement</literal>"
+msgstr ""
+"<emphasis role=\"strong\">eg.</emphasis><literal>auto</literal> (디폴트) | "
+"<literal>on_close</literal> | <literal>after_transaction</literal> | "
+"<literal>after_statement</literal>"
 
-#: index.docbook:686
-msgid "Note that this setting only affects <literal>Session</literal>s returned from <literal>SessionFactory.openSession</literal>. For <literal>Session</literal>s obtained through <literal>SessionFactory.getCurrentSession</literal>, the <literal>CurrentSessionContext</literal> implementation configured for use controls the connection release mode for those <literal>Session</literal>s. See"
-msgstr "이 설정이 <literal>SessionFactory.openSession</literal>로부터 반환된 <literal>Session</literal>들에만 영향을 준다는 점을 노트하라. <literal>SessionFactory.getCurrentSession</literal>을 통해 얻어진 <literal>Session</literal>들의 경우, 사용하기 위해 구성된 <literal>CurrentSessionContext</literal> 구현이 그들 <literal>Session</literal>들에 대한 연결 해제를 제어한다. <xref linkend=\"architecture-current-session\"/>를 보라."
+#. Tag: para
+#: configuration.xml:686
+#, fuzzy, no-c-format
+msgid ""
+"Note that this setting only affects <literal>Session</literal>s returned "
+"from <literal>SessionFactory.openSession</literal>. For <literal>Session</"
+"literal>s obtained through <literal>SessionFactory.getCurrentSession</"
+"literal>, the <literal>CurrentSessionContext</literal> implementation "
+"configured for use controls the connection release mode for those "
+"<literal>Session</literal>s. See"
+msgstr ""
+"이 설정이 <literal>SessionFactory.openSession</literal>로부터 반환된 "
+"<literal>Session</literal>들에만 영향을 준다는 점을 노트하라. "
+"<literal>SessionFactory.getCurrentSession</literal>을 통해 얻어진 "
+"<literal>Session</literal>들의 경우, 사용하기 위해 구성된 "
+"<literal>CurrentSessionContext</literal> 구현이 그들 <literal>Session</"
+"literal>들에 대한 연결 해제를 제어한다. <xref linkend=\"architecture-current-"
+"session\"/>를 보라."
 
-#: index.docbook:698
-msgid "hibernate.connection.<emphasis>&lt;propertyName&gt;</emphasis>"
-msgstr "hibernate.connection.<emphasis>&lt;propertyName&gt;</emphasis>"
+#. Tag: entry
+#: configuration.xml:697
+#, no-c-format
+msgid ""
+"<literal>hibernate.connection.</literal><emphasis>&lt;propertyName&gt;</"
+"emphasis>"
+msgstr ""
 
-#: index.docbook:700
-msgid "Pass the JDBC property <literal>propertyName</literal> to <literal>DriverManager.getConnection()</literal>."
-msgstr "JDBC 프로퍼티 <literal>propertyName</literal>을 <literal>DriverManager.getConnection()</literal>에 전달한다."
+#. Tag: entry
+#: configuration.xml:700
+#, no-c-format
+msgid ""
+"Pass the JDBC property <emphasis>&lt;propertyName&gt;</emphasis> to "
+"<literal>DriverManager.getConnection()</literal>."
+msgstr ""
 
-#: index.docbook:707
-msgid "hibernate.jndi.<emphasis>&lt;propertyName&gt;</emphasis>"
-msgstr "hibernate.jndi.<emphasis>&lt;propertyName&gt;</emphasis>"
+#. Tag: entry
+#: configuration.xml:706
+#, no-c-format
+msgid ""
+"<literal>hibernate.jndi.</literal><emphasis>&lt;propertyName&gt;</emphasis>"
+msgstr ""
 
-#: index.docbook:709
-msgid "Pass the property <literal>propertyName</literal> to the JNDI <literal>InitialContextFactory</literal>."
-msgstr "<literal>propertyName</literal> 프로퍼티를 JNDI <literal>InitialContextFactory</literal>에 전달한다."
+#. Tag: entry
+#: configuration.xml:709
+#, no-c-format
+msgid ""
+"Pass the property <emphasis>&lt;propertyName&gt;</emphasis> to the JNDI "
+"<literal>InitialContextFactory</literal>."
+msgstr ""
 
-#: index.docbook:719
+#. Tag: title
+#: configuration.xml:719
+#, no-c-format
 msgid "Hibernate Cache Properties"
 msgstr "Hibernate Cache 프로퍼티들"
 
-#: index.docbook:732
+#. Tag: literal
+#: configuration.xml:732
+#, no-c-format
 msgid "hibernate.cache.provider_class"
 msgstr "hibernate.cache.provider_class"
 
-#: index.docbook:734
+#. Tag: entry
+#: configuration.xml:734
+#, fuzzy, no-c-format
 msgid "The classname of a custom <literal>CacheProvider</literal>."
-msgstr "맞춤형 <literal>CacheProvider</literal>의 클래스명."
+msgstr "맞춤형 <placeholder-1/>의 클래스명. <placeholder-2/>"
 
-#: index.docbook:736
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.CacheProvider</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>classname.of.CacheProvider</literal>"
+#. Tag: para
+#: configuration.xml:736
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"CacheProvider</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:744
+#. Tag: literal
+#: configuration.xml:744
+#, no-c-format
 msgid "hibernate.cache.use_minimal_puts"
 msgstr "hibernate.cache.use_minimal_puts"
 
-#: index.docbook:746
-msgid "Optimize second-level cache operation to minimize writes, at the cost of more frequent reads. This setting is most useful for clustered caches and, in Hibernate3, is enabled by default for clustered cache implementations."
-msgstr "읽기가 매우 빈번한 경우에, 쓰기를 최소화 시키기 위해 second-level 캐시 연산을 최적화 시킨다. 이 설정은 Hibernate3에서 클러스터링 된 캐시들에 가장 유용하고, Hibernate3에서는 클러스터링된 캐시 구현들에 대해 디폴트로 이용 가능하다."
+#. Tag: entry
+#: configuration.xml:746
+#, fuzzy, no-c-format
+msgid ""
+"Optimize second-level cache operation to minimize writes, at the cost of "
+"more frequent reads. This setting is most useful for clustered caches and, "
+"in Hibernate3, is enabled by default for clustered cache implementations."
+msgstr ""
+"읽기가 매우 빈번한 경우에, 쓰기를 최소화 시키기 위해 second-level 캐시 연산"
+"을 최적화 시킨다. 이 설정은 Hibernate3에서 클러스터링 된 캐시들에 가장 유용하"
+"고, Hibernate3에서는 클러스터링된 캐시 구현들에 대해 디폴트로 이용 가능하다. "
+"<placeholder-1/>"
 
-#: index.docbook:759
+#. Tag: literal
+#: configuration.xml:759
+#, no-c-format
 msgid "hibernate.cache.use_query_cache"
 msgstr "hibernate.cache.use_query_cache"
 
-#: index.docbook:761
-msgid "Enable the query cache, individual queries still have to be set cachable."
-msgstr "질의 캐시를 가능하게 만든다. 개별 질의들은 여전히 캐시 가능한 것으로 설정되어야 한다."
+#. Tag: entry
+#: configuration.xml:761
+#, fuzzy, no-c-format
+msgid ""
+"Enable the query cache, individual queries still have to be set cachable."
+msgstr ""
+"질의 캐시를 가능하게 만든다. 개별 질의들은 여전히 캐시 가능한 것으로 설정되어"
+"야 한다. <placeholder-1/>"
 
-#: index.docbook:771
+#. Tag: literal
+#: configuration.xml:771
+#, no-c-format
 msgid "hibernate.cache.use_second_level_cache"
 msgstr "hibernate.cache.use_second_level_cache"
 
-#: index.docbook:773
-msgid "May be used to completely disable the second level cache, which is enabled by default for classes which specify a <literal>&lt;cache&gt;</literal> mapping."
-msgstr "second-level 캐시를 완전히 사용 불가능하게 하는데 사용될 수 있고, 그것은 <literal>&lt;cache&gt;</literal> 매핑을 지정하는 클래스들에 대해 디폴트로 이용 가능이다."
+#. Tag: entry
+#: configuration.xml:773
+#, fuzzy, no-c-format
+msgid ""
+"May be used to completely disable the second level cache, which is enabled "
+"by default for classes which specify a <literal>&lt;cache&gt;</literal> "
+"mapping."
+msgstr ""
+"second-level 캐시를 완전히 사용 불가능하게 하는데 사용될 수 있고, 그것은 "
+"<placeholder-1/> 매핑을 지정하는 클래스들에 대해 디폴트로 이용 가능이다. "
+"<placeholder-2/>"
 
-#: index.docbook:785
+#. Tag: literal
+#: configuration.xml:785
+#, no-c-format
 msgid "hibernate.cache.query_cache_factory"
 msgstr "hibernate.cache.query_cache_factory"
 
-#: index.docbook:787
-msgid "The classname of a custom <literal>QueryCache</literal> interface, defaults to the built-in <literal>StandardQueryCache</literal>."
-msgstr "맞춤형 <literal>QueryCache</literal> 인터페이스의 클래스명. 디폴트는 미리 빌드된 <literal>StandardQueryCache</literal>."
+#. Tag: entry
+#: configuration.xml:787
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a custom <literal>QueryCache</literal> interface, defaults "
+"to the built-in <literal>StandardQueryCache</literal>."
+msgstr ""
+"맞춤형 <placeholder-1/> 인터페이스의 클래스명. 디폴트는 미리 빌드된 "
+"<placeholder-2/>. <placeholder-3/>"
 
-#: index.docbook:790
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.QueryCache</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>classname.of.QueryCache</literal>"
+#. Tag: para
+#: configuration.xml:790
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.QueryCache</"
+"literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:798
+#. Tag: literal
+#: configuration.xml:798
+#, no-c-format
 msgid "hibernate.cache.region_prefix"
 msgstr "hibernate.cache.region_prefix"
 
-#: index.docbook:800
+#. Tag: entry
+#: configuration.xml:800
+#, fuzzy, no-c-format
 msgid "A prefix to use for second-level cache region names."
-msgstr "second-level 캐시 영역 이름들에 사용할 접두어."
+msgstr "second-level 캐시 영역 이름들에 사용할 접두어. <placeholder-1/>"
 
-#: index.docbook:802
+#. Tag: para
+#: configuration.xml:802
+#, fuzzy, no-c-format
 msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>prefix</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>prefix</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:810
+#. Tag: literal
+#: configuration.xml:810
+#, no-c-format
 msgid "hibernate.cache.use_structured_entries"
 msgstr "hibernate.cache.use_structured_entries"
 
-#: index.docbook:812
-msgid "Forces Hibernate to store data in the second-level cache in a more human-friendly format."
-msgstr "인간에게 보다 더 친숙한 형식으로 second-level 캐시 속에 데이터를 저장하도록 Hibernate에게 강제시킨다.."
+#. Tag: entry
+#: configuration.xml:812
+#, fuzzy, no-c-format
+msgid ""
+"Forces Hibernate to store data in the second-level cache in a more human-"
+"friendly format."
+msgstr ""
+"인간에게 보다 더 친숙한 형식으로 second-level 캐시 속에 데이터를 저장하도록 "
+"Hibernate에게 강제시킨다.. <placeholder-1/>"
 
-#: index.docbook:826
+#. Tag: title
+#: configuration.xml:826
+#, no-c-format
 msgid "Hibernate Transaction Properties"
 msgstr "Hibernate 트랜잭션 프로퍼티들"
 
-#: index.docbook:839
+#. Tag: literal
+#: configuration.xml:839
+#, no-c-format
 msgid "hibernate.transaction.factory_class"
 msgstr "hibernate.transaction.factory_class"
 
-#: index.docbook:841
-msgid "The classname of a <literal>TransactionFactory</literal> to use with Hibernate <literal>Transaction</literal> API (defaults to <literal>JDBCTransactionFactory</literal>)."
-msgstr "Hibernate <literal>Transaction</literal> API 에 사용할 <literal>TransactionFactory</literal>의 클래스 이름.(디폴트는 <literal>JDBCTransactionFactory</literal>)."
+#. Tag: entry
+#: configuration.xml:841
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a <literal>TransactionFactory</literal> to use with "
+"Hibernate <literal>Transaction</literal> API (defaults to "
+"<literal>JDBCTransactionFactory</literal>)."
+msgstr ""
+"Hibernate <placeholder-1/> API 에 사용할 <placeholder-2/>의 클래스 이름.(디폴"
+"트는 <placeholder-3/>). <placeholder-4/>"
 
-#: index.docbook:845
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.TransactionFactory</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>classname.of.TransactionFactory</literal>"
+#. Tag: para
+#: configuration.xml:845
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"TransactionFactory</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:853
+#. Tag: literal
+#: configuration.xml:853
+#, no-c-format
 msgid "jta.UserTransaction"
 msgstr "jta.UserTransaction"
 
-#: index.docbook:855
-msgid "A JNDI name used by <literal>JTATransactionFactory</literal> to obtain the JTA <literal>UserTransaction</literal> from the application server."
-msgstr "어플리케이션 서버로부터 JTA <literal>UserTransaction</literal>을 얻기 위해 <literal>JTATransactionFactory</literal>에 의해 사용되는 JNDI 이름."
+#. Tag: entry
+#: configuration.xml:855
+#, fuzzy, no-c-format
+msgid ""
+"A JNDI name used by <literal>JTATransactionFactory</literal> to obtain the "
+"JTA <literal>UserTransaction</literal> from the application server."
+msgstr ""
+"어플리케이션 서버로부터 JTA <placeholder-1/>을 얻기 위해 <placeholder-2/>에 "
+"의해 사용되는 JNDI 이름. <placeholder-3/>"
 
-#: index.docbook:867
+#. Tag: literal
+#: configuration.xml:867
+#, no-c-format
 msgid "hibernate.transaction.manager_lookup_class"
 msgstr "hibernate.transaction.manager_lookup_class"
 
-#: index.docbook:869
-msgid "The classname of a <literal>TransactionManagerLookup</literal> - required when JVM-level caching is enabled or when using hilo generator in a JTA environment."
-msgstr "<literal>TransactionManagerLookup</literal>의 클래스명- JVM 레벨의 캐싱이 이용 가능할 때 또는 JTA 환경에서 hilo generator를 사용할 때 필요하다."
+#. Tag: entry
+#: configuration.xml:869
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a <literal>TransactionManagerLookup</literal> - required "
+"when JVM-level caching is enabled or when using hilo generator in a JTA "
+"environment."
+msgstr ""
+"<placeholder-1/>의 클래스명- JVM 레벨의 캐싱이 이용 가능할 때 또는 JTA 환경에"
+"서 hilo generator를 사용할 때 필요하다. <placeholder-2/>"
 
-#: index.docbook:873
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.TransactionManagerLookup</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>classname.of.TransactionManagerLookup</literal>"
+#. Tag: para
+#: configuration.xml:873
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"TransactionManagerLookup</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:881
+#. Tag: literal
+#: configuration.xml:881
+#, no-c-format
 msgid "hibernate.transaction.flush_before_completion"
 msgstr "hibernate.transaction.flush_before_completion"
 
-#: index.docbook:883
-msgid "If enabled, the session will be automatically flushed during the before completion phase of the transaction. Built-in and automatic session context management is preferred, see <xref linkend=\"architecture-current-session\"/>."
-msgstr "만일 사용가능하도록 되면, 세션은 트랜잭션의 before completion 단계 동안에 자동적으로 flush 될 것이다. 빌드되어 있는 자동적인 세션 컨텍스트 관리가 선호되는데, <xref linkend=\"architecture-current-session\"/>를 보라."
+#. Tag: entry
+#: configuration.xml:883
+#, fuzzy, no-c-format
+msgid ""
+"If enabled, the session will be automatically flushed during the before "
+"completion phase of the transaction. Built-in and automatic session context "
+"management is preferred, see <xref linkend=\"architecture-current-session\"/"
+">."
+msgstr ""
+"만일 사용가능하도록 되면, 세션은 트랜잭션의 before completion 단계 동안에 자"
+"동적으로 flush 될 것이다. 빌드되어 있는 자동적인 세션 컨텍스트 관리가 선호되"
+"는데, <xref linkend=\"architecture-current-session\"/>를 보라. <placeholder-"
+"1/>"
 
-#: index.docbook:896
+#. Tag: literal
+#: configuration.xml:896
+#, no-c-format
 msgid "hibernate.transaction.auto_close_session"
 msgstr "hibernate.transaction.auto_close_session"
 
-#: index.docbook:898
-msgid "If enabled, the session will be automatically closed during the after completion phase of the transaction. Built-in and utomatic session context management is preferred, see <xref linkend=\"architecture-current-session\"/>."
-msgstr "만일 사용가능토록 하면, after completion 단계 동안에 세션이 자동적으로 닫혀질 것이다. (CMT에 대해 Hibernate를 사용할 때 매우 유용하다.)"
+#. Tag: entry
+#: configuration.xml:898
+#, fuzzy, no-c-format
+msgid ""
+"If enabled, the session will be automatically closed during the after "
+"completion phase of the transaction. Built-in and utomatic session context "
+"management is preferred, see <xref linkend=\"architecture-current-session\"/"
+">."
+msgstr ""
+"만일 사용가능토록 하면, after completion 단계 동안에 세션이 자동적으로 닫혀"
+"질 것이다. (CMT에 대해 Hibernate를 사용할 때 매우 유용하다.) <placeholder-1/>"
 
-#: index.docbook:914
+#. Tag: title
+#: configuration.xml:914
+#, no-c-format
 msgid "Miscellaneous Properties"
 msgstr "여러가지 프로퍼티들"
 
-#: index.docbook:927
+#. Tag: literal
+#: configuration.xml:927
+#, no-c-format
 msgid "hibernate.current_session_context_class"
 msgstr "hibernate.current_session_context_class"
 
-#: index.docbook:929
-msgid "Supply a (custom) strategy for the scoping of the \"current\" <literal>Session</literal>. See <xref linkend=\"architecture-current-session\"/> for more information about the built-in strategies."
-msgstr "\"현재\" <literal>Session</literal>의 영역화를 위한 하나의 (맞춤) 방도를 제공한다. 빌드되어 있는 방도들에 대한 추가 정보는 <xref linkend=\"architecture-current-session\"/>를 보라."
+#. Tag: entry
+#: configuration.xml:929
+#, fuzzy, no-c-format
+msgid ""
+"Supply a (custom) strategy for the scoping of the \"current\" "
+"<literal>Session</literal>. See <xref linkend=\"architecture-current-session"
+"\"/> for more information about the built-in strategies."
+msgstr ""
+"\"현재\" <placeholder-1/>의 영역화를 위한 하나의 (맞춤) 방도를 제공한다. 빌드"
+"되어 있는 방도들에 대한 추가 정보는 <xref linkend=\"architecture-current-"
+"session\"/>를 보라. <placeholder-2/>"
 
-#: index.docbook:934
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>jta</literal> | <literal>thread</literal> | <literal>managed</literal> | <literal>custom.Class</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>jta</literal> | <literal>thread</literal> | <literal>managed</literal> | <literal>custom.Class</literal>"
+#. Tag: para
+#: configuration.xml:934
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>jta</literal> | "
+"<literal>thread</literal> | <literal>managed</literal> | <literal>custom."
+"Class</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>jta</literal> | "
+"<literal>thread</literal> | <literal>managed</literal> | <literal>custom."
+"Class</literal>"
 
-#: index.docbook:943
+#. Tag: literal
+#: configuration.xml:943
+#, no-c-format
 msgid "hibernate.query.factory_class"
 msgstr "hibernate.query.factory_class"
 
-#: index.docbook:945
+#. Tag: entry
+#: configuration.xml:945
+#, fuzzy, no-c-format
 msgid "Chooses the HQL parser implementation."
-msgstr "Chooses the HQL 파서 구현을 선택한다."
+msgstr "Chooses the HQL 파서 구현을 선택한다. <placeholder-1/>"
 
-#: index.docbook:947
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>org.hibernate.hql.ast.ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic.ClassicQueryTranslatorFactory</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>org.hibernate.hql.ast.ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic.ClassicQueryTranslatorFactory</literal>"
+#. Tag: para
+#: configuration.xml:947
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>org.hibernate.hql.ast."
+"ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic."
+"ClassicQueryTranslatorFactory</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>org.hibernate.hql.ast."
+"ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic."
+"ClassicQueryTranslatorFactory</literal>"
 
-#: index.docbook:956
+#. Tag: literal
+#: configuration.xml:956
+#, no-c-format
 msgid "hibernate.query.substitutions"
 msgstr "hibernate.query.substitutions"
 
-#: index.docbook:958
-msgid "Mapping from tokens in Hibernate queries to SQL tokens (tokens might be function or literal names, for example)."
-msgstr "Hibernate 질의들 내의 토큰들로부터 SQL 토큰들로의 매핑 (예를 들어 토큰들은 함수 이름 또는 리터럴 이름일 수 있다)."
+#. Tag: entry
+#: configuration.xml:958
+#, fuzzy, no-c-format
+msgid ""
+"Mapping from tokens in Hibernate queries to SQL tokens (tokens might be "
+"function or literal names, for example)."
+msgstr ""
+"Hibernate 질의들 내의 토큰들로부터 SQL 토큰들로의 매핑 (예를 들어 토큰들은 함"
+"수 이름 또는 리터럴 이름일 수 있다). <placeholder-1/>"
 
-#: index.docbook:961
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</literal>"
+#. Tag: para
+#: configuration.xml:961
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>hqlLiteral=SQL_LITERAL, "
+"hqlFunction=SQLFUNC</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:969
+#. Tag: literal
+#: configuration.xml:969
+#, no-c-format
 msgid "hibernate.hbm2ddl.auto"
 msgstr "hibernate.hbm2ddl.auto"
 
-#: index.docbook:971
-msgid "Automatically validate or export schema DDL to the database when the <literal>SessionFactory</literal> is created. With <literal>create-drop</literal>, the database schema will be dropped when the <literal>SessionFactory</literal> is closed explicitly."
-msgstr "<literal>SessionFactory</literal>가 생성될 때, 자동적으로 유효성을 검사하거나 schema DDL을 데이터베이스로 내보내기 한다. <literal>create-drop</literal>의 경우, <literal>SessionFactory</literal>가 명시적으로 닫혀질 때 데이터베이스 스키마가 드롭될 것이다."
+#. Tag: entry
+#: configuration.xml:971
+#, fuzzy, no-c-format
+msgid ""
+"Automatically validate or export schema DDL to the database when the "
+"<literal>SessionFactory</literal> is created. With <literal>create-drop</"
+"literal>, the database schema will be dropped when the "
+"<literal>SessionFactory</literal> is closed explicitly."
+msgstr ""
+"<placeholder-1/>가 생성될 때, 자동적으로 유효성을 검사하거나 schema DDL을 데"
+"이터베이스로 내보내기 한다. <placeholder-2/>의 경우, <placeholder-3/>가 명시"
+"적으로 닫혀질 때 데이터베이스 스키마가 드롭될 것이다. <placeholder-4/>"
 
-#: index.docbook:977
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>validate</literal> | <literal>update</literal> | <literal>create</literal> | <literal>create-drop</literal>"
-msgstr "<emphasis role=\"strong\">예.</emphasis> <literal>validate</literal> | <literal>update</literal> | <literal>create</literal> | <literal>create-drop</literal>"
+#. Tag: para
+#: configuration.xml:977
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>validate</literal> | "
+"<literal>update</literal> | <literal>create</literal> | <literal>create-"
+"drop</literal>"
+msgstr ""
+"<emphasis role=\"strong\">예.</emphasis><literal>validate</literal> | "
+"<literal>update</literal> | <literal>create</literal> | <literal>create-"
+"drop</literal>"
 
-#: index.docbook:986
+#. Tag: literal
+#: configuration.xml:986
+#, no-c-format
 msgid "hibernate.cglib.use_reflection_optimizer"
 msgstr "hibernate.cglib.use_reflection_optimizer"
 
-#: index.docbook:988
-msgid "Enables use of CGLIB instead of runtime reflection (System-level property). Reflection can sometimes be useful when troubleshooting, note that Hibernate always requires CGLIB even if you turn off the optimizer. You can not set this property in <literal>hibernate.cfg.xml</literal>."
-msgstr "런타임 reflection 대신에 CGLIB의 사용을 가능하도록 만든다(시스템 레벨 프로퍼티). Reflection은 문제가 발생할 시에 때때로 유용할 수 있고, 당신이 optimizer를 사용하지 않을 경우조차도 Hibernate는 항상 필요로 함을 유의하라. 당신은 <literal>hibernate.cfg.xml</literal> 속에 이 프로퍼티를 설정할수 없다."
+#. Tag: entry
+#: configuration.xml:988
+#, fuzzy, no-c-format
+msgid ""
+"Enables use of CGLIB instead of runtime reflection (System-level property). "
+"Reflection can sometimes be useful when troubleshooting, note that Hibernate "
+"always requires CGLIB even if you turn off the optimizer. You can not set "
+"this property in <literal>hibernate.cfg.xml</literal>."
+msgstr ""
+"런타임 reflection 대신에 CGLIB의 사용을 가능하도록 만든다(시스템 레벨 프로퍼"
+"티). Reflection은 문제가 발생할 시에 때때로 유용할 수 있고, 당신이 optimizer"
+"를 사용하지 않을 경우조차도 Hibernate는 항상 필요로 함을 유의하라. 당신은 "
+"<placeholder-1/> 속에 이 프로퍼티를 설정할수 없다. <placeholder-2/>"
 
-#: index.docbook:1004
+#. Tag: title
+#: configuration.xml:1004
+#, no-c-format
 msgid "SQL Dialects"
 msgstr "SQL Dialects"
 
-#: index.docbook:1006
-msgid "You should always set the <literal>hibernate.dialect</literal> property to the correct <literal>org.hibernate.dialect.Dialect</literal> subclass for your database. If you specify a dialect, Hibernate will use sensible defaults for some of the other properties listed above, saving you the effort of specifying them manually."
-msgstr "당신은 항상 당신의 데이터베이스를 위해 <literal>hibernate.dialect</literal> 프로퍼티를 정확한 <literal>org.hibernate.dialect.Dialect</literal> 서브클래스로 설정해야 한다. 만일 당신이 dialect를 지정할 경우, 당신이 프로퍼티들을 수작업으로 지정하는 노력을 절약하도록 Hibernate는 위에 열거된 다른 프로퍼티들 중 몇몇에 대해 의미있는 디폴트들을 사용할 것이다."
+#. Tag: para
+#: configuration.xml:1006
+#, no-c-format
+msgid ""
+"You should always set the <literal>hibernate.dialect</literal> property to "
+"the correct <literal>org.hibernate.dialect.Dialect</literal> subclass for "
+"your database. If you specify a dialect, Hibernate will use sensible "
+"defaults for some of the other properties listed above, saving you the "
+"effort of specifying them manually."
+msgstr ""
+"당신은 항상 당신의 데이터베이스를 위해 <literal>hibernate.dialect</literal> "
+"프로퍼티를 정확한 <literal>org.hibernate.dialect.Dialect</literal> 서브클래스"
+"로 설정해야 한다. 만일 당신이 dialect를 지정할 경우, 당신이 프로퍼티들을 수작"
+"업으로 지정하는 노력을 절약하도록 Hibernate는 위에 열거된 다른 프로퍼티들 중 "
+"몇몇에 대해 의미있는 디폴트들을 사용할 것이다."
 
-#: index.docbook:1014
+#. Tag: title
+#: configuration.xml:1014
+#, no-c-format
 msgid "Hibernate SQL Dialects (<literal>hibernate.dialect</literal>)"
 msgstr "Hibernate SQL Dialects (<literal>hibernate.dialect</literal>)"
 
-#: index.docbook:1022
+#. Tag: entry
+#: configuration.xml:1022
+#, no-c-format
 msgid "RDBMS"
 msgstr "RDBMS"
 
-#: index.docbook:1023
+#. Tag: entry
+#: configuration.xml:1023
+#, no-c-format
 msgid "Dialect"
 msgstr "Dialect"
 
-#: index.docbook:1028
+#. Tag: entry
+#: configuration.xml:1028
+#, no-c-format
 msgid "<entry>DB2</entry>"
-msgstr "<entry>DB2</entry>"
+msgstr ""
 
-#: index.docbook:1028
+#. Tag: literal
+#: configuration.xml:1028
+#, no-c-format
 msgid "org.hibernate.dialect.DB2Dialect"
 msgstr "org.hibernate.dialect.DB2Dialect"
 
-#: index.docbook:1031
+#. Tag: entry
+#: configuration.xml:1031
+#, no-c-format
 msgid "DB2 AS/400"
 msgstr "DB2 AS/400"
 
-#: index.docbook:1031
+#. Tag: literal
+#: configuration.xml:1031
+#, no-c-format
 msgid "org.hibernate.dialect.DB2400Dialect"
 msgstr "org.hibernate.dialect.DB2400Dialect"
 
-#: index.docbook:1034
+#. Tag: entry
+#: configuration.xml:1034
+#, no-c-format
 msgid "DB2 OS390"
 msgstr "DB2 OS390"
 
-#: index.docbook:1034
+#. Tag: literal
+#: configuration.xml:1034
+#, no-c-format
 msgid "org.hibernate.dialect.DB2390Dialect"
 msgstr "org.hibernate.dialect.DB2390Dialect"
 
-#: index.docbook:1037
+#. Tag: entry
+#: configuration.xml:1037
+#, no-c-format
 msgid "PostgreSQL"
 msgstr "PostgreSQL"
 
-#: index.docbook:1037
+#. Tag: literal
+#: configuration.xml:1037
+#, no-c-format
 msgid "org.hibernate.dialect.PostgreSQLDialect"
 msgstr "org.hibernate.dialect.PostgreSQLDialect"
 
-#: index.docbook:1040
+#. Tag: entry
+#: configuration.xml:1040
+#, no-c-format
 msgid "MySQL"
 msgstr "MySQL"
 
-#: index.docbook:1040
+#. Tag: literal
+#: configuration.xml:1040
+#, no-c-format
 msgid "org.hibernate.dialect.MySQLDialect"
 msgstr "org.hibernate.dialect.MySQLDialect"
 
-#: index.docbook:1043
+#. Tag: entry
+#: configuration.xml:1043
+#, no-c-format
 msgid "MySQL with InnoDB"
 msgstr "MySQL with InnoDB"
 
-#: index.docbook:1043
+#. Tag: literal
+#: configuration.xml:1043
+#, no-c-format
 msgid "org.hibernate.dialect.MySQLInnoDBDialect"
 msgstr "org.hibernate.dialect.MySQLInnoDBDialect"
 
-#: index.docbook:1046
+#. Tag: entry
+#: configuration.xml:1046
+#, no-c-format
 msgid "MySQL with MyISAM"
 msgstr "MySQL with MyISAM"
 
-#: index.docbook:1046
+#. Tag: literal
+#: configuration.xml:1046
+#, no-c-format
 msgid "org.hibernate.dialect.MySQLMyISAMDialect"
 msgstr "org.hibernate.dialect.MySQLMyISAMDialect"
 
-#: index.docbook:1049
+#. Tag: entry
+#: configuration.xml:1049
+#, no-c-format
 msgid "Oracle (any version)"
 msgstr "Oracle (any version)"
 
-#: index.docbook:1049
+#. Tag: literal
+#: configuration.xml:1049
+#, no-c-format
 msgid "org.hibernate.dialect.OracleDialect"
 msgstr "org.hibernate.dialect.OracleDialect"
 
-#: index.docbook:1052
+#. Tag: entry
+#: configuration.xml:1052
+#, no-c-format
 msgid "Oracle 9i/10g"
 msgstr "Oracle 9i/10g"
 
-#: index.docbook:1052
+#. Tag: literal
+#: configuration.xml:1052
+#, no-c-format
 msgid "org.hibernate.dialect.Oracle9Dialect"
 msgstr "org.hibernate.dialect.Oracle9Dialect"
 
-#: index.docbook:1055
+#. Tag: entry
+#: configuration.xml:1055
+#, no-c-format
 msgid "Sybase"
 msgstr "Sybase"
 
-#: index.docbook:1055
+#. Tag: literal
+#: configuration.xml:1055
+#, no-c-format
 msgid "org.hibernate.dialect.SybaseDialect"
 msgstr "org.hibernate.dialect.SybaseDialect"
 
-#: index.docbook:1058
+#. Tag: entry
+#: configuration.xml:1058
+#, no-c-format
 msgid "Sybase Anywhere"
 msgstr "Sybase Anywhere"
 
-#: index.docbook:1058
+#. Tag: literal
+#: configuration.xml:1058
+#, no-c-format
 msgid "org.hibernate.dialect.SybaseAnywhereDialect"
 msgstr "org.hibernate.dialect.SybaseAnywhereDialect"
 
-#: index.docbook:1061
+#. Tag: entry
+#: configuration.xml:1061
+#, no-c-format
 msgid "Microsoft SQL Server"
 msgstr "Microsoft SQL Server"
 
-#: index.docbook:1061
+#. Tag: literal
+#: configuration.xml:1061
+#, no-c-format
 msgid "org.hibernate.dialect.SQLServerDialect"
 msgstr "org.hibernate.dialect.SQLServerDialect"
 
-#: index.docbook:1064
+#. Tag: entry
+#: configuration.xml:1064
+#, no-c-format
 msgid "SAP DB"
 msgstr "SAP DB"
 
-#: index.docbook:1064
+#. Tag: literal
+#: configuration.xml:1064
+#, no-c-format
 msgid "org.hibernate.dialect.SAPDBDialect"
 msgstr "org.hibernate.dialect.SAPDBDialect"
 
-#: index.docbook:1067
+#. Tag: entry
+#: configuration.xml:1067
+#, no-c-format
 msgid "Informix"
 msgstr "Informix"
 
-#: index.docbook:1067
+#. Tag: literal
+#: configuration.xml:1067
+#, no-c-format
 msgid "org.hibernate.dialect.InformixDialect"
 msgstr "org.hibernate.dialect.InformixDialect"
 
-#: index.docbook:1070
+#. Tag: entry
+#: configuration.xml:1070
+#, no-c-format
 msgid "HypersonicSQL"
 msgstr "HypersonicSQL"
 
-#: index.docbook:1070
+#. Tag: literal
+#: configuration.xml:1070
+#, no-c-format
 msgid "org.hibernate.dialect.HSQLDialect"
 msgstr "org.hibernate.dialect.HSQLDialect"
 
-#: index.docbook:1073
+#. Tag: entry
+#: configuration.xml:1073
+#, no-c-format
 msgid "Ingres"
 msgstr "Ingres"
 
-#: index.docbook:1073
+#. Tag: literal
+#: configuration.xml:1073
+#, no-c-format
 msgid "org.hibernate.dialect.IngresDialect"
 msgstr "org.hibernate.dialect.IngresDialect"
 
-#: index.docbook:1076
+#. Tag: entry
+#: configuration.xml:1076
+#, no-c-format
 msgid "Progress"
 msgstr "Progress"
 
-#: index.docbook:1076
+#. Tag: literal
+#: configuration.xml:1076
+#, no-c-format
 msgid "org.hibernate.dialect.ProgressDialect"
 msgstr "org.hibernate.dialect.ProgressDialect"
 
-#: index.docbook:1079
+#. Tag: entry
+#: configuration.xml:1079
+#, no-c-format
 msgid "Mckoi SQL"
 msgstr "Mckoi SQL"
 
-#: index.docbook:1079
+#. Tag: literal
+#: configuration.xml:1079
+#, no-c-format
 msgid "org.hibernate.dialect.MckoiDialect"
 msgstr "org.hibernate.dialect.MckoiDialect"
 
-#: index.docbook:1082
+#. Tag: entry
+#: configuration.xml:1082
+#, no-c-format
 msgid "Interbase"
 msgstr "Interbase"
 
-#: index.docbook:1082
+#. Tag: literal
+#: configuration.xml:1082
+#, no-c-format
 msgid "org.hibernate.dialect.InterbaseDialect"
 msgstr "org.hibernate.dialect.InterbaseDialect"
 
-#: index.docbook:1085
+#. Tag: entry
+#: configuration.xml:1085
+#, no-c-format
 msgid "Pointbase"
 msgstr "Pointbase"
 
-#: index.docbook:1085
+#. Tag: literal
+#: configuration.xml:1085
+#, no-c-format
 msgid "org.hibernate.dialect.PointbaseDialect"
 msgstr "org.hibernate.dialect.PointbaseDialect"
 
-#: index.docbook:1088
+#. Tag: entry
+#: configuration.xml:1088
+#, no-c-format
 msgid "FrontBase"
 msgstr "FrontBase"
 
-#: index.docbook:1088
+#. Tag: literal
+#: configuration.xml:1088
+#, no-c-format
 msgid "org.hibernate.dialect.FrontbaseDialect"
 msgstr "org.hibernate.dialect.FrontbaseDialect"
 
-#: index.docbook:1091
+#. Tag: entry
+#: configuration.xml:1091
+#, no-c-format
 msgid "Firebird"
 msgstr "Firebird"
 
-#: index.docbook:1091
+#. Tag: literal
+#: configuration.xml:1091
+#, no-c-format
 msgid "org.hibernate.dialect.FirebirdDialect"
 msgstr "org.hibernate.dialect.FirebirdDialect"
 
-#: index.docbook:1100
+#. Tag: title
+#: configuration.xml:1100
+#, no-c-format
 msgid "Outer Join Fetching"
 msgstr "Outer Join Fetching"
 
-#: index.docbook:1102
-msgid "If your database supports ANSI, Oracle or Sybase style outer joins, <emphasis>outer join fetching</emphasis> will often increase performance by limiting the number of round trips to and from the database (at the cost of possibly more work performed by the database itself). Outer join fetching allows a whole graph of objects connected by many-to-one, one-to-many, many-to-many and one-to-one associations to be retrieved in a single SQL <literal>SELECT</literal>."
-msgstr "만일 당신의 데이터베이스가 ANSI, Oracle, 또는 Sybase 스타일의 outer join들을 지원할 경우, <emphasis>outer join fetching</emphasis>은 (데이터베이스 그 자체에 의해 보다 더 많은 작업이 수행되는 비용으로) 데이터베이스로의 그리고 데이터베이스로부터의 라운드 트립들의 개수를 제한함으로써 종종 퍼포먼스를 증가시킬 것이다. Outer join fetching은 many-to-one, one-to-many, many-to-many,one-to-one 연관관계들이 에 의해 연결된 객체들의 전체 그래프가 하나의 SQL <literal>SELECT</literal> 속에서 검색되게끔 허용해준다."
+#. Tag: para
+#: configuration.xml:1102
+#, no-c-format
+msgid ""
+"If your database supports ANSI, Oracle or Sybase style outer joins, "
+"<emphasis>outer join fetching</emphasis> will often increase performance by "
+"limiting the number of round trips to and from the database (at the cost of "
+"possibly more work performed by the database itself). Outer join fetching "
+"allows a whole graph of objects connected by many-to-one, one-to-many, many-"
+"to-many and one-to-one associations to be retrieved in a single SQL "
+"<literal>SELECT</literal>."
+msgstr ""
+"만일 당신의 데이터베이스가 ANSI, Oracle, 또는 Sybase 스타일의 outer join들을 "
+"지원할 경우, <emphasis>outer join fetching</emphasis>은 (데이터베이스 그 자체"
+"에 의해 보다 더 많은 작업이 수행되는 비용으로) 데이터베이스로의 그리고 데이터"
+"베이스로부터의 라운드 트립들의 개수를 제한함으로써 종종 퍼포먼스를 증가시킬 "
+"것이다. Outer join fetching은 many-to-one, one-to-many, many-to-many,one-to-"
+"one 연관관계들이 에 의해 연결된 객체들의 전체 그래프가 하나의 SQL "
+"<literal>SELECT</literal> 속에서 검색되게끔 허용해준다."
 
-#: index.docbook:1111
-msgid "Outer join fetching may be disabled <emphasis>globally</emphasis> by setting the property <literal>hibernate.max_fetch_depth</literal> to <literal>0</literal>. A setting of <literal>1</literal> or higher enables outer join fetching for one-to-one and many-to-one associations which have been mapped with <literal>fetch=\"join\"</literal>."
-msgstr "Outer join fetching은 hibernate.max_fetch_depth 프로퍼티를 <literal>0</literal>으로 설정함으로써 <emphasis>전역적으로</emphasis> 사용 불가능하게 할 수 있다. <literal>1</literal> 이상의 값을 설정하는 것은 <literal>fetch=\"join\"</literal>으로 매핑되었던 모든 one-to-one 및 many-to-one 연관관계들에 대해 outer join fetching을 사용 가능하도록 만든다."
+#. Tag: para
+#: configuration.xml:1111
+#, no-c-format
+msgid ""
+"Outer join fetching may be disabled <emphasis>globally</emphasis> by setting "
+"the property <literal>hibernate.max_fetch_depth</literal> to <literal>0</"
+"literal>. A setting of <literal>1</literal> or higher enables outer join "
+"fetching for one-to-one and many-to-one associations which have been mapped "
+"with <literal>fetch=\"join\"</literal>."
+msgstr ""
+"Outer join fetching은 hibernate.max_fetch_depth 프로퍼티를 <literal>0</"
+"literal>으로 설정함으로써 <emphasis>전역적으로</emphasis> 사용 불가능하게 할 "
+"수 있다. <literal>1</literal> 이상의 값을 설정하는 것은 <literal>fetch=\"join"
+"\"</literal>으로 매핑되었던 모든 one-to-one 및 many-to-one 연관관계들에 대해 "
+"outer join fetching을 사용 가능하도록 만든다."
 
-#: index.docbook:1119
+#. Tag: para
+#: configuration.xml:1119
+#, no-c-format
 msgid "See <xref linkend=\"performance-fetching\"/> for more information."
 msgstr "추가 정보는 <xref linkend=\"performance-fetching\"/>를 보라."
 
-#: index.docbook:1126
+#. Tag: title
+#: configuration.xml:1126
+#, no-c-format
 msgid "Binary Streams"
 msgstr "Binary Streams"
 
-#: index.docbook:1128
-msgid "Oracle limits the size of <literal>byte</literal> arrays that may be passed to/from its JDBC driver. If you wish to use large instances of <literal>binary</literal> or <literal>serializable</literal> type, you should enable <literal>hibernate.jdbc.use_streams_for_binary</literal>. <emphasis>This is a system-level setting only.</emphasis>"
-msgstr "Oracle은 JDBC 드라이버 로/부터 전달되는 <literal>byte</literal> 배열들의 크기를 제한시킨다. 만일 당신이 <literal>binary</literal> 또는 <literal>serializable</literal> 타입의 대형 인스턴스를 사용하고자 원할 경우에, 당신은 <literal>hibernate.jdbc.use_streams_for_binary</literal>를 사용 가능하게 해야 할 것이다. <emphasis>이것은 오직 시스템 레벨 설정이다.</emphasis>"
+#. Tag: para
+#: configuration.xml:1128
+#, no-c-format
+msgid ""
+"Oracle limits the size of <literal>byte</literal> arrays that may be passed "
+"to/from its JDBC driver. If you wish to use large instances of "
+"<literal>binary</literal> or <literal>serializable</literal> type, you "
+"should enable <literal>hibernate.jdbc.use_streams_for_binary</literal>. "
+"<emphasis>This is a system-level setting only.</emphasis>"
+msgstr ""
+"Oracle은 JDBC 드라이버 로/부터 전달되는 <literal>byte</literal> 배열들의 크기"
+"를 제한시킨다. 만일 당신이 <literal>binary</literal> 또는 "
+"<literal>serializable</literal> 타입의 대형 인스턴스를 사용하고자 원할 경우"
+"에, 당신은 <literal>hibernate.jdbc.use_streams_for_binary</literal>를 사용 가"
+"능하게 해야 할 것이다. <emphasis>이것은 오직 시스템 레벨 설정이다.</emphasis>"
 
-#: index.docbook:1139
+#. Tag: title
+#: configuration.xml:1139
+#, no-c-format
 msgid "Second-level and query cache"
 msgstr "Second-level 캐시와 query 캐시"
 
-#: index.docbook:1141
-msgid "The properties prefixed by <literal>hibernate.cache</literal> allow you to use a process or cluster scoped second-level cache system with Hibernate. See the <xref linkend=\"performance-cache\"/> for more details."
-msgstr "<literal>hibernate.cache</literal> 접두어가 붙은 프로퍼티들은 Hibernate에 대해 프로세스 또는 클러스터 범위의 두 번째 레벨 캐시 시스템을 사용하는 것을 허용해준다. 상세한 것은 <xref linkend=\"performance-cache\"/>를 보라."
+#. Tag: para
+#: configuration.xml:1141
+#, no-c-format
+msgid ""
+"The properties prefixed by <literal>hibernate.cache</literal> allow you to "
+"use a process or cluster scoped second-level cache system with Hibernate. "
+"See the <xref linkend=\"performance-cache\"/> for more details."
+msgstr ""
+"<literal>hibernate.cache</literal> 접두어가 붙은 프로퍼티들은 Hibernate에 대"
+"해 프로세스 또는 클러스터 범위의 두 번째 레벨 캐시 시스템을 사용하는 것을 허"
+"용해준다. 상세한 것은 <xref linkend=\"performance-cache\"/>를 보라."
 
-#: index.docbook:1151
+#. Tag: title
+#: configuration.xml:1151
+#, no-c-format
 msgid "Query Language Substitution"
 msgstr "Query Language 치환"
 
-#: index.docbook:1153
-msgid "You may define new Hibernate query tokens using <literal>hibernate.query.substitutions</literal>. For example:"
-msgstr "당신은 <literal>hibernate.query.substitutions</literal>을 사용하여 새로운 Hibernate 질의 토큰들을 정의할 수 있다. 예를 들어:"
+#. Tag: para
+#: configuration.xml:1153
+#, no-c-format
+msgid ""
+"You may define new Hibernate query tokens using <literal>hibernate.query."
+"substitutions</literal>. For example:"
+msgstr ""
+"당신은 <literal>hibernate.query.substitutions</literal>을 사용하여 새로운 "
+"Hibernate 질의 토큰들을 정의할 수 있다. 예를 들어:"
 
-#: index.docbook:1158
+#. Tag: programlisting
+#: configuration.xml:1158
+#, no-c-format
 msgid "hibernate.query.substitutions true=1, false=0"
 msgstr "hibernate.query.substitutions true=1, false=0"
 
-#: index.docbook:1160
-msgid "would cause the tokens <literal>true</literal> and <literal>false</literal> to be translated to integer literals in the generated SQL."
-msgstr "은<literal>true</literal>와 <literal>false</literal> 토큰들이 생성된 SQL 내에서 정수 리터럴들로 번역되도록 강제할 것이다."
+#. Tag: para
+#: configuration.xml:1160
+#, no-c-format
+msgid ""
+"would cause the tokens <literal>true</literal> and <literal>false</literal> "
+"to be translated to integer literals in the generated SQL."
+msgstr ""
+"은<literal>true</literal>와 <literal>false</literal> 토큰들이 생성된 SQL 내에"
+"서 정수 리터럴들로 번역되도록 강제할 것이다."
 
-#: index.docbook:1165
+#. Tag: programlisting
+#: configuration.xml:1165
+#, no-c-format
 msgid "hibernate.query.substitutions toLowercase=LOWER"
 msgstr "hibernate.query.substitutions toLowercase=LOWER"
 
-#: index.docbook:1167
+#. Tag: para
+#: configuration.xml:1167
+#, no-c-format
 msgid "would allow you to rename the SQL <literal>LOWER</literal> function."
-msgstr "은 SQL <literal>LOWER</literal> function 함수 이름을 변경하는 것을 당신에게 허용해 줄 것이다"
+msgstr ""
+"은 SQL <literal>LOWER</literal> function 함수 이름을 변경하는 것을 당신에게 "
+"허용해 줄 것이다"
 
-#: index.docbook:1174
+#. Tag: title
+#: configuration.xml:1174
+#, no-c-format
 msgid "Hibernate statistics"
 msgstr "Hibernate 통계"
 
-#: index.docbook:1176
-msgid "If you enable <literal>hibernate.generate_statistics</literal>, Hibernate will expose a number of metrics that are useful when tuning a running system via <literal>SessionFactory.getStatistics()</literal>. Hibernate can even be configured to expose these statistics via JMX. Read the Javadoc of the interfaces in <literal>org.hibernate.stats</literal> for more information."
-msgstr "만일 당신이 <literal>hibernate.generate_statistics</literal>를 사용 가능하도록 할 경우, Hibernate는 <literal>SessionFactory.getStatistics()</literal>를 통해 가동 중인 시스템을 튜닝할 때 유용한 많은 통계들을 노출시킬 것이다. Hibernate는 심지어 JMX를 통해 이들 통계들을 노출시키도록 구성될 수 있다. 추가 정보는 <literal>org.hibernate.stats</literal>에 있는 인터페이스들에 관한 Javadoc를 읽어라."
+#. Tag: para
+#: configuration.xml:1176
+#, no-c-format
+msgid ""
+"If you enable <literal>hibernate.generate_statistics</literal>, Hibernate "
+"will expose a number of metrics that are useful when tuning a running system "
+"via <literal>SessionFactory.getStatistics()</literal>. Hibernate can even be "
+"configured to expose these statistics via JMX. Read the Javadoc of the "
+"interfaces in <literal>org.hibernate.stats</literal> for more information."
+msgstr ""
+"만일 당신이 <literal>hibernate.generate_statistics</literal>를 사용 가능하도"
+"록 할 경우, Hibernate는 <literal>SessionFactory.getStatistics()</literal>를 "
+"통해 가동 중인 시스템을 튜닝할 때 유용한 많은 통계들을 노출시킬 것이다. "
+"Hibernate는 심지어 JMX를 통해 이들 통계들을 노출시키도록 구성될 수 있다. 추"
+"가 정보는 <literal>org.hibernate.stats</literal>에 있는 인터페이스들에 관한 "
+"Javadoc를 읽어라."
 
-#: index.docbook:1188
+#. Tag: title
+#: configuration.xml:1188
+#, no-c-format
 msgid "Logging"
-msgstr "<title>로깅</title>"
+msgstr "로깅"
 
-#: index.docbook:1190
+#. Tag: para
+#: configuration.xml:1190
+#, no-c-format
 msgid "Hibernate logs various events using Apache commons-logging."
-msgstr "Hibernate는 Apache commons-logging를 사용하여 다양한 이벤트들을 로그시킨다."
+msgstr ""
+"Hibernate는 Apache commons-logging를 사용하여 다양한 이벤트들을 로그시킨다."
 
-#: index.docbook:1194
-msgid "The commons-logging service will direct output to either Apache Log4j (if you include <literal>log4j.jar</literal> in your classpath) or JDK1.4 logging (if running under JDK1.4 or above). You may download Log4j from <literal>http://jakarta.apache.org</literal>. To use Log4j you will need to place a <literal>log4j.properties</literal> file in your classpath, an example properties file is distributed with Hibernate in the <literal>src/</literal> directory."
-msgstr "commons-logging 서비스는 (만일 당신이 classpath 내에 <literal>log4j.jar</literal>를 포함할 경우) Apache Log4j로 또는 (JDK1.4 이상의 버전에서 실행될 경우) JDK 1.4 로깅으로 직접 출력할 것이다. 당신은 <literal>http://jakarta.apache.org</literal>에서 Log4j를 다운로드 할 수 있다. Log4j를 사용하기 위해, 당신은 <literal>log4j.properties</literal> 파일을 당신의 classpath 내에 위치지울 필요가 있을 것이고, 예제 properties 파일은 Hibernate의 <literal>src/</literal> 디렉토리 내에 배포되어 있다."
+#. Tag: para
+#: configuration.xml:1194
+#, no-c-format
+msgid ""
+"The commons-logging service will direct output to either Apache Log4j (if "
+"you include <literal>log4j.jar</literal> in your classpath) or JDK1.4 "
+"logging (if running under JDK1.4 or above). You may download Log4j from "
+"<literal>http://jakarta.apache.org</literal>. To use Log4j you will need to "
+"place a <literal>log4j.properties</literal> file in your classpath, an "
+"example properties file is distributed with Hibernate in the <literal>src/</"
+"literal> directory."
+msgstr ""
+"commons-logging 서비스는 (만일 당신이 classpath 내에 <literal>log4j.jar</"
+"literal>를 포함할 경우) Apache Log4j로 또는 (JDK1.4 이상의 버전에서 실행될 경"
+"우) JDK 1.4 로깅으로 직접 출력할 것이다. 당신은 <literal>http://jakarta."
+"apache.org</literal>에서 Log4j를 다운로드 할 수 있다. Log4j를 사용하기 위해, "
+"당신은 <literal>log4j.properties</literal> 파일을 당신의 classpath 내에 위치"
+"지울 필요가 있을 것이고, 예제 properties 파일은 Hibernate의 <literal>src/</"
+"literal> 디렉토리 내에 배포되어 있다."
 
-#: index.docbook:1204
-msgid "We strongly recommend that you familiarize yourself with Hibernate's log messages. A lot of work has been put into making the Hibernate log as detailed as possible, without making it unreadable. It is an essential troubleshooting device. The most interesting log categories are the following:"
-msgstr "우리는 당신이 Hibernate의 로그 메시지들에 익숙해지기를 강력히 권장한다. 읽기 불가능하지 않게끔 가능한 한 상세하게 Hibernate 로그를 만들도록 많은 작업이 행해졌다. 그것은 본질적인 문제던지기 장치이다. 가장 흥미로운 로그 카테고리들이 다음에 있다:"
+#. Tag: para
+#: configuration.xml:1204
+#, no-c-format
+msgid ""
+"We strongly recommend that you familiarize yourself with Hibernate's log "
+"messages. A lot of work has been put into making the Hibernate log as "
+"detailed as possible, without making it unreadable. It is an essential "
+"troubleshooting device. The most interesting log categories are the "
+"following:"
+msgstr ""
+"우리는 당신이 Hibernate의 로그 메시지들에 익숙해지기를 강력히 권장한다. 읽기 "
+"불가능하지 않게끔 가능한 한 상세하게 Hibernate 로그를 만들도록 많은 작업이 행"
+"해졌다. 그것은 본질적인 문제던지기 장치이다. 가장 흥미로운 로그 카테고리들이 "
+"다음에 있다:"
 
-#: index.docbook:1213
+#. Tag: title
+#: configuration.xml:1213
+#, no-c-format
 msgid "Hibernate Log Categories"
 msgstr "Hibernate 로그 카테고리들"
 
-#: index.docbook:1219
+#. Tag: entry
+#: configuration.xml:1219
+#, no-c-format
 msgid "Category"
 msgstr "카테고리"
 
-#: index.docbook:1220
+#. Tag: entry
+#: configuration.xml:1220
+#, no-c-format
 msgid "Function"
-msgstr "<entry>기능</entry>"
+msgstr "기능"
 
-#: index.docbook:1225
+#. Tag: literal
+#: configuration.xml:1225
+#, no-c-format
 msgid "org.hibernate.SQL"
 msgstr "org.hibernate.SQL"
 
-#: index.docbook:1226
+#. Tag: entry
+#: configuration.xml:1226
+#, no-c-format
 msgid "Log all SQL DML statements as they are executed"
 msgstr "SQL DML 문장들이 실행될 때 그것들 모두를 로그 시킨다"
 
-#: index.docbook:1229
+#. Tag: literal
+#: configuration.xml:1229
+#, no-c-format
 msgid "org.hibernate.type"
 msgstr "org.hibernate.type"
 
-#: index.docbook:1230
+#. Tag: entry
+#: configuration.xml:1230
+#, no-c-format
 msgid "Log all JDBC parameters"
 msgstr "모든 JDBC 파라미터들을 로그시킨다"
 
-#: index.docbook:1233
+#. Tag: literal
+#: configuration.xml:1233
+#, no-c-format
 msgid "org.hibernate.tool.hbm2ddl"
 msgstr "org.hibernate.tool.hbm2ddl"
 
-#: index.docbook:1234
+#. Tag: entry
+#: configuration.xml:1234
+#, no-c-format
 msgid "Log all SQL DDL statements as they are executed"
 msgstr "SQL DDL 문장들이 실행될 때 그것들 모두를 로그 시킨다"
 
-#: index.docbook:1237
+#. Tag: literal
+#: configuration.xml:1237
+#, no-c-format
 msgid "org.hibernate.pretty"
 msgstr "org.hibernate.pretty"
 
-#: index.docbook:1238
-msgid "Log the state of all entities (max 20 entities) associated with the session at flush time"
-msgstr "flush 시점에서 세션과 연관된 모든 엔티티들(최대 20개의 엔티티들)의 상태를 로그 시킨다"
+#. Tag: entry
+#: configuration.xml:1238
+#, no-c-format
+msgid ""
+"Log the state of all entities (max 20 entities) associated with the session "
+"at flush time"
+msgstr ""
+"flush 시점에서 세션과 연관된 모든 엔티티들(최대 20개의 엔티티들)의 상태를 로"
+"그 시킨다"
 
-#: index.docbook:1244
+#. Tag: literal
+#: configuration.xml:1244
+#, no-c-format
 msgid "org.hibernate.cache"
 msgstr "org.hibernate.cache"
 
-#: index.docbook:1245
+#. Tag: entry
+#: configuration.xml:1245
+#, no-c-format
 msgid "Log all second-level cache activity"
 msgstr "모든 second-level 캐시 액티비티를 로그시킨다"
 
-#: index.docbook:1248
+#. Tag: literal
+#: configuration.xml:1248
+#, no-c-format
 msgid "org.hibernate.transaction"
 msgstr "org.hibernate.transaction"
 
-#: index.docbook:1249
+#. Tag: entry
+#: configuration.xml:1249
+#, no-c-format
 msgid "Log transaction related activity"
 msgstr "트랜잭션 관련 액티비티를 로그 시킨다"
 
-#: index.docbook:1252
+#. Tag: literal
+#: configuration.xml:1252
+#, no-c-format
 msgid "org.hibernate.jdbc"
 msgstr "org.hibernate.jdbc"
 
-#: index.docbook:1253
+#. Tag: entry
+#: configuration.xml:1253
+#, no-c-format
 msgid "Log all JDBC resource acquisition"
 msgstr "모든 JDBC 리소스 취득을 로그 시킨다"
 
-#: index.docbook:1256
+#. Tag: literal
+#: configuration.xml:1256
+#, no-c-format
 msgid "org.hibernate.hql.ast.AST"
 msgstr "org.hibernate.hql.ast.AST"
 
-#: index.docbook:1257
+#. Tag: entry
+#: configuration.xml:1257
+#, no-c-format
 msgid "Log HQL and SQL ASTs during query parsing"
 msgstr "질의 파싱 동안에 HQL AST와 SQL AST를 로그시킨다"
 
-#: index.docbook:1262
+#. Tag: literal
+#: configuration.xml:1262
+#, no-c-format
 msgid "org.hibernate.secure"
 msgstr "org.hibernate.secure"
 
-#: index.docbook:1263
+#. Tag: entry
+#: configuration.xml:1263
+#, no-c-format
 msgid "Log all JAAS authorization requests"
 msgstr "모든 JAAS 허가 요청들을 로그시킨다"
 
-#: index.docbook:1266
+#. Tag: literal
+#: configuration.xml:1266
+#, no-c-format
 msgid "org.hibernate"
 msgstr "org.hibernate"
 
-#: index.docbook:1267
-msgid "Log everything (a lot of information, but very useful for troubleshooting)"
+#. Tag: entry
+#: configuration.xml:1267
+#, no-c-format
+msgid ""
+"Log everything (a lot of information, but very useful for troubleshooting)"
 msgstr "모든 것을 로그시킨다(많은 정보이지만, 문제해결에 매우 유용하다)"
 
-#: index.docbook:1276
-msgid "When developing applications with Hibernate, you should almost always work with <literal>debug</literal> enabled for the category <literal>org.hibernate.SQL</literal>, or, alternatively, the property <literal>hibernate.show_sql</literal> enabled."
-msgstr "Hibernate로 어플리케이션들을 개발할 때, 당신은 거의 항상 <literal>org.hibernate.SQL</literal> 카테고리에 대해 이용 가능한 <literal>debug</literal> 모드로 작업하거나, 다른 방법으로 <literal>hibernate.show_sql</literal> 프로퍼티를 이용가능하게 하여 작업해야 할 것이다."
+#. Tag: para
+#: configuration.xml:1276
+#, no-c-format
+msgid ""
+"When developing applications with Hibernate, you should almost always work "
+"with <literal>debug</literal> enabled for the category <literal>org."
+"hibernate.SQL</literal>, or, alternatively, the property <literal>hibernate."
+"show_sql</literal> enabled."
+msgstr ""
+"Hibernate로 어플리케이션들을 개발할 때, 당신은 거의 항상 <literal>org."
+"hibernate.SQL</literal> 카테고리에 대해 이용 가능한 <literal>debug</literal> "
+"모드로 작업하거나, 다른 방법으로 <literal>hibernate.show_sql</literal> 프로퍼"
+"티를 이용가능하게 하여 작업해야 할 것이다."
 
-#: index.docbook:1286
+#. Tag: title
+#: configuration.xml:1286
+#, no-c-format
 msgid "Implementing a <literal>NamingStrategy</literal>"
 msgstr "<literal>NamingStrategy</literal> 구현하기"
 
-#: index.docbook:1288
-msgid "The interface <literal>org.hibernate.cfg.NamingStrategy</literal> allows you to specify a \"naming standard\" for database objects and schema elements."
-msgstr "<literal>org.hibernate.cfg.NamingStrategy</literal> 인터페이스는 데이터베이스 객체들과 스키마 요소들에 대한 \"네이밍 표준\"을 지정하는 것을 당신에게 허용해준다."
+#. Tag: para
+#: configuration.xml:1288
+#, no-c-format
+msgid ""
+"The interface <literal>org.hibernate.cfg.NamingStrategy</literal> allows you "
+"to specify a \"naming standard\" for database objects and schema elements."
+msgstr ""
+"<literal>org.hibernate.cfg.NamingStrategy</literal> 인터페이스는 데이터베이"
+"스 객체들과 스키마 요소들에 대한 \"네이밍 표준\"을 지정하는 것을 당신에게 허"
+"용해준다."
 
-#: index.docbook:1293
-msgid "You may provide rules for automatically generating database identifiers from Java identifiers or for processing \"logical\" column and table names given in the mapping file into \"physical\" table and column names. This feature helps reduce the verbosity of the mapping document, eliminating repetitive noise (<literal>TBL_</literal> prefixes, for example). The default strategy used by Hibernate is quite minimal."
-msgstr "당신은 Java 식별자들로부터 데이터베이스 식별자들을 자동적으로 생성시키거나 매핑 파일에 주어진 \"논리적\" 컬럼과 테이블 이름들을 \"물리적\" 테이블과 컬럼 이름들로 자동적으로 처리하는 규칙들을 제공할 수 있다. 이 특징은 반복되는 잡음(예를 들어 <literal>TBL_</literal>접두어들)을 제거함으로써, 매핑 문서의 말많은 장황함을 감소시키도록 도와준다. Hibernate에 의해 사용되는 디폴트 방도는 아주 작은 작품이다."
+#. Tag: para
+#: configuration.xml:1293
+#, no-c-format
+msgid ""
+"You may provide rules for automatically generating database identifiers from "
+"Java identifiers or for processing \"logical\" column and table names given "
+"in the mapping file into \"physical\" table and column names. This feature "
+"helps reduce the verbosity of the mapping document, eliminating repetitive "
+"noise (<literal>TBL_</literal> prefixes, for example). The default strategy "
+"used by Hibernate is quite minimal."
+msgstr ""
+"당신은 Java 식별자들로부터 데이터베이스 식별자들을 자동적으로 생성시키거나 매"
+"핑 파일에 주어진 \"논리적\" 컬럼과 테이블 이름들을 \"물리적\" 테이블과 컬럼 "
+"이름들로 자동적으로 처리하는 규칙들을 제공할 수 있다. 이 특징은 반복되는 잡음"
+"(예를 들어 <literal>TBL_</literal>접두어들)을 제거함으로써, 매핑 문서의 말많"
+"은 장황함을 감소시키도록 도와준다. Hibernate에 의해 사용되는 디폴트 방도는 아"
+"주 작은 작품이다."
 
-#: index.docbook:1302
-msgid "You may specify a different strategy by calling <literal>Configuration.setNamingStrategy()</literal> before adding mappings:"
-msgstr "당신은 매핑들을 추가하기 이전에 <literal>Configuration.setNamingStrategy()</literal>를 호출함으로써 다른 방도를 지정할 수 있다:"
+#. Tag: para
+#: configuration.xml:1302
+#, no-c-format
+msgid ""
+"You may specify a different strategy by calling <literal>Configuration."
+"setNamingStrategy()</literal> before adding mappings:"
+msgstr ""
+"당신은 매핑들을 추가하기 이전에 <literal>Configuration.setNamingStrategy()</"
+"literal>를 호출함으로써 다른 방도를 지정할 수 있다:"
 
-#: index.docbook:1307
+#. Tag: programlisting
+#: configuration.xml:1307
+#, no-c-format
 msgid ""
-      "<![CDATA[SessionFactory sf = new Configuration()\n"
-      "    .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
-      "    .addFile(\"Item.hbm.xml\")\n"
-      "    .addFile(\"Bid.hbm.xml\")\n"
-      "    .buildSessionFactory();]]>"
+"<![CDATA[SessionFactory sf = new Configuration()\n"
+"    .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
+"    .addFile(\"Item.hbm.xml\")\n"
+"    .addFile(\"Bid.hbm.xml\")\n"
+"    .buildSessionFactory();]]>"
 msgstr ""
-      "<![CDATA[SessionFactory sf = new Configuration()\n"
-      "    .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
-      "    .addFile(\"Item.hbm.xml\")\n"
-      "    .addFile(\"Bid.hbm.xml\")\n"
-      "    .buildSessionFactory();]]>"
 
-#: index.docbook:1309
-msgid "<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal> is a built-in strategy that might be a useful starting point for some applications."
-msgstr "<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal>는 어떤 어플리케이션들에 대한 유용한 시작점일 수 있는 미리 빌드된 방도이다."
+#. Tag: para
+#: configuration.xml:1309
+#, no-c-format
+msgid ""
+"<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal> is a built-in "
+"strategy that might be a useful starting point for some applications."
+msgstr ""
+"<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal>는 어떤 어플리케이"
+"션들에 대한 유용한 시작점일 수 있는 미리 빌드된 방도이다."
 
-#: index.docbook:1317
+#. Tag: title
+#: configuration.xml:1317
+#, no-c-format
 msgid "XML configuration file"
 msgstr "XML 구성 파일"
 
-#: index.docbook:1319
-msgid "An alternative approach to configuration is to specify a full configuration in a file named <literal>hibernate.cfg.xml</literal>. This file can be used as a replacement for the <literal>hibernate.properties</literal> file or, if both are present, to override properties."
-msgstr "구성에 대한 다른 접근법은 <literal>hibernate.cfg.xml</literal>로 명명된 파일 속에 전체 구성을 지정하는 것이다. 이 파일은 <literal>hibernate.properties</literal> 파일에 대한 대용물로서 사용될 수 있거나, 만일 둘 다 존재할 경우에 프로퍼티들을 중복정의하는데 사용될 수 있다."
+#. Tag: para
+#: configuration.xml:1319
+#, no-c-format
+msgid ""
+"An alternative approach to configuration is to specify a full configuration "
+"in a file named <literal>hibernate.cfg.xml</literal>. This file can be used "
+"as a replacement for the <literal>hibernate.properties</literal> file or, if "
+"both are present, to override properties."
+msgstr ""
+"구성에 대한 다른 접근법은 <literal>hibernate.cfg.xml</literal>로 명명된 파일 "
+"속에 전체 구성을 지정하는 것이다. 이 파일은 <literal>hibernate.properties</"
+"literal> 파일에 대한 대용물로서 사용될 수 있거나, 만일 둘 다 존재할 경우에 프"
+"로퍼티들을 중복정의하는데 사용될 수 있다."
 
-#: index.docbook:1326
-msgid "The XML configuration file is by default expected to be in the root o your <literal>CLASSPATH</literal>. Here is an example:"
-msgstr "XML 구성 파일은 디폴트로 당신의 <literal>CLASSPATH</literal>의 루트에 존재하는 것이 기대된다. 다음은 예제이다:"
+#. Tag: para
+#: configuration.xml:1326
+#, no-c-format
+msgid ""
+"The XML configuration file is by default expected to be in the root o your "
+"<literal>CLASSPATH</literal>. Here is an example:"
+msgstr ""
+"XML 구성 파일은 디폴트로 당신의 <literal>CLASSPATH</literal>의 루트에 존재하"
+"는 것이 기대된다. 다음은 예제이다:"
 
-#: index.docbook:1331
+#. Tag: programlisting
+#: configuration.xml:1331
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
-      "<!DOCTYPE hibernate-configuration PUBLIC\n"
-      "    \"-//Hibernate/Hibernate Configuration DTD//EN\"\n"
-      "    \"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-configuration>\n"
-      "\n"
-      "    <!-- a SessionFactory instance listed as /jndi/name -->\n"
-      "    <session-factory\n"
-      "        name=\"java:hibernate/SessionFactory\">\n"
-      "\n"
-      "        <!-- properties -->\n"
-      "        <property name=\"connection.datasource\">java:/comp/env/jdbc/MyDB</property>\n"
-      "        <property name=\"dialect\">org.hibernate.dialect.MySQLDialect</property>\n"
-      "        <property name=\"show_sql\">false</property>\n"
-      "        <property name=\"transaction.factory_class\">\n"
-      "            org.hibernate.transaction.JTATransactionFactory\n"
-      "        </property>\n"
-      "        <property name=\"jta.UserTransaction\">java:comp/UserTransaction</property>\n"
-      "\n"
-      "        <!-- mapping files -->\n"
-      "        <mapping resource=\"org/hibernate/auction/Item.hbm.xml\"/>\n"
-      "        <mapping resource=\"org/hibernate/auction/Bid.hbm.xml\"/>\n"
-      "\n"
-      "        <!-- cache settings -->\n"
-      "        <class-cache class=\"org.hibernate.auction.Item\" usage=\"read-write\"/>\n"
-      "        <class-cache class=\"org.hibernate.auction.Bid\" usage=\"read-only\"/>\n"
-      "        <collection-cache collection=\"org.hibernate.auction.Item.bids\" usage=\"read-write\"/>\n"
-      "\n"
-      "    </session-factory>\n"
-      "\n"
-      "</hibernate-configuration>]]>"
+"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
+"<!DOCTYPE hibernate-configuration PUBLIC\n"
+"    \"-//Hibernate/Hibernate Configuration DTD//EN\"\n"
+"    \"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd\">\n"
+"\n"
+"<hibernate-configuration>\n"
+"\n"
+"    <!-- a SessionFactory instance listed as /jndi/name -->\n"
+"    <session-factory\n"
+"        name=\"java:hibernate/SessionFactory\">\n"
+"\n"
+"        <!-- properties -->\n"
+"        <property name=\"connection.datasource\">java:/comp/env/jdbc/MyDB</"
+"property>\n"
+"        <property name=\"dialect\">org.hibernate.dialect.MySQLDialect</"
+"property>\n"
+"        <property name=\"show_sql\">false</property>\n"
+"        <property name=\"transaction.factory_class\">\n"
+"            org.hibernate.transaction.JTATransactionFactory\n"
+"        </property>\n"
+"        <property name=\"jta.UserTransaction\">java:comp/UserTransaction</"
+"property>\n"
+"\n"
+"        <!-- mapping files -->\n"
+"        <mapping resource=\"org/hibernate/auction/Item.hbm.xml\"/>\n"
+"        <mapping resource=\"org/hibernate/auction/Bid.hbm.xml\"/>\n"
+"\n"
+"        <!-- cache settings -->\n"
+"        <class-cache class=\"org.hibernate.auction.Item\" usage=\"read-write"
+"\"/>\n"
+"        <class-cache class=\"org.hibernate.auction.Bid\" usage=\"read-only\"/"
+">\n"
+"        <collection-cache collection=\"org.hibernate.auction.Item.bids\" "
+"usage=\"read-write\"/>\n"
+"\n"
+"    </session-factory>\n"
+"\n"
+"</hibernate-configuration>]]>"
 msgstr ""
-      "<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
-      "<!DOCTYPE hibernate-configuration PUBLIC\n"
-      "    \"-//Hibernate/Hibernate Configuration DTD//EN\"\n"
-      "    \"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-configuration>\n"
-      "\n"
-      "    <!-- a SessionFactory instance listed as /jndi/name -->\n"
-      "    <session-factory\n"
-      "        name=\"java:hibernate/SessionFactory\">\n"
-      "\n"
-      "        <!-- properties -->\n"
-      "        <property name=\"connection.datasource\">java:/comp/env/jdbc/MyDB</property>\n"
-      "        <property name=\"dialect\">org.hibernate.dialect.MySQLDialect</property>\n"
-      "        <property name=\"show_sql\">false</property>\n"
-      "        <property name=\"transaction.factory_class\">\n"
-      "            org.hibernate.transaction.JTATransactionFactory\n"
-      "        </property>\n"
-      "        <property name=\"jta.UserTransaction\">java:comp/UserTransaction</property>\n"
-      "\n"
-      "        <!-- mapping files -->\n"
-      "        <mapping resource=\"org/hibernate/auction/Item.hbm.xml\"/>\n"
-      "        <mapping resource=\"org/hibernate/auction/Bid.hbm.xml\"/>\n"
-      "\n"
-      "        <!-- cache settings -->\n"
-      "        <class-cache class=\"org.hibernate.auction.Item\" usage=\"read-write\"/>\n"
-      "        <class-cache class=\"org.hibernate.auction.Bid\" usage=\"read-only\"/>\n"
-      "        <collection-cache collection=\"org.hibernate.auction.Item.bids\" usage=\"read-write\"/>\n"
-      "\n"
-      "    </session-factory>\n"
-      "\n"
-      "</hibernate-configuration>]]>"
 
-#: index.docbook:1333
-msgid "As you can see, the advantage of this approach is the externalization of the mapping file names to configuration. The <literal>hibernate.cfg.xml</literal> is also more convenient once you have to tune the Hibernate cache. Note that is your choice to use either <literal>hibernate.properties</literal> or <literal>hibernate.cfg.xml</literal>, both are equivalent, except for the above mentioned benefits of using the XML syntax."
-msgstr "당신이 볼 수 있듯이, 이 접근법의 장점은 구성에 대한 매핑 파일 이름들을 구체화 시키는 것이다. <literal>hibernate.cfg.xml</literal>은 또한 당신이 Hibernate 캐시를 튜닝해야할 때 보다 편리하다. <literal>hibernate.properties</literal> 또는 <literal>hibernate.cfg.xml</literal> 중 어느 것을 사용하는가는 당신의 선택이다. XML 구문을 사용하는 위에 언급된 이점들을 제외하면 둘다 같은 것임을 노트하라."
+#. Tag: para
+#: configuration.xml:1333
+#, no-c-format
+msgid ""
+"As you can see, the advantage of this approach is the externalization of the "
+"mapping file names to configuration. The <literal>hibernate.cfg.xml</"
+"literal> is also more convenient once you have to tune the Hibernate cache. "
+"Note that is your choice to use either <literal>hibernate.properties</"
+"literal> or <literal>hibernate.cfg.xml</literal>, both are equivalent, "
+"except for the above mentioned benefits of using the XML syntax."
+msgstr ""
+"당신이 볼 수 있듯이, 이 접근법의 장점은 구성에 대한 매핑 파일 이름들을 구체"
+"화 시키는 것이다. <literal>hibernate.cfg.xml</literal>은 또한 당신이 "
+"Hibernate 캐시를 튜닝해야할 때 보다 편리하다. <literal>hibernate.properties</"
+"literal> 또는 <literal>hibernate.cfg.xml</literal> 중 어느 것을 사용하는가는 "
+"당신의 선택이다. XML 구문을 사용하는 위에 언급된 이점들을 제외하면 둘다 같은 "
+"것임을 노트하라."
 
-#: index.docbook:1342
+#. Tag: para
+#: configuration.xml:1342
+#, no-c-format
 msgid "With the XML configuration, starting Hibernate is then as simple as"
 msgstr "Hibernate 구성으로, Hibernate를 시작하는 것은 다음과 같이 간단하다"
 
-#: index.docbook:1346
-msgid "<![CDATA[SessionFactory sf = new Configuration().configure().buildSessionFactory();]]>"
-msgstr "<![CDATA[SessionFactory sf = new Configuration().configure().buildSessionFactory();]]>"
+#. Tag: programlisting
+#: configuration.xml:1346
+#, no-c-format
+msgid ""
+"<![CDATA[SessionFactory sf = new Configuration().configure()."
+"buildSessionFactory();]]>"
+msgstr ""
 
-#: index.docbook:1348
+#. Tag: para
+#: configuration.xml:1348
+#, no-c-format
 msgid "You can pick a different XML configuration file using"
 msgstr "당신은 다음을 사용하여 다른 XML 구성 파일을 찾아낼 수 있다"
 
-#: index.docbook:1352
+#. Tag: programlisting
+#: configuration.xml:1352
+#, no-c-format
 msgid ""
-      "<![CDATA[SessionFactory sf = new Configuration()\n"
-      "    .configure(\"catdb.cfg.xml\")\n"
-      "    .buildSessionFactory();]]>"
+"<![CDATA[SessionFactory sf = new Configuration()\n"
+"    .configure(\"catdb.cfg.xml\")\n"
+"    .buildSessionFactory();]]>"
 msgstr ""
-      "<![CDATA[SessionFactory sf = new Configuration()\n"
-      "    .configure(\"catdb.cfg.xml\")\n"
-      "    .buildSessionFactory();]]>"
 
-#: index.docbook:1357
+#. Tag: title
+#: configuration.xml:1357
+#, no-c-format
 msgid "J2EE Application Server integration"
 msgstr "J2EE 어플리케이션 서버 통합"
 
-#: index.docbook:1359
+#. Tag: para
+#: configuration.xml:1359
+#, no-c-format
 msgid "Hibernate has the following integration points for J2EE infrastructure:"
 msgstr "Hibernate는 J2EE 인프라스트럭처에 대한 다음 통합 점들을 갖고 있다:"
 
-#: index.docbook:1365
-msgid "<emphasis>Container-managed datasources</emphasis>: Hibernate can use JDBC connections managed by the container and provided through JNDI. Usually, a JTA compatible <literal>TransactionManager</literal> and a <literal>ResourceManager</literal> take care of transaction management (CMT), esp. distributed transaction handling across several datasources. You may of course also demarcate transaction boundaries programmatically (BMT) or you might want to use the optional Hibernate <literal>Transaction</literal> API for this to keep your code portable."
-msgstr "<emphasis>Container-managed datasources</emphasis>: Hibernate는 컨테이너에 의해 관리되는 JDBC 커넥션들을 사용할 수 있고 JNDI를 통해 제공된다. 대개 JTA 호환 <literal>TransactionManager</literal>와 <literal>ResourceManager</literal>는 트랜잭션 관리(CMT), 특히 몇몇 데이터소스들을 가로질러 분산된 트랜잭션 핸들링을 처리한다. 물론 당신은 또한 프로그램 상으로 트랜잭션 경계들을 한정할 수도 있거나(BMT) 당신은 당신의 코드가 이식성을 유지하도록 이것에 대한 선택적인 Hibernate <literal>Transaction</literal> API를 사용하고자 원할 수도 있다."
+#. Tag: para
+#: configuration.xml:1365
+#, no-c-format
+msgid ""
+"<emphasis>Container-managed datasources</emphasis>: Hibernate can use JDBC "
+"connections managed by the container and provided through JNDI. Usually, a "
+"JTA compatible <literal>TransactionManager</literal> and a "
+"<literal>ResourceManager</literal> take care of transaction management "
+"(CMT), esp. distributed transaction handling across several datasources. You "
+"may of course also demarcate transaction boundaries programmatically (BMT) "
+"or you might want to use the optional Hibernate <literal>Transaction</"
+"literal> API for this to keep your code portable."
+msgstr ""
+"<emphasis>Container-managed datasources</emphasis>: Hibernate는 컨테이너에 의"
+"해 관리되는 JDBC 커넥션들을 사용할 수 있고 JNDI를 통해 제공된다. 대개 JTA 호"
+"환 <literal>TransactionManager</literal>와 <literal>ResourceManager</literal>"
+"는 트랜잭션 관리(CMT), 특히 몇몇 데이터소스들을 가로질러 분산된 트랜잭션 핸들"
+"링을 처리한다. 물론 당신은 또한 프로그램 상으로 트랜잭션 경계들을 한정할 수"
+"도 있거나(BMT) 당신은 당신의 코드가 이식성을 유지하도록 이것에 대한 선택적인 "
+"Hibernate <literal>Transaction</literal> API를 사용하고자 원할 수도 있다."
 
-#: index.docbook:1380
-msgid "<emphasis>Automatic JNDI binding</emphasis>: Hibernate can bind its <literal>SessionFactory</literal> to JNDI after startup."
-msgstr "<emphasis>자동적인 JNDI 바인딩</emphasis>: Hibernate는 시작 후에 그것의 <literal>SessionFactory</literal>를 JNDI에 바인드 시킬 수 있다."
+#. Tag: para
+#: configuration.xml:1380
+#, no-c-format
+msgid ""
+"<emphasis>Automatic JNDI binding</emphasis>: Hibernate can bind its "
+"<literal>SessionFactory</literal> to JNDI after startup."
+msgstr ""
+"<emphasis>자동적인 JNDI 바인딩</emphasis>: Hibernate는 시작 후에 그것의 "
+"<literal>SessionFactory</literal>를 JNDI에 바인드 시킬 수 있다."
 
-#: index.docbook:1389
-msgid "<emphasis>JTA Session binding:</emphasis> The Hibernate <literal>Session</literal> may be automatically bound to the scope of JTA transactions. Simply lookup the <literal>SessionFactory</literal> from JNDI and get the current <literal>Session</literal>. Let Hibernate take care of flushing and closing the <literal>Session</literal> when your JTA transaction completes. Transaction demarcation is either declarative (CMT) or programmatic (BMT/UserTransaction)."
-msgstr "<emphasis>JTA Session 바인딩</emphasis>: Hibernate <literal>Session</literal>은 JTA 트랜잭션들의 영역(scope)에 자동적으로 바인드 시킬 수도 있다. 간단하게 JNDI로부터 <literal>SessionFactory</literal>를 룩업하고 현재 <literal>Session</literal>을 얻어라. Hibernate로 하여금 당신의 JTA 트랜잭션이 완료될 때 <literal>Session</literal>을 flush시키고 닫는 것을 처리하도록 하라. 트랜잭션 경계 구분은 선언적(CMT)이거나 프로그래밍적((BMT/UserTransaction))이다."
+#. Tag: para
+#: configuration.xml:1389
+#, no-c-format
+msgid ""
+"<emphasis>JTA Session binding:</emphasis> The Hibernate <literal>Session</"
+"literal> may be automatically bound to the scope of JTA transactions. Simply "
+"lookup the <literal>SessionFactory</literal> from JNDI and get the current "
+"<literal>Session</literal>. Let Hibernate take care of flushing and closing "
+"the <literal>Session</literal> when your JTA transaction completes. "
+"Transaction demarcation is either declarative (CMT) or programmatic (BMT/"
+"UserTransaction)."
+msgstr ""
+"<emphasis>JTA Session 바인딩</emphasis>: Hibernate <literal>Session</literal>"
+"은 JTA 트랜잭션들의 영역(scope)에 자동적으로 바인드 시킬 수도 있다. 간단하게 "
+"JNDI로부터 <literal>SessionFactory</literal>를 룩업하고 현재 "
+"<literal>Session</literal>을 얻어라. Hibernate로 하여금 당신의 JTA 트랜잭션"
+"이 완료될 때 <literal>Session</literal>을 flush시키고 닫는 것을 처리하도록 하"
+"라. 트랜잭션 경계 구분은 선언적(CMT)이거나 프로그래밍적((BMT/"
+"UserTransaction))이다."
 
-#: index.docbook:1402
-msgid "<emphasis>JMX deployment:</emphasis> If you have a JMX capable application server (e.g. JBoss AS), you can chose to deploy Hibernate as a managed MBean. This saves you the one line startup code to build your <literal>SessionFactory</literal> from a <literal>Configuration</literal>. The container will startup your <literal>HibernateService</literal>, and ideally also take care of service dependencies (Datasource has to be available before Hibernate starts, etc)."
-msgstr "<emphasis>JMX 배치</emphasis>: 만일 당신이 JMX 가용성이 있는 어플리케이션 서버(예를 들면 JBoss AS)를 갖고 있다면, 당신은 Hibernate를 하나의 managed MBean으로서 배치하는 것을 선택할 수 있다. 이것은 <literal>Configuration</literal>으로부터 당신의 <literal>SessionFactory</literal>를 빌드 시키는 한 줄의 시작 코드를 절약해준다. 컨테이너는 당신의 <literal>HibernateService</literal>를 시작할 것이고, 또한 이상적으로 서비스 의존성들을 처리할 것이다(데이터소스는 Hibernate가 시작되기 전에 이용 가능해야 한다)."
+#. Tag: para
+#: configuration.xml:1402
+#, no-c-format
+msgid ""
+"<emphasis>JMX deployment:</emphasis> If you have a JMX capable application "
+"server (e.g. JBoss AS), you can chose to deploy Hibernate as a managed "
+"MBean. This saves you the one line startup code to build your "
+"<literal>SessionFactory</literal> from a <literal>Configuration</literal>. "
+"The container will startup your <literal>HibernateService</literal>, and "
+"ideally also take care of service dependencies (Datasource has to be "
+"available before Hibernate starts, etc)."
+msgstr ""
+"<emphasis>JMX 배치</emphasis>: 만일 당신이 JMX 가용성이 있는 어플리케이션 서"
+"버(예를 들면 JBoss AS)를 갖고 있다면, 당신은 Hibernate를 하나의 managed MBean"
+"으로서 배치하는 것을 선택할 수 있다. 이것은 <literal>Configuration</literal>"
+"으로부터 당신의 <literal>SessionFactory</literal>를 빌드 시키는 한 줄의 시작 "
+"코드를 절약해준다. 컨테이너는 당신의 <literal>HibernateService</literal>를 시"
+"작할 것이고, 또한 이상적으로 서비스 의존성들을 처리할 것이다(데이터소스는 "
+"Hibernate가 시작되기 전에 이용 가능해야 한다)."
 
-#: index.docbook:1413
-msgid "Depending on your environment, you might have to set the configuration option <literal>hibernate.connection.aggressive_release</literal> to true if your application server shows \"connection containment\" exceptions."
-msgstr "당신의 환경에 따라, 당신은 당신의 어플리케이션 서버가 \"connection containment(연결 봉쇄)\" 예외상황들을 보일 경우에 구성 옵션 <literal>hibernate.connection.aggressive_release</literal>를 true로 설정해야 될 수도 있다."
+#. Tag: para
+#: configuration.xml:1413
+#, no-c-format
+msgid ""
+"Depending on your environment, you might have to set the configuration "
+"option <literal>hibernate.connection.aggressive_release</literal> to true if "
+"your application server shows \"connection containment\" exceptions."
+msgstr ""
+"당신의 환경에 따라, 당신은 당신의 어플리케이션 서버가 \"connection "
+"containment(연결 봉쇄)\" 예외상황들을 보일 경우에 구성 옵션 "
+"<literal>hibernate.connection.aggressive_release</literal>를 true로 설정해야 "
+"될 수도 있다."
 
-#: index.docbook:1420
+#. Tag: title
+#: configuration.xml:1420
+#, no-c-format
 msgid "Transaction strategy configuration"
 msgstr "트랜잭션 방도 구성"
 
-#: index.docbook:1422
-msgid "The Hibernate <literal>Session</literal> API is independent of any transaction demarcation system in your architecture. If you let Hibernate use JDBC directly, through a connection pool, you may begin and end your transactions by calling the JDBC API. If you run in a J2EE application server, you might want to use bean-managed transactions and call the JTA API and <literal>UserTransaction</literal> when needed."
-msgstr "Hibernate <literal>Session</literal> API는 당신의 아카텍처 내에서 임의의 트랜잭션 관할 시스템에 독립적이다. 만일 당신이 Hibernate로 하여금 커넥션 풀을 통해 직접 JDBC를 사용하도록 강제할 경우, 당신은 JDBC API를 호출하여 당신의 트랜잭션을 시작하고 끝낼 수 있다. 만일 당신이 J2EE 어플리케이션 서버를 실행 중이라면, 당신은 필요할 때 bean-managed 트랜잭션들을 사용하고 JTA API와 <literal>UserTransaction</literal>을 호출하고자 원할 수 있다."
+#. Tag: para
+#: configuration.xml:1422
+#, no-c-format
+msgid ""
+"The Hibernate <literal>Session</literal> API is independent of any "
+"transaction demarcation system in your architecture. If you let Hibernate "
+"use JDBC directly, through a connection pool, you may begin and end your "
+"transactions by calling the JDBC API. If you run in a J2EE application "
+"server, you might want to use bean-managed transactions and call the JTA API "
+"and <literal>UserTransaction</literal> when needed."
+msgstr ""
+"Hibernate <literal>Session</literal> API는 당신의 아카텍처 내에서 임의의 트랜"
+"잭션 관할 시스템에 독립적이다. 만일 당신이 Hibernate로 하여금 커넥션 풀을 통"
+"해 직접 JDBC를 사용하도록 강제할 경우, 당신은 JDBC API를 호출하여 당신의 트랜"
+"잭션을 시작하고 끝낼 수 있다. 만일 당신이 J2EE 어플리케이션 서버를 실행 중이"
+"라면, 당신은 필요할 때 bean-managed 트랜잭션들을 사용하고 JTA API와 "
+"<literal>UserTransaction</literal>을 호출하고자 원할 수 있다."
 
-#: index.docbook:1430
-msgid "To keep your code portable between these two (and other) environments we recommend the optional Hibernate <literal>Transaction</literal> API, which wraps and hides the underlying system. You have to specify a factory class for <literal>Transaction</literal> instances by setting the Hibernate configuration property <literal>hibernate.transaction.factory_class</literal>."
-msgstr "이들 두 개의 (그리고 다른) 환경들에서 당신의 코드에 이식성을 유지하기 위해 우리는 기본 시스템을 포장하고 은폐시키는 선택적인 Hibernate <literal>Transaction</literal> API를 권장한다. 당신은 Hibernate 구성 프로퍼티 <literal>hibernate.transaction.factory_class</literal>를 사용하여 <literal>Transaction</literal> 인스턴스들에 대한 팩토리 클래스를 지정해야 한다."
+#. Tag: para
+#: configuration.xml:1430
+#, no-c-format
+msgid ""
+"To keep your code portable between these two (and other) environments we "
+"recommend the optional Hibernate <literal>Transaction</literal> API, which "
+"wraps and hides the underlying system. You have to specify a factory class "
+"for <literal>Transaction</literal> instances by setting the Hibernate "
+"configuration property <literal>hibernate.transaction.factory_class</"
+"literal>."
+msgstr ""
+"이들 두 개의 (그리고 다른) 환경들에서 당신의 코드에 이식성을 유지하기 위해 우"
+"리는 기본 시스템을 포장하고 은폐시키는 선택적인 Hibernate "
+"<literal>Transaction</literal> API를 권장한다. 당신은 Hibernate 구성 프로퍼"
+"티 <literal>hibernate.transaction.factory_class</literal>를 사용하여 "
+"<literal>Transaction</literal> 인스턴스들에 대한 팩토리 클래스를 지정해야 한"
+"다."
 
-#: index.docbook:1437
+#. Tag: para
+#: configuration.xml:1437
+#, no-c-format
 msgid "There are three standard (built-in) choices:"
 msgstr "세 개의 표준(미리 만들어진) 선택들이 존재한다:"
 
-#: index.docbook:1443
+#. Tag: literal
+#: configuration.xml:1443
+#, no-c-format
 msgid "org.hibernate.transaction.JDBCTransactionFactory"
 msgstr "org.hibernate.transaction.JDBCTransactionFactory"
 
-#: index.docbook:1445
+#. Tag: para
+#: configuration.xml:1445
+#, no-c-format
 msgid "delegates to database (JDBC) transactions (default)"
 msgstr "데이터베이스 (JDBC) 트랜잭션들에게 위임시킨다(디폴트)"
 
-#: index.docbook:1449
+#. Tag: literal
+#: configuration.xml:1449
+#, no-c-format
 msgid "org.hibernate.transaction.JTATransactionFactory"
 msgstr "org.hibernate.transaction.JTATransactionFactory"
 
-#: index.docbook:1451
-msgid "delegates to container-managed transaction if an existing transaction is underway in this context (e.g. EJB session bean method), otherwise a new transaction is started and bean-managed transaction are used."
-msgstr "기존의 트랜잭션이 이 컨텍스트(예를 들면 EJB session bean 메소드) 내에서 진행 중일 경우에 container-managed transaction에게 위임시키고, 그 밖의 경우 새로운 트랜잭션이 시작되고 bean-managed transaction이 사용된다."
+#. Tag: para
+#: configuration.xml:1451
+#, no-c-format
+msgid ""
+"delegates to container-managed transaction if an existing transaction is "
+"underway in this context (e.g. EJB session bean method), otherwise a new "
+"transaction is started and bean-managed transaction are used."
+msgstr ""
+"기존의 트랜잭션이 이 컨텍스트(예를 들면 EJB session bean 메소드) 내에서 진행 "
+"중일 경우에 container-managed transaction에게 위임시키고, 그 밖의 경우 새로"
+"운 트랜잭션이 시작되고 bean-managed transaction이 사용된다."
 
-#: index.docbook:1459
+#. Tag: literal
+#: configuration.xml:1459
+#, no-c-format
 msgid "org.hibernate.transaction.CMTTransactionFactory"
 msgstr "org.hibernate.transaction.CMTTransactionFactory"
 
-#: index.docbook:1461
+#. Tag: para
+#: configuration.xml:1461
+#, no-c-format
 msgid "delegates to container-managed JTA transactions"
 msgstr "container-managed JTA 트랜잭션들에게 위임시킨다"
 
-#: index.docbook:1466
-msgid "You may also define your own transaction strategies (for a CORBA transaction service, for example)."
-msgstr "당신은 또한 당신 자신의 트랜잭션 방도들(예를 들면 CORBA 트랜잭션 서비스)을 정의할 수도 있다."
+#. Tag: para
+#: configuration.xml:1466
+#, no-c-format
+msgid ""
+"You may also define your own transaction strategies (for a CORBA transaction "
+"service, for example)."
+msgstr ""
+"당신은 또한 당신 자신의 트랜잭션 방도들(예를 들면 CORBA 트랜잭션 서비스)을 정"
+"의할 수도 있다."
 
-#: index.docbook:1471
-msgid "Some features in Hibernate (i.e. the second level cache, Contextual Sessions with JTA, etc.) require access to the JTA <literal>TransactionManager</literal> in a managed environment. In an application server you have to specify how Hibernate should obtain a reference to the <literal>TransactionManager</literal>, since J2EE does not standardize a single mechanism:"
-msgstr "Hibernate에 있는 몇몇 특징들(예를 들면. second level 캐시, JTA를 가진 컨텍스트 상의 세션들, 기타.)은 관리되는 환경에서 JTA <literal>TransactionManager</literal>에 대한 접근을 필요로 한다. 어플리케이션 서버에서 당신은 Hibernate가 <literal>TransactionManager</literal>에 대한 참조를 획득하는 방법을 지정해야 한다. 왜냐하면 J2EE가 한 개의 메커니즘을 표준화 시키고 있지 않기 때문이다:"
+#. Tag: para
+#: configuration.xml:1471
+#, no-c-format
+msgid ""
+"Some features in Hibernate (i.e. the second level cache, Contextual Sessions "
+"with JTA, etc.) require access to the JTA <literal>TransactionManager</"
+"literal> in a managed environment. In an application server you have to "
+"specify how Hibernate should obtain a reference to the "
+"<literal>TransactionManager</literal>, since J2EE does not standardize a "
+"single mechanism:"
+msgstr ""
+"Hibernate에 있는 몇몇 특징들(예를 들면. second level 캐시, JTA를 가진 컨텍스"
+"트 상의 세션들, 기타.)은 관리되는 환경에서 JTA <literal>TransactionManager</"
+"literal>에 대한 접근을 필요로 한다. 어플리케이션 서버에서 당신은 Hibernate가 "
+"<literal>TransactionManager</literal>에 대한 참조를 획득하는 방법을 지정해야 "
+"한다. 왜냐하면 J2EE가 한 개의 메커니즘을 표준화 시키고 있지 않기 때문이다:"
 
-#: index.docbook:1479
+#. Tag: title
+#: configuration.xml:1479
+#, no-c-format
 msgid "JTA TransactionManagers"
 msgstr "JTA TransactionManagers"
 
-#: index.docbook:1485
+#. Tag: entry
+#: configuration.xml:1485
+#, no-c-format
 msgid "Transaction Factory"
 msgstr "트랜잭션 팩토리"
 
-#: index.docbook:1486
+#. Tag: entry
+#: configuration.xml:1486
+#, no-c-format
 msgid "Application Server"
 msgstr "어플리케이션 서버"
 
-#: index.docbook:1491
+#. Tag: literal
+#: configuration.xml:1491
+#, no-c-format
 msgid "org.hibernate.transaction.JBossTransactionManagerLookup"
 msgstr "org.hibernate.transaction.JBossTransactionManagerLookup"
 
-#: index.docbook:1492
+#. Tag: entry
+#: configuration.xml:1492
+#, no-c-format
 msgid "JBoss"
 msgstr "JBoss"
 
-#: index.docbook:1495
+#. Tag: literal
+#: configuration.xml:1495
+#, no-c-format
 msgid "org.hibernate.transaction.WeblogicTransactionManagerLookup"
 msgstr "org.hibernate.transaction.WeblogicTransactionManagerLookup"
 
-#: index.docbook:1496
+#. Tag: entry
+#: configuration.xml:1496
+#, no-c-format
 msgid "Weblogic"
 msgstr "Weblogic"
 
-#: index.docbook:1499
+#. Tag: literal
+#: configuration.xml:1499
+#, no-c-format
 msgid "org.hibernate.transaction.WebSphereTransactionManagerLookup"
 msgstr "org.hibernate.transaction.WebSphereTransactionManagerLookup"
 
-#: index.docbook:1500
+#. Tag: entry
+#: configuration.xml:1500
+#, no-c-format
 msgid "WebSphere"
 msgstr "WebSphere"
 
-#: index.docbook:1503
+#. Tag: literal
+#: configuration.xml:1503
+#, no-c-format
 msgid "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
 msgstr "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
 
-#: index.docbook:1504
+#. Tag: entry
+#: configuration.xml:1504
+#, no-c-format
 msgid "WebSphere 6"
 msgstr "WebSphere 6"
 
-#: index.docbook:1507
+#. Tag: literal
+#: configuration.xml:1507
+#, no-c-format
 msgid "org.hibernate.transaction.OrionTransactionManagerLookup"
 msgstr "org.hibernate.transaction.OrionTransactionManagerLookup"
 
-#: index.docbook:1508
+#. Tag: entry
+#: configuration.xml:1508
+#, no-c-format
 msgid "Orion"
 msgstr "Orion"
 
-#: index.docbook:1511
+#. Tag: literal
+#: configuration.xml:1511
+#, no-c-format
 msgid "org.hibernate.transaction.ResinTransactionManagerLookup"
 msgstr "org.hibernate.transaction.ResinTransactionManagerLookup"
 
-#: index.docbook:1512
+#. Tag: entry
+#: configuration.xml:1512
+#, no-c-format
 msgid "Resin"
 msgstr "Resin"
 
-#: index.docbook:1515
+#. Tag: literal
+#: configuration.xml:1515
+#, no-c-format
 msgid "org.hibernate.transaction.JOTMTransactionManagerLookup"
 msgstr "org.hibernate.transaction.JOTMTransactionManagerLookup"
 
-#: index.docbook:1516
+#. Tag: entry
+#: configuration.xml:1516
+#, no-c-format
 msgid "JOTM"
 msgstr "JOTM"
 
-#: index.docbook:1519
+#. Tag: literal
+#: configuration.xml:1519
+#, no-c-format
 msgid "org.hibernate.transaction.JOnASTransactionManagerLookup"
 msgstr "org.hibernate.transaction.JOnASTransactionManagerLookup"
 
-#: index.docbook:1520
+#. Tag: entry
+#: configuration.xml:1520
+#, no-c-format
 msgid "JOnAS"
 msgstr "JOnAS"
 
-#: index.docbook:1523
+#. Tag: literal
+#: configuration.xml:1523
+#, no-c-format
 msgid "org.hibernate.transaction.JRun4TransactionManagerLookup"
 msgstr "org.hibernate.transaction.JRun4TransactionManagerLookup"
 
-#: index.docbook:1524
+#. Tag: entry
+#: configuration.xml:1524
+#, no-c-format
 msgid "JRun4"
 msgstr "JRun4"
 
-#: index.docbook:1527
+#. Tag: literal
+#: configuration.xml:1527
+#, no-c-format
 msgid "org.hibernate.transaction.BESTransactionManagerLookup"
 msgstr "org.hibernate.transaction.BESTransactionManagerLookup"
 
-#: index.docbook:1528
+#. Tag: entry
+#: configuration.xml:1528
+#, no-c-format
 msgid "Borland ES"
 msgstr "Borland ES"
 
-#: index.docbook:1537
+#. Tag: title
+#: configuration.xml:1537
+#, no-c-format
 msgid "JNDI-bound <literal>SessionFactory</literal>"
 msgstr "JNDI-bound <literal>SessionFactory</literal>"
 
-#: index.docbook:1539
-msgid "A JNDI bound Hibernate <literal>SessionFactory</literal> can simplify the lookup of the factory and the creation of new <literal>Session</literal>s. Note that this is not related to a JNDI bound <literal>Datasource</literal>, both simply use the same registry!"
-msgstr "하나의 JNDI 바인드된 Hibernate <literal>SessionFactory</literal>는 그 팩토리에 대한 룩업과 새로운 <literal>Session</literal>들의 생성을 단순화 시킬 수 있다. 이것은 JNDI 바인드된 <literal>Datasource</literal>에 관련되어 있지 않고, 단순하게 둘 다 동일한 레지스트리를 사용한다는 점을 노트하라!"
+#. Tag: para
+#: configuration.xml:1539
+#, no-c-format
+msgid ""
+"A JNDI bound Hibernate <literal>SessionFactory</literal> can simplify the "
+"lookup of the factory and the creation of new <literal>Session</literal>s. "
+"Note that this is not related to a JNDI bound <literal>Datasource</literal>, "
+"both simply use the same registry!"
+msgstr ""
+"하나의 JNDI 바인드된 Hibernate <literal>SessionFactory</literal>는 그 팩토리"
+"에 대한 룩업과 새로운 <literal>Session</literal>들의 생성을 단순화 시킬 수 있"
+"다. 이것은 JNDI 바인드된 <literal>Datasource</literal>에 관련되어 있지 않고, "
+"단순하게 둘 다 동일한 레지스트리를 사용한다는 점을 노트하라!"
 
-#: index.docbook:1546
-msgid "If you wish to have the <literal>SessionFactory</literal> bound to a JNDI namespace, specify a name (eg. <literal>java:hibernate/SessionFactory</literal>) using the property <literal>hibernate.session_factory_name</literal>. If this property is omitted, the <literal>SessionFactory</literal> will not be bound to JNDI. (This is especially useful in environments with a read-only JNDI default implementation, e.g. Tomcat.)"
-msgstr "만일 당신이 <literal>SessionFactory</literal>를 하나의 JNDI namespace에 바인드 시키고자 원할 경우, <literal>hibernate.session_factory_name</literal> 프로퍼티를 사용하여 한 개의 이름(예를 들면. <literal>java:hibernate/SessionFactory</literal>)을 지정하라. 만일 이 프로퍼티가 생략될 경우, <literal>SessionFactory</literal>는 JNDI에 바인드 되지 않을 것이다. (이것은 읽기-전용 JNDI 디폴트 구현을 가진 환경들, 예를 들면 Tomcat에서 특히 유용하다.)"
+#. Tag: para
+#: configuration.xml:1546
+#, no-c-format
+msgid ""
+"If you wish to have the <literal>SessionFactory</literal> bound to a JNDI "
+"namespace, specify a name (eg. <literal>java:hibernate/SessionFactory</"
+"literal>) using the property <literal>hibernate.session_factory_name</"
+"literal>. If this property is omitted, the <literal>SessionFactory</literal> "
+"will not be bound to JNDI. (This is especially useful in environments with a "
+"read-only JNDI default implementation, e.g. Tomcat.)"
+msgstr ""
+"만일 당신이 <literal>SessionFactory</literal>를 하나의 JNDI namespace에 바인"
+"드 시키고자 원할 경우, <literal>hibernate.session_factory_name</literal> 프로"
+"퍼티를 사용하여 한 개의 이름(예를 들면. <literal>java:hibernate/"
+"SessionFactory</literal>)을 지정하라. 만일 이 프로퍼티가 생략될 경우, "
+"<literal>SessionFactory</literal>는 JNDI에 바인드 되지 않을 것이다. (이것은 "
+"읽기-전용 JNDI 디폴트 구현을 가진 환경들, 예를 들면 Tomcat에서 특히 유용하"
+"다.)"
 
-#: index.docbook:1554
-msgid "When binding the <literal>SessionFactory</literal> to JNDI, Hibernate will use the values of <literal>hibernate.jndi.url</literal>, <literal>hibernate.jndi.class</literal> to instantiate an initial context. If they are not specified, the default <literal>InitialContext</literal> will be used."
-msgstr "<literal>SessionFactory</literal>를 JNDI에 바인드 시킬 때, Hibernate는 초기 컨텍스트를 초기화 시키기 위해 <literal>hibernate.jndi.url</literal>, <literal>hibernate.jndi.class</literal>의 값들을 사용할 것이다. 만일 그것들이 지정되어 있지 않을 경우, 디폴트 <literal>InitialContext</literal>가 사용될 것이다."
+#. Tag: para
+#: configuration.xml:1554
+#, no-c-format
+msgid ""
+"When binding the <literal>SessionFactory</literal> to JNDI, Hibernate will "
+"use the values of <literal>hibernate.jndi.url</literal>, <literal>hibernate."
+"jndi.class</literal> to instantiate an initial context. If they are not "
+"specified, the default <literal>InitialContext</literal> will be used."
+msgstr ""
+"<literal>SessionFactory</literal>를 JNDI에 바인드 시킬 때, Hibernate는 초기 "
+"컨텍스트를 초기화 시키기 위해 <literal>hibernate.jndi.url</literal>, "
+"<literal>hibernate.jndi.class</literal>의 값들을 사용할 것이다. 만일 그것들"
+"이 지정되어 있지 않을 경우, 디폴트 <literal>InitialContext</literal>가 사용"
+"될 것이다."
 
-#: index.docbook:1561
-msgid "Hibernate will automatically place the <literal>SessionFactory</literal> in JNDI after you call <literal>cfg.buildSessionFactory()</literal>. This means you will at least have this call in some startup code (or utility class) in your application, unless you use JMX deployment with the <literal>HibernateService</literal> (discussed later)."
-msgstr "Hibernate는 당신이 <literal>cfg.buildSessionFactory()</literal>를 호출한 후에 <literal>SessionFactory</literal>를 JNDI 내에 자동적으로 위치지울 것이다. 이것은 당신이 (나중에 논의되는) <literal>HibernateService</literal>를 가진 JMX 배치를 사용하지 않는 한, 당신이 적어도 당신의 어플리케이션 내에 있는 어떤 시작 코드 (또는 유틸리티 클래스) 내에서 이것을 호출할 것임을 의미한다."
+#. Tag: para
+#: configuration.xml:1561
+#, no-c-format
+msgid ""
+"Hibernate will automatically place the <literal>SessionFactory</literal> in "
+"JNDI after you call <literal>cfg.buildSessionFactory()</literal>. This means "
+"you will at least have this call in some startup code (or utility class) in "
+"your application, unless you use JMX deployment with the "
+"<literal>HibernateService</literal> (discussed later)."
+msgstr ""
+"Hibernate는 당신이 <literal>cfg.buildSessionFactory()</literal>를 호출한 후"
+"에 <literal>SessionFactory</literal>를 JNDI 내에 자동적으로 위치지울 것이다. "
+"이것은 당신이 (나중에 논의되는) <literal>HibernateService</literal>를 가진 "
+"JMX 배치를 사용하지 않는 한, 당신이 적어도 당신의 어플리케이션 내에 있는 어"
+"떤 시작 코드 (또는 유틸리티 클래스) 내에서 이것을 호출할 것임을 의미한다."
 
-#: index.docbook:1568
-msgid "If you use a JNDI <literal>SessionFactory</literal>, an EJB or any other class may obtain the <literal>SessionFactory</literal> using a JNDI lookup."
-msgstr "만일 당신이 하나의 JNDI <literal>SessionFactory</literal>를 사용할 경우, 하나의 EJB 또는 어떤 다른 클래스는 JNDI 룩업을 사용하여 <literal>SessionFactory</literal>를 얻을 수 있다."
+#. Tag: para
+#: configuration.xml:1568
+#, no-c-format
+msgid ""
+"If you use a JNDI <literal>SessionFactory</literal>, an EJB or any other "
+"class may obtain the <literal>SessionFactory</literal> using a JNDI lookup."
+msgstr ""
+"만일 당신이 하나의 JNDI <literal>SessionFactory</literal>를 사용할 경우, 하나"
+"의 EJB 또는 어떤 다른 클래스는 JNDI 룩업을 사용하여 <literal>SessionFactory</"
+"literal>를 얻을 수 있다."
 
-#: index.docbook:1573
-msgid "We recommend that you bind the <literal>SessionFactory</literal> to JNDI in a managed environment and use a <literal>static</literal> singleton otherwise. To shield your application code from these details, we also recommend to hide the actual lookup code for a <literal>SessionFactory</literal> in a helper class, such as <literal>HibernateUtil.getSessionFactory()</literal>. Note that such a class is also a convenient way to startup Hibernate&mdash;see chapter 1."
-msgstr "우리는 관리되는 환경들에서 <literal>SessionFactory</literal>를 JNDI에 바인드 시키고 그 밖의 경우에는 하나의 <literal>static</literal> 싱글톤을 사용하는 것을 권장한다. 이들 상세로부터 당신의 어플리케이션 코드를 은폐시키기 위해, 우리는 또한 <literal>HibernateUtil.getSessionFactory()</literal>과 같은 하나의 helper 클래스 내에서 <literal>SessionFactory</literal>에 대한 실제 룩업 코드를 은폐시키기를 권장한다. 그런 클래스는 또한 Hibernate를 시작하는 편리한 방법임을 노트하라&mdash; 1장을 보라."
+#. Tag: para
+#: configuration.xml:1573
+#, no-c-format
+msgid ""
+"We recommend that you bind the <literal>SessionFactory</literal> to JNDI in "
+"a managed environment and use a <literal>static</literal> singleton "
+"otherwise. To shield your application code from these details, we also "
+"recommend to hide the actual lookup code for a <literal>SessionFactory</"
+"literal> in a helper class, such as <literal>HibernateUtil.getSessionFactory"
+"()</literal>. Note that such a class is also a convenient way to startup "
+"Hibernate&mdash;see chapter 1."
+msgstr ""
+"우리는 관리되는 환경들에서 <literal>SessionFactory</literal>를 JNDI에 바인드 "
+"시키고 그 밖의 경우에는 하나의 <literal>static</literal> 싱글톤을 사용하는 것"
+"을 권장한다. 이들 상세로부터 당신의 어플리케이션 코드를 은폐시키기 위해, 우리"
+"는 또한 <literal>HibernateUtil.getSessionFactory()</literal>과 같은 하나의 "
+"helper 클래스 내에서 <literal>SessionFactory</literal>에 대한 실제 룩업 코드"
+"를 은폐시키기를 권장한다. 그런 클래스는 또한 Hibernate를 시작하는 편리한 방법"
+"임을 노트하라&mdash; 1장을 보라."
 
-#: index.docbook:1585
+#. Tag: title
+#: configuration.xml:1585
+#, no-c-format
 msgid "Current Session context management with JTA"
 msgstr "Current Session context management with JTA"
 
-#: index.docbook:1587
-msgid "The easiest way to handle <literal>Session</literal>s and transactions is Hibernates automatic \"current\" <literal>Session</literal> management. See the discussion of <xref linkend=\"architecture-current-session\"/>current sessions. Using the <literal>\"jta\"</literal> session context, if there is no Hibernate <literal>Session</literal> associated with the current JTA transaction, one will be started and associated with that JTA transaction the first time you call <literal>sessionFactory.getCurrentSession()</literal>. The <literal>Session</literal>s retrieved via <literal>getCurrentSession()</literal> in <literal>\"jta\"</literal> context will be set to automatically flush before the transaction completes, close after the transaction completes, and aggressively release JDBC connections after each statement. This allows the <literal>Session</literal>s to be managed by the life cycle of the JTA transaction to which it is associated, keeping user code clean of such man!
 agement concerns. Your code can either use JTA programmatically through <literal>UserTransaction</literal>, or (recommended for portable code) use the Hibernate <literal>Transaction</literal> API to set transaction boundaries. If you run in an EJB container, declarative transaction demarcation with CMT is preferred."
-msgstr "당신 자신의 <literal>ThreadLocal</literal> 유틸리티를 작동시키는 대신에, 우리는 또한 Hibernate <literal>Session</literal>를 얻기 위해 <literal>SessionFactory</literal> 상의 <literal>getCurrentSession()</literal> 메소드 사용을 권장한다. <xref linkend=\"architecture-current-session\"/>현재 세션들에 관한 논의를 보라. <literal>\"jta\"</literal> 세션 컨텍스트를 사용하고 있는 경우에, 현재의 JTA 트랜잭션으로 시작되고 연관된 Hibernate <literal>Session</literal>이 존재하지 않을 경우, 우리는 JTA 트랜잭션으로 시작되고 연관될 것이다. <literal>\"jta\"</literal> 컨텍스트에서 <literal>getCurrentSession()</literal>를 통해 검색된 <literal>Session</literal>들은 ê·¸ 트랜잭션이 완료되기 전에 자동적으로 flush될 것이고 트랜잭션 완료 후에 닫혀질 것이고, 그리고 각각의 문장 뒤에 JDBC 커넥션들을 적극적으로 í•´ì œí!
 •  것이다. 이것은 그런 관리 사항들에 대해 사용자 코드를 명료하게 유지시켜서, 연관되어 있는 JTA 트랜잭션의 생명주기에 의해 <literal>Session</literal>들이 관리되도록 허용해준다. 이것은 그런 관리 사항들에 대해 사용자 코드를 명료하게 유지시켜서, 세션이 연관되어 있는 JTA 트랜잭션의 생명주기에 의해 관리되는 것을 <literal>Session</literal>들에게 허용해준다. 당신의 코드는 <literal>Session</literal>들과 트랜잭션들을 처리하는 가장 손쉬운 방법은 Hibernate의 자동적인 \"현재\" <literal>Session</literal>이다. <xref linkend=\"architecture-current-session\"/>current sessions에 관한 논의를 보라. <literal>\"jta\"</literal> 세션 컨텍스트를 사용하는 경우, 현재의 JTA 트랜잭션으로 시작되고 연관된 Hibernate <literal>Session</literal>들이 존재하지 않을 경우, 당신이 <literal>sessionFactory.get!
 CurrentSession()</literal>을 처음 호출할 때 하나의 세션이
 현재의 JTA 트랜잭션에 대해 시작되고 연관될 것이다. <literal>\"jta\"</literal> 컨텍스트에서 <literal>getCurrentSession()</literal>을 통해 검색된 <literal>Session</literal>들은 ê·¸ 트랜잭션이 완료되기 전에 자동적으로 flush될 것이고 ê·¸ 트랜잭션 완료들 후에 닫혀질 것이고 각각의 문장 후에 JDBC 커넥션들을 적극적으로 해제할 것이다. 이것은 그런 관리 사항들에 대해 사용자 코드를 명료하게 유지시켜서, 연관되어 있는 JTA 트랜잭션의 생명주기에 의해 <literal>Session</literal>들이 관리되도록 허용해준다. 이것은 그런 관리 사항들에 대해 사용자 코드를 명료하게 유지시켜서, 세션이 연관되어 있는 JTA 트랜잭션의 생명주기에 의해 관리되는 것을 <literal>Session</literal>들에게 허용해준다. 당신의 코드는 트랜잭션 경계들을 설정하는데 <literal>UserTransaction</literal>을 통í•!
 ´ 프로그램 상으로 JTA를 사용하거나, Hibernate <literal>Transaction</literal> API를 (이식성을 위한 코드로 권장됨) 사용할 수 있다. 만일 당신이 하나의 EJB 컨테이너에서 실행하고 있을 경우, CMT의 경우에 선언적인 트랜잭션 경계설정이 선호된다."
+#. Tag: para
+#: configuration.xml:1587
+#, no-c-format
+msgid ""
+"The easiest way to handle <literal>Session</literal>s and transactions is "
+"Hibernates automatic \"current\" <literal>Session</literal> management. See "
+"the discussion of <link linkend=\"architecture-current-session\">current "
+"sessions</link>. Using the <literal>\"jta\"</literal> session context, if "
+"there is no Hibernate <literal>Session</literal> associated with the current "
+"JTA transaction, one will be started and associated with that JTA "
+"transaction the first time you call <literal>sessionFactory.getCurrentSession"
+"()</literal>. The <literal>Session</literal>s retrieved via "
+"<literal>getCurrentSession()</literal> in <literal>\"jta\"</literal> context "
+"will be set to automatically flush before the transaction completes, close "
+"after the transaction completes, and aggressively release JDBC connections "
+"after each statement. This allows the <literal>Session</literal>s to be "
+"managed by the life cycle of the JTA transaction to which it is associated, "
+"keeping user code clean of such management concerns. Your code can either "
+"use JTA programmatically through <literal>UserTransaction</literal>, or "
+"(recommended for portable code) use the Hibernate <literal>Transaction</"
+"literal> API to set transaction boundaries. If you run in an EJB container, "
+"declarative transaction demarcation with CMT is preferred."
+msgstr ""
+"당신 자신의 <literal>ThreadLocal</literal> 유틸리티를 작동시키는 대신에, 우리"
+"는 또한 Hibernate <literal>Session</literal>를 얻기 위해 "
+"<literal>SessionFactory</literal> 상의 <literal>getCurrentSession()</"
+"literal> 메소드 사용을 권장한다. <xref linkend=\"architecture-current-session"
+"\">현재 세션들</xref>에 관한 논의를 보라. <literal>\"jta\"</literal> 세션 컨"
+"텍스트를 사용하고 있는 경우에, 현재의 JTA 트랜잭션으로 시작되고 연관된 "
+"Hibernate <literal>Session</literal>이 존재하지 않을 경우, 우리는 JTA 트랜잭"
+"션으로 시작되고 연관될 것이다. <literal>\"jta\"</literal> 컨텍스트에서 "
+"<literal>getCurrentSession()</literal>를 통해 검색된 <literal>Session</"
+"literal>들은 그 트랜잭션이 완료되기 전에 자동적으로 flush될 것이고 트랜잭션 "
+"완료 후에 닫혀질 것이고, 그리고 각각의 문장 뒤에 JDBC 커넥션들을 적극적으로 "
+"해제할 것이다. 이것은 그런 관리 사항들에 대해 사용자 코드를 명료하게 유지시켜"
+"서, 연관되어 있는 JTA 트랜잭션의 생명주기에 의해 <literal>Session</literal>들"
+"이 관리되도록 허용해준다. 이것은 그런 관리 사항들에 대해 사용자 코드를 명료하"
+"게 유지시켜서, 세션이 연관되어 있는 JTA 트랜잭션의 생명주기에 의해 관리되는 "
+"것을 <literal>Session</literal>들에게 허용해준다. 당신의 코드는 "
+"<literal>Session</literal>들과 트랜잭션들을 처리하는 가장 손쉬운 방법은 "
+"Hibernate의 자동적인 \"현재\" <literal>Session</literal>이다. <xref linkend="
+"\"architecture-current-session\">current sessions</xref>에 관한 논의를 보라. "
+"<literal>\"jta\"</literal> 세션 컨텍스트를 사용하는 경우, 현재의 JTA 트랜잭션"
+"으로 시작되고 연관된 Hibernate <literal>Session</literal>들이 존재하지 않을 "
+"경우, 당신이 <literal>sessionFactory.getCurrentSession()</literal>을 처음 호"
+"출할 때 하나의 세션이 현재의 JTA 트랜잭션에 대해 시작되고 연관될 것이다. "
+"<literal>\"jta\"</literal> 컨텍스트에서 <literal>getCurrentSession()</"
+"literal>을 통해 검색된 <literal>Session</literal>들은 그 트랜잭션이 완료되기 "
+"전에 자동적으로 flush될 것이고 그 트랜잭션 완료들 후에 닫혀질 것이고 각각의 "
+"문장 후에 JDBC 커넥션들을 적극적으로 해제할 것이다. 이것은 그런 관리 사항들"
+"에 대해 사용자 코드를 명료하게 유지시켜서, 연관되어 있는 JTA 트랜잭션의 생명"
+"주기에 의해 <literal>Session</literal>들이 관리되도록 허용해준다. 이것은 그"
+"런 관리 사항들에 대해 사용자 코드를 명료하게 유지시켜서, 세션이 연관되어 있"
+"는 JTA 트랜잭션의 생명주기에 의해 관리되는 것을 <literal>Session</literal>들"
+"에게 허용해준다. 당신의 코드는 트랜잭션 경계들을 설정하는데 "
+"<literal>UserTransaction</literal>을 통해 프로그램 상으로 JTA를 사용하거나, "
+"Hibernate <literal>Transaction</literal> API를 (이식성을 위한 코드로 권장됨) "
+"사용할 수 있다. 만일 당신이 하나의 EJB 컨테이너에서 실행하고 있을 경우, CMT"
+"의 경우에 선언적인 트랜잭션 경계설정이 선호된다."
 
-#: index.docbook:1610
+#. Tag: title
+#: configuration.xml:1610
+#, no-c-format
 msgid "JMX deployment"
 msgstr "JMX 배치"
 
-#: index.docbook:1612
-msgid "The line <literal>cfg.buildSessionFactory()</literal> still has to be executed somewhere to get a <literal>SessionFactory</literal> into JNDI. You can do this either in a <literal>static</literal> initializer block (like the one in <literal>HibernateUtil</literal>) or you deploy Hibernate as a <emphasis>managed service</emphasis>."
-msgstr "<literal>cfg.buildSessionFactory()</literal> 줄은 여전히 JNDI에 붙은 하나의 <literal>SessionFactory</literal>를 얻기 위해 어딘가에서 실행되어야 한다. 당신은 (<literal>HibernateUtil</literal> 내에 있는 것처럼) <literal>static</literal> initializer 블록 속에서 이것을 행할 수 있거나 당신은 Hibernate를 <emphasis>managed service</emphasis>로서 배치할 수 있다."
+#. Tag: para
+#: configuration.xml:1612
+#, no-c-format
+msgid ""
+"The line <literal>cfg.buildSessionFactory()</literal> still has to be "
+"executed somewhere to get a <literal>SessionFactory</literal> into JNDI. You "
+"can do this either in a <literal>static</literal> initializer block (like "
+"the one in <literal>HibernateUtil</literal>) or you deploy Hibernate as a "
+"<emphasis>managed service</emphasis>."
+msgstr ""
+"<literal>cfg.buildSessionFactory()</literal> 줄은 여전히 JNDI에 붙은 하나의 "
+"<literal>SessionFactory</literal>를 얻기 위해 어딘가에서 실행되어야 한다. 당"
+"신은 (<literal>HibernateUtil</literal> 내에 있는 것처럼) <literal>static</"
+"literal> initializer 블록 속에서 이것을 행할 수 있거나 당신은 Hibernate를 "
+"<emphasis>managed service</emphasis>로서 배치할 수 있다."
 
-#: index.docbook:1620
-msgid "Hibernate is distributed with <literal>org.hibernate.jmx.HibernateService</literal> for deployment on an application server with JMX capabilities, such as JBoss AS. The actual deployment and configuration is vendor specific. Here is an example <literal>jboss-service.xml</literal> for JBoss 4.0.x:"
-msgstr "Hibernate는 JBoss AS와 같은 JMX 가용성들을 가진 어플리케이션 서버 상의 배치를 위해 <literal>org.hibernate.jmx.HibernateService</literal>를 배포하고 있다. 실제 배치와 구성은 벤더 지정적이다. 다음은 JBoss 4.0.x를 위한 <literal>jboss-service.xml</literal> 예제이다:"
+#. Tag: para
+#: configuration.xml:1620
+#, no-c-format
+msgid ""
+"Hibernate is distributed with <literal>org.hibernate.jmx.HibernateService</"
+"literal> for deployment on an application server with JMX capabilities, such "
+"as JBoss AS. The actual deployment and configuration is vendor specific. "
+"Here is an example <literal>jboss-service.xml</literal> for JBoss 4.0.x:"
+msgstr ""
+"Hibernate는 JBoss AS와 같은 JMX 가용성들을 가진 어플리케이션 서버 상의 배치"
+"를 위해 <literal>org.hibernate.jmx.HibernateService</literal>를 배포하고 있"
+"다. 실제 배치와 구성은 벤더 지정적이다. 다음은 JBoss 4.0.x를 위한 "
+"<literal>jboss-service.xml</literal> 예제이다:"
 
-#: index.docbook:1627
+#. Tag: programlisting
+#: configuration.xml:1627
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<server>\n"
-      "\n"
-      "<mbean code=\"org.hibernate.jmx.HibernateService\"\n"
-      "    name=\"jboss.jca:service=HibernateFactory,name=HibernateFactory\">\n"
-      "\n"
-      "    <!-- Required services -->\n"
-      "    <depends>jboss.jca:service=RARDeployer</depends>\n"
-      "    <depends>jboss.jca:service=LocalTxCM,name=HsqlDS</depends>\n"
-      "\n"
-      "    <!-- Bind the Hibernate service to JNDI -->\n"
-      "    <attribute name=\"JndiName\">java:/hibernate/SessionFactory</attribute>\n"
-      "\n"
-      "    <!-- Datasource settings -->\n"
-      "    <attribute name=\"Datasource\">java:HsqlDS</attribute>\n"
-      "    <attribute name=\"Dialect\">org.hibernate.dialect.HSQLDialect</attribute>\n"
-      "\n"
-      "    <!-- Transaction integration -->\n"
-      "    <attribute name=\"TransactionStrategy\">\n"
-      "        org.hibernate.transaction.JTATransactionFactory</attribute>\n"
-      "    <attribute name=\"TransactionManagerLookupStrategy\">\n"
-      "        org.hibernate.transaction.JBossTransactionManagerLookup</attribute>\n"
-      "    <attribute name=\"FlushBeforeCompletionEnabled\">true</attribute>\n"
-      "    <attribute name=\"AutoCloseSessionEnabled\">true</attribute>\n"
-      "\n"
-      "    <!-- Fetching options -->\n"
-      "    <attribute name=\"MaximumFetchDepth\">5</attribute>\n"
-      "\n"
-      "    <!-- Second-level caching -->\n"
-      "    <attribute name=\"SecondLevelCacheEnabled\">true</attribute>\n"
-      "    <attribute name=\"CacheProviderClass\">org.hibernate.cache.EhCacheProvider</attribute>\n"
-      "    <attribute name=\"QueryCacheEnabled\">true</attribute>\n"
-      "\n"
-      "    <!-- Logging -->\n"
-      "    <attribute name=\"ShowSqlEnabled\">true</attribute>\n"
-      "\n"
-      "    <!-- Mapping files -->\n"
-      "    <attribute name=\"MapResources\">auction/Item.hbm.xml,auction/Category.hbm.xml</attribute>\n"
-      "\n"
-      "</mbean>\n"
-      "\n"
-      "</server>]]>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<server>\n"
+"\n"
+"<mbean code=\"org.hibernate.jmx.HibernateService\"\n"
+"    name=\"jboss.jca:service=HibernateFactory,name=HibernateFactory\">\n"
+"\n"
+"    <!-- Required services -->\n"
+"    <depends>jboss.jca:service=RARDeployer</depends>\n"
+"    <depends>jboss.jca:service=LocalTxCM,name=HsqlDS</depends>\n"
+"\n"
+"    <!-- Bind the Hibernate service to JNDI -->\n"
+"    <attribute name=\"JndiName\">java:/hibernate/SessionFactory</attribute>\n"
+"\n"
+"    <!-- Datasource settings -->\n"
+"    <attribute name=\"Datasource\">java:HsqlDS</attribute>\n"
+"    <attribute name=\"Dialect\">org.hibernate.dialect.HSQLDialect</"
+"attribute>\n"
+"\n"
+"    <!-- Transaction integration -->\n"
+"    <attribute name=\"TransactionStrategy\">\n"
+"        org.hibernate.transaction.JTATransactionFactory</attribute>\n"
+"    <attribute name=\"TransactionManagerLookupStrategy\">\n"
+"        org.hibernate.transaction.JBossTransactionManagerLookup</attribute>\n"
+"    <attribute name=\"FlushBeforeCompletionEnabled\">true</attribute>\n"
+"    <attribute name=\"AutoCloseSessionEnabled\">true</attribute>\n"
+"\n"
+"    <!-- Fetching options -->\n"
+"    <attribute name=\"MaximumFetchDepth\">5</attribute>\n"
+"\n"
+"    <!-- Second-level caching -->\n"
+"    <attribute name=\"SecondLevelCacheEnabled\">true</attribute>\n"
+"    <attribute name=\"CacheProviderClass\">org.hibernate.cache."
+"EhCacheProvider</attribute>\n"
+"    <attribute name=\"QueryCacheEnabled\">true</attribute>\n"
+"\n"
+"    <!-- Logging -->\n"
+"    <attribute name=\"ShowSqlEnabled\">true</attribute>\n"
+"\n"
+"    <!-- Mapping files -->\n"
+"    <attribute name=\"MapResources\">auction/Item.hbm.xml,auction/Category."
+"hbm.xml</attribute>\n"
+"\n"
+"</mbean>\n"
+"\n"
+"</server>]]>"
 msgstr ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<server>\n"
-      "\n"
-      "<mbean code=\"org.hibernate.jmx.HibernateService\"\n"
-      "    name=\"jboss.jca:service=HibernateFactory,name=HibernateFactory\">\n"
-      "\n"
-      "    <!-- Required services -->\n"
-      "    <depends>jboss.jca:service=RARDeployer</depends>\n"
-      "    <depends>jboss.jca:service=LocalTxCM,name=HsqlDS</depends>\n"
-      "\n"
-      "    <!-- Bind the Hibernate service to JNDI -->\n"
-      "    <attribute name=\"JndiName\">java:/hibernate/SessionFactory</attribute>\n"
-      "\n"
-      "    <!-- Datasource settings -->\n"
-      "    <attribute name=\"Datasource\">java:HsqlDS</attribute>\n"
-      "    <attribute name=\"Dialect\">org.hibernate.dialect.HSQLDialect</attribute>\n"
-      "\n"
-      "    <!-- Transaction integration -->\n"
-      "    <attribute name=\"TransactionStrategy\">\n"
-      "        org.hibernate.transaction.JTATransactionFactory</attribute>\n"
-      "    <attribute name=\"TransactionManagerLookupStrategy\">\n"
-      "        org.hibernate.transaction.JBossTransactionManagerLookup</attribute>\n"
-      "    <attribute name=\"FlushBeforeCompletionEnabled\">true</attribute>\n"
-      "    <attribute name=\"AutoCloseSessionEnabled\">true</attribute>\n"
-      "\n"
-      "    <!-- Fetching options -->\n"
-      "    <attribute name=\"MaximumFetchDepth\">5</attribute>\n"
-      "\n"
-      "    <!-- Second-level caching -->\n"
-      "    <attribute name=\"SecondLevelCacheEnabled\">true</attribute>\n"
-      "    <attribute name=\"CacheProviderClass\">org.hibernate.cache.EhCacheProvider</attribute>\n"
-      "    <attribute name=\"QueryCacheEnabled\">true</attribute>\n"
-      "\n"
-      "    <!-- Logging -->\n"
-      "    <attribute name=\"ShowSqlEnabled\">true</attribute>\n"
-      "\n"
-      "    <!-- Mapping files -->\n"
-      "    <attribute name=\"MapResources\">auction/Item.hbm.xml,auction/Category.hbm.xml</attribute>\n"
-      "\n"
-      "</mbean>\n"
-      "\n"
-      "</server>]]>"
 
-#: index.docbook:1629
-msgid "This file is deployed in a directory called <literal>META-INF</literal> and packaged in a JAR file with the extension <literal>.sar</literal> (service archive). You also need to package Hibernate, its required third-party libraries, your compiled persistent classes, as well as your mapping files in the same archive. Your enterprise beans (usually session beans) may be kept in their own JAR file, but you may include this EJB JAR file in the main service archive to get a single (hot-)deployable unit. Consult the JBoss AS documentation for more information about JMX service and EJB deployment."
-msgstr "이 파일은 <literal>META-INF</literal>로 명명된 디렉토리 속에 배치되고 확장자 <literal>.sar</literal> (service archive)를 가진 한 개의 JAR 파일 속에 패키징된다. 당신은 또한 Hibernate, 그것의 필요한 제 3의 라이브러리들, 당신의 컴파일된 영속 클래스들 뿐만 아니라 당신의 매핑 파일들을 동일한 아카이브 속에 패키징할 필요가 있다. 당신의 엔터프라이즈 빈즈(대개 session beans)는 그것들 자신의 JAR 파일 속에 유지될 수 있지만, 당신은 한 개의 (hot-)배치 가능한 단위를 얻기 위해 메인 서비스 아카이브 속에 이 EJB JAR 파일을 포함시킬 수도 있다. JMX 서비스와 EJB 배치에 관한 추가 정보는 JBoss AS 문서를 참조하라."
+#. Tag: para
+#: configuration.xml:1629
+#, no-c-format
+msgid ""
+"This file is deployed in a directory called <literal>META-INF</literal> and "
+"packaged in a JAR file with the extension <literal>.sar</literal> (service "
+"archive). You also need to package Hibernate, its required third-party "
+"libraries, your compiled persistent classes, as well as your mapping files "
+"in the same archive. Your enterprise beans (usually session beans) may be "
+"kept in their own JAR file, but you may include this EJB JAR file in the "
+"main service archive to get a single (hot-)deployable unit. Consult the "
+"JBoss AS documentation for more information about JMX service and EJB "
+"deployment."
+msgstr ""
+"이 파일은 <literal>META-INF</literal>로 명명된 디렉토리 속에 배치되고 확장자 "
+"<literal>.sar</literal> (service archive)를 가진 한 개의 JAR 파일 속에 패키징"
+"된다. 당신은 또한 Hibernate, 그것의 필요한 제 3의 라이브러리들, 당신의 컴파일"
+"된 영속 클래스들 뿐만 아니라 당신의 매핑 파일들을 동일한 아카이브 속에 패키징"
+"할 필요가 있다. 당신의 엔터프라이즈 빈즈(대개 session beans)는 그것들 자신의 "
+"JAR 파일 속에 유지될 수 있지만, 당신은 한 개의 (hot-)배치 가능한 단위를 얻기 "
+"위해 메인 서비스 아카이브 속에 이 EJB JAR 파일을 포함시킬 수도 있다. JMX 서비"
+"스와 EJB 배치에 관한 추가 정보는 JBoss AS 문서를 참조하라."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "<placeholder-1/> (optional)"
+#~ msgstr "<placeholder-1/> (옵션)"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "InitialContextFactory"
+#~ msgstr "InitialContextFactory"
 
+#~ msgid "class of the JNDI <placeholder-1/>"
+#~ msgstr "JNDI <placeholder-1/>의 클래스"
+
+#~ msgid "eg."
+#~ msgstr "예."
+
+#~ msgid "full.classname.of.Dialect"
+#~ msgstr "full.classname.of.Dialect"
+
+#~ msgid "debug"
+#~ msgstr "debug"
+
+#~ msgid "SCHEMA_NAME"
+#~ msgstr "SCHEMA_NAME"
+
+#~ msgid "CATALOG_NAME"
+#~ msgstr "CATALOG_NAME"
+
+#~ msgid "SessionFactory"
+#~ msgstr "SessionFactory"
+
+#~ msgid "jndi/composite/name"
+#~ msgstr "jndi/composite/name"
+
+#~ msgid "0"
+#~ msgstr "0"
+
+#~ msgid "false"
+#~ msgstr "false"
+
+#~ msgid "Statement.setFetchSize()"
+#~ msgstr "Statement.setFetchSize()"
+
+#~ msgid "true"
+#~ msgstr "executeBatch()"
+
+#~ msgid "executeBatch()"
+#~ msgstr "true"
+
+#~ msgid "Batcher"
+#~ msgstr "Batcher"
+
+#~ msgid "classname.of.BatcherFactory"
+#~ msgstr "classname.of.BatcherFactory"
+
+#~ msgid "binary"
+#~ msgstr "binary"
+
+#~ msgid "serializable"
+#~ msgstr "serializable"
+
+#~ msgid "PreparedStatement.getGeneratedKeys()"
+#~ msgstr "PreparedStatement.getGeneratedKeys()"
+
+#~ msgid "true|false"
+#~ msgstr "true|false"
+
+#~ msgid "ConnectionProvider"
+#~ msgstr "ConnectionProvider"
+
+#~ msgid "classname.of.ConnectionProvider"
+#~ msgstr "classname.of.ConnectionProvider"
+
+#~ msgid "java.sql.Connection"
+#~ msgstr "java.sql.Connection"
+
+#~ msgid "1, 2, 4, 8"
+#~ msgstr "1, 2, 4, 8"
+
+#~ msgid "after_statement"
+#~ msgstr "after_statement"
+
+#~ msgid "after_transaction"
+#~ msgstr "after_transaction"
+
+#~ msgid "auto"
+#~ msgstr "auto"
+
+#~ msgid "hibernate.connection."
+#~ msgstr "&lt;propertyName&gt;"
+
+#, fuzzy
+#~ msgid "&lt;propertyName&gt;"
+#~ msgstr ""
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "hibernate.connection.<placeholder-1/>\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "propertyName\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "hibernate.jndi.<placeholder-1/>\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "propertyName"
+
+#~ msgid "DriverManager.getConnection()"
+#~ msgstr "DriverManager.getConnection()"
+
+#~ msgid "Pass the JDBC property <placeholder-1/> to <placeholder-2/>."
+#~ msgstr "JDBC 프로퍼티 <placeholder-1/>을 <placeholder-2/>에 전달한다."
+
+#~ msgid "hibernate.jndi."
+#~ msgstr "&lt;propertyName&gt;"
+
+#~ msgid "Pass the property <placeholder-1/> to the JNDI <placeholder-2/>."
+#~ msgstr "<placeholder-1/> 프로퍼티를 JNDI <placeholder-2/>에 전달한다."
+
+#~ msgid "CacheProvider"
+#~ msgstr "CacheProvider"
+
+#~ msgid "classname.of.CacheProvider"
+#~ msgstr "classname.of.CacheProvider"
+
+#~ msgid "&lt;cache&gt;"
+#~ msgstr "&lt;cache&gt;"
+
+#~ msgid "QueryCache"
+#~ msgstr "QueryCache"
+
+#~ msgid "StandardQueryCache"
+#~ msgstr "StandardQueryCache"
+
+#~ msgid "classname.of.QueryCache"
+#~ msgstr "classname.of.QueryCache"
+
+#~ msgid "prefix"
+#~ msgstr "prefix"
+
+#~ msgid "TransactionFactory"
+#~ msgstr "Transaction"
+
+#~ msgid "Transaction"
+#~ msgstr "TransactionFactory"
+
+#~ msgid "JDBCTransactionFactory"
+#~ msgstr "JDBCTransactionFactory"
+
+#~ msgid "classname.of.TransactionFactory"
+#~ msgstr "classname.of.TransactionFactory"
+
+#~ msgid "JTATransactionFactory"
+#~ msgstr "UserTransaction"
+
+#~ msgid "UserTransaction"
+#~ msgstr "JTATransactionFactory"
+
+#~ msgid "TransactionManagerLookup"
+#~ msgstr "TransactionManagerLookup"
+
+#~ msgid "classname.of.TransactionManagerLookup"
+#~ msgstr "classname.of.TransactionManagerLookup"
+
+#~ msgid "Session"
+#~ msgstr "Session"
+
+#~ msgid "hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC"
+#~ msgstr "hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC"
+
+#~ msgid "create-drop"
+#~ msgstr "create-drop"
+
+#~ msgid "hibernate.cfg.xml"
+#~ msgstr "hibernate.cfg.xml"
+
+#~ msgid "DB2"
+#~ msgstr "DB2"

Modified: core/trunk/documentation/manual/translations/ko-KR/content/events.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/events.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/events.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,362 +1,473 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: events.xml:5
+#, no-c-format
 msgid "Interceptors and events"
 msgstr "인터셉터들과 이벤트들"
 
-#: index.docbook:7
-msgid "It is often useful for the application to react to certain events that occur inside Hibernate. This allows implementation of certain kinds of generic functionality, and extension of Hibernate functionality."
-msgstr "어플리케이션이 Hibernate 내부에서 발생하는 어떤 이벤트들에 대해 반응하는 것에 흔히 유용하다. 이것은 어떤 종류의 일반적인 기능, 그리고 Hibernate의 확장 기능의 구현을 허용해준다."
+#. Tag: para
+#: events.xml:7
+#, no-c-format
+msgid ""
+"It is often useful for the application to react to certain events that occur "
+"inside Hibernate. This allows implementation of certain kinds of generic "
+"functionality, and extension of Hibernate functionality."
+msgstr ""
+"어플리케이션이 Hibernate 내부에서 발생하는 어떤 이벤트들에 대해 반응하는 것"
+"에 흔히 유용하다. 이것은 어떤 종류의 일반적인 기능, 그리고 Hibernate의 확장 "
+"기능의 구현을 허용해준다."
 
-#: index.docbook:14
+#. Tag: title
+#: events.xml:14
+#, no-c-format
 msgid "Interceptors"
 msgstr "인터셉터들"
 
-#: index.docbook:16
-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 "<literal>Interceptor</literal> 인터페이스는 영속 객체가 저장되고, 업데이트되고, 삭제되거나 로드되기 전에 영속 객체의 프로퍼티들을 조사하고/하거나 처리하는 것을 어플리케이션에 허용해줌으로써 세션으로부터 어플리케이션으로의 콜백들을 제공한다. 이것에 대한 한 가지 가능한 사용은 감사 정보를 추적하는 것이다. 예를 들어, 다음 <literal>Interceptor</literal>는 <literal>Auditable</literal>이 생성될 때 <literal>createTimestamp</literal>를 자동적으로 설정하고 <literal>Auditable</literal>이 업데이트될 때 <literal>lastUpdateTimestamp</literal> 프로퍼티를 업데이트 한다."
+#. Tag: para
+#: events.xml:16
+#, 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 ""
+"<literal>Interceptor</literal> 인터페이스는 영속 객체가 저장되고, 업데이트되"
+"고, 삭제되거나 로드되기 전에 영속 객체의 프로퍼티들을 조사하고/하거나 처리하"
+"는 것을 어플리케이션에 허용해줌으로써 세션으로부터 어플리케이션으로의 콜백들"
+"을 제공한다. 이것에 대한 한 가지 가능한 사용은 감사 정보를 추적하는 것이다. "
+"예를 들어, 다음 <literal>Interceptor</literal>는 <literal>Auditable</literal>"
+"이 생성될 때 <literal>createTimestamp</literal>를 자동적으로 설정하고 "
+"<literal>Auditable</literal>이 업데이트될 때 <literal>lastUpdateTimestamp</"
+"literal> 프로퍼티를 업데이트 한다."
 
-#: index.docbook:27
-msgid "You may either implement <literal>Interceptor</literal> directly or (better) extend <literal>EmptyInterceptor</literal>."
-msgstr "당신은 <literal>Interceptor</literal>를 직접 구현해야 하거나 (더 좋게는) <literal>EmptyInterceptor</literal>를 확장(extend)해야 한다."
+#. Tag: para
+#: events.xml:27
+#, no-c-format
+msgid ""
+"You may either implement <literal>Interceptor</literal> directly or (better) "
+"extend <literal>EmptyInterceptor</literal>."
+msgstr ""
+"당신은 <literal>Interceptor</literal>를 직접 구현해야 하거나 (더 좋게는) "
+"<literal>EmptyInterceptor</literal>를 확장(extend)해야 한다."
 
-#: index.docbook:32
+#. Tag: programlisting
+#: events.xml:32
+#, no-c-format
 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"
-      "}]]>"
+"<![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 ""
-      "<![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"
-      "}]]>"
 
-#: index.docbook:34
-msgid "Interceptors come in two flavors: <literal>Session</literal>-scoped and <literal>SessionFactory</literal>-scoped."
-msgstr "인터셉터들은 다음 두 개의 특징들로 나타난다: <literal>Session</literal>-영역화 그리고 <literal>SessionFactory</literal>-영역화."
+#. Tag: para
+#: events.xml:34
+#, no-c-format
+msgid ""
+"Interceptors come in two flavors: <literal>Session</literal>-scoped and "
+"<literal>SessionFactory</literal>-scoped."
+msgstr ""
+"인터셉터들은 다음 두 개의 특징들로 나타난다: <literal>Session</literal>-영역"
+"화 그리고 <literal>SessionFactory</literal>-영역화."
 
-#: index.docbook:39
-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 "<literal>Session</literal>-영역의 인터셉터는 세션이 하나의 <literal>Interceptor</literal>를 수용하는 오버로드된 SessionFactory.openSession() 메소드들 중 하나를 사용하여 열릴 때 지정된다."
+#. Tag: para
+#: events.xml:39
+#, 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 ""
+"<literal>Session</literal>-영역의 인터셉터는 세션이 하나의 "
+"<literal>Interceptor</literal>를 수용하는 오버로드된 SessionFactory."
+"openSession() 메소드들 중 하나를 사용하여 열릴 때 지정된다."
 
-#: index.docbook:45
+#. Tag: programlisting
+#: events.xml:45
+#, no-c-format
 msgid "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
-msgstr "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
+msgstr ""
 
-#: index.docbook:47
-msgid "A <literal>SessionFactory</literal>-scoped interceptor is registered with the <literal>Configuration</literal> object prior to building the <literal>SessionFactory</literal>. In this case, the supplied interceptor will be applied to all sessions opened from that <literal>SessionFactory</literal>; this is true unless a session is opened explicitly specifying the interceptor to use. <literal>SessionFactory</literal>-scoped interceptors must be thread safe, taking care to not store session-specific state since multiple sessions will use this interceptor (potentially) concurrently."
-msgstr "당신은 또한 <literal>Configuration</literal>을 사용하여 인터셉터를 전역 레벨 상에 설정할 수도 있다. 이 경우에, 인터셉터는 threadsafe이어야 한다."
+#. Tag: para
+#: events.xml:47
+#, 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>. In this case, the supplied interceptor "
+"will be applied to all sessions opened from that <literal>SessionFactory</"
+"literal>; this is true unless a session is opened explicitly specifying the "
+"interceptor to use. <literal>SessionFactory</literal>-scoped interceptors "
+"must be thread safe, taking care to not store session-specific state since "
+"multiple sessions will use this interceptor (potentially) concurrently."
+msgstr ""
+"<literal>SessionFactory</literal>-영역의 인터셉터는 <literal>SessionFactory</"
+"literal>을 빌드하기에 앞서 <literal>Configuration</literal> 객체에 등록된다. "
+"이 경우에, 공급되는 인터셉터는 그 <literal>SessionFactory</literal>로부터 열"
+"려진 모든 세션들에 적용될 것이다; 하나의 세션이 사용할 인터셉터를 명시적으로 "
+"지정하여 열리지 않는 한 이것은 참이다. <literal>SessionFactory</literal>-영역"
+"의 인터셉터들은 세션-지정적인 상태를 저장하지 않도록 주의하여 쓰레드-안전해"
+"야 한다. 왜냐하면 다중 세션들은 (잠정적으로) 이 인터셉터를 동시적으로 사용할 "
+"것이기 때문이다."
 
-#: index.docbook:56
-msgid "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
-msgstr "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
+#. Tag: programlisting
+#: events.xml:56
+#, no-c-format
+msgid ""
+"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
+msgstr ""
 
-#: index.docbook:61
+#. Tag: title
+#: events.xml:61
+#, no-c-format
 msgid "Event system"
-msgstr "<literal>SessionFactory</literal>-영역의 인터셉터는 <literal>SessionFactory</literal>을 빌드하기에 앞서 <literal>Configuration</literal> 객체에 등록된다. 이 경우에, 공급되는 인터셉터는 그 <literal>SessionFactory</literal>로부터 열려진 모든 세션들에 적용될 것이다; 하나의 세션이 사용할 인터셉터를 명시적으로 지정하여 열리지 않는 한 이것은 참이다. <literal>SessionFactory</literal>-영역의 인터셉터들은 세션-지정적인 상태를 저장하지 않도록 주의하여 쓰레드-안전해야 한다. 왜냐하면 다중 세션들은 (잠정적으로) 이 인터셉터를 동시적으로 사용할 것이기 때문이다."
+msgstr "이벤트 시스템"
 
-#: index.docbook:63
-msgid "If you have to react to particular events in your persistence layer, you may also use the Hibernate3 <emphasis>event</emphasis> architecture. The event system can be used in addition or as a replacement for interceptors."
-msgstr "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
+#. Tag: para
+#: events.xml:63
+#, no-c-format
+msgid ""
+"If you have to react to particular events in your persistence layer, you may "
+"also use the Hibernate3 <emphasis>event</emphasis> architecture. The event "
+"system can be used in addition or as a replacement for interceptors."
+msgstr ""
+"만일 당신이 당신의 영속 계층에서 특정 이벤트들에 대해 반응해야 한다면, 당신"
+"은 또한 Hibernate3 <emphasis>event</emphasis> 아키텍처를 사용할 수도 있다. 이"
+"벤트 시스템은 부가물로 사용될 수 있거나 인터셉터들에 대한 대체물로 사용될 수 "
+"있다."
 
-#: index.docbook:69
-msgid "Essentially all of 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 implemenation 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 "이벤트 시스템"
+#. Tag: para
+#: events.xml:69
+#, no-c-format
+msgid ""
+"Essentially all of 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 implemenation 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 ""
+"본질적으로 <literal>Session</literal> 인터페이스의 모든 메소드들은 이벤트와 "
+"서로 관련되어 있다. 당신은 <literal>LoadEvent</literal>, "
+"<literal>FlushEvent</literal>, 등을 갖는다 (정의된 이벤트 타입들의 전체 리스"
+"트에 대해서는 XML 구성 파일 DTD 또는 <literal>org.hibernate.event</literal> "
+"패키지를 참조하라). 하나의 요청이 이들 메소드들 중 하나에 의해 만들어질 때, "
+"Hibernate <literal>Session</literal>은 적절한 이벤트를 생성시키고 그것을 그 "
+"타입의 구성된 이벤트 리스너에게 전달한다. 박싱없이, 이들 리스너들은 그들 메소"
+"드들이 항상 귀결되었던 동일한 프로세싱을 구현한다. 하지만 당신이 리스너 인터"
+"페이스들 중 하나의 맞춤을 구현하는 것이 자유롭고(예를 들어 "
+"<literal>LoadEvent</literal>는 <literal>LoadEventListener</literal> 인터페이"
+"스의 등록된 구현에 의해 처리된다), 그 경우에 그들 구현은 <literal>Session</"
+"literal>에 대해 행해진 임의의 <literal>load()</literal> 요청들을 처리할 책임"
+"이 있을 것이다."
 
-#: index.docbook:84
-msgid "The listeners should be considered effectively singletons; meaning, they are shared between requests, and thus should not save any state as instance variables."
-msgstr "만일 당신이 당신의 영속 계층에서 특정 이벤트들에 대해 반응해야 한다면, 당신은 또한 Hibernate3 <emphasis>event</emphasis> 아키텍처를 사용할 수도 있다. 이벤트 시스템은 부가물로 사용될 수 있거나 인터셉터들에 대한 대체물로 사용될 수 있다."
+#. Tag: para
+#: events.xml:84
+#, no-c-format
+msgid ""
+"The listeners should be considered effectively singletons; meaning, they are "
+"shared between requests, and thus should not save any state as instance "
+"variables."
+msgstr ""
+"리스너들은 효율적이게끔 싱글톤(singleton)들로 간주되어야 할 것이다; 이것은 그"
+"것들이 요청들 사이에서 공유되고, 따라서 임의의 상태를 인스턴스 변수들로서 저"
+"장하지 말아야 함을 의미한다."
 
-#: index.docbook:89
-msgid "A custom listener should implement 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's an example of a custom load event listener:"
-msgstr "본질적으로 <literal>Session</literal> 인터페이스의 모든 메소드들은 이벤트와 서로 관련되어 있다. 당신은 <literal>LoadEvent</literal>, <literal>FlushEvent</literal>, 등을 갖는다 (정의된 이벤트 타입들의 전체 리스트에 대해서는 XML 구성 파일 DTD 또는 <literal>org.hibernate.event</literal> 패키지를 참조하라). 하나의 요청이 이들 메소드들 중 하나에 의해 만들어질 때, Hibernate <literal>Session</literal>은 적절한 이벤트를 생성시키고 그것을 그 타입의 구성된 이벤트 리스너에게 전달한다. 박싱없이, 이들 리스너들은 그들 메소드들이 항상 귀결되었던 동일한 프로세싱을 구현한다. 하지만 당신이 리스너 인터페이스들 중 하나의 맞춤을 구현하는 것이 자유롭고(예를 들어 <literal>LoadEvent</literal>는 <literal>LoadEventListener</literal> 인터페이스의 등록된 구현에 의해 처리된다)!
 , 그 경우에 그들 구현은 <literal>Session</literal>에 대해 행해진 임의의 <literal>load()</literal> 요청들을 처리할 책임이 있을 것이다."
+#. Tag: para
+#: events.xml:89
+#, no-c-format
+msgid ""
+"A custom listener should implement 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's an "
+"example of a custom load event listener:"
+msgstr ""
+"맞춤형 리스너는 그것이 편의적인 기저 클래스들(또는 리스너들이 이 용도로 final"
+"이 아닌 것으로 선언되므로 Hibernate out-of-the-box에 의해 사용된 디폴트 이벤"
+"트 리스너들) 중 하나를 처리하고/하거나 확장하고자 원하는 이벤트들에 대해 적절"
+"한 인터페이스를 구현해야 한다. 맞춤형 리스너들은 <literal>Configuration</"
+"literal> 객체를 통해 프로그램 상으로 등록될 수 있거나, Hibernate 구성 XML 속"
+"에 지정될 수 있다 (properties 파일을 통한 선언적인 구성은 지원되지 않는다). "
+"다음은 맞춤형 load 이벤트 리스너에 대한 예제이다:"
 
-#: index.docbook:99
+#. Tag: programlisting
+#: events.xml:99
+#, no-c-format
 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 "리스너들은 효율적이게끔 싱글톤(singleton)들로 간주되어야 할 것이다; 이것은 그것들이 요청들 사이에서 공유되고, 따라서 임의의 상태를 인스턴스 변수들로서 저장하지 말아야 함을 의미한다."
+"<![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 ""
 
-#: index.docbook:101
-msgid "You also need a configuration entry telling Hibernate to use the listener in addition to the default listener:"
-msgstr "맞춤형 리스너는 그것이 편의적인 기저 클래스들(또는 리스너들이 이 용도로 final이 아닌 것으로 선언되므로 Hibernate out-of-the-box에 의해 사용된 디폴트 이벤트 리스너들) 중 하나를 처리하고/하거나 확장하고자 원하는 이벤트들에 대해 적절한 인터페이스를 구현해야 한다. 맞춤형 리스너들은 <literal>Configuration</literal> 객체를 통해 프로그램 상으로 등록될 수 있거나, Hibernate 구성 XML 속에 지정될 수 있다 (properties 파일을 통한 선언적인 구성은 지원되지 않는다). 다음은 맞춤형 load 이벤트 리스너에 대한 예제이다:"
+#. Tag: para
+#: events.xml:101
+#, no-c-format
+msgid ""
+"You also need a configuration entry telling Hibernate to use the listener in "
+"addition to the default listener:"
+msgstr ""
+"당신은 또한 디폴트 리스너에 덧붙여 그 리스너를 사용하도록 Hibernate에게 알려"
+"주는 구성 엔트리를 필요로 한다:"
 
-#: index.docbook:106
+#. Tag: programlisting
+#: events.xml:106
+#, no-c-format
 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>]]>"
+"<![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 ""
-      "<![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"
-      "}]]>"
 
-#: index.docbook:108
+#. Tag: para
+#: events.xml:108
+#, no-c-format
 msgid "Instead, you may register it programmatically:"
-msgstr "당신은 또한 디폴트 리스너에 덧붙여 그 리스너를 사용하도록 Hibernate에게 알려주는 구성 엔트리를 필요로 한다:"
+msgstr "대신에 당신은 그것을 프로그래밍 방식으로 등록할 수도 있다:"
 
-#: index.docbook:112
+#. Tag: programlisting
+#: events.xml:112
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = new Configuration();\n"
-      "LoadEventListener[] stack = { new MyLoadListener(), new DefaultLoadEventListener() };\n"
-      "cfg.EventListeners().setLoadEventListeners(stack);]]>"
+"<![CDATA[Configuration cfg = new Configuration();\n"
+"LoadEventListener[] stack = { new MyLoadListener(), new "
+"DefaultLoadEventListener() };\n"
+"cfg.EventListeners().setLoadEventListeners(stack);]]>"
 msgstr ""
-      "<![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>]]>"
 
-#: index.docbook:114
-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 the capability to share listener instances between listener types you must use the programmatic registration approach."
-msgstr "대신에 당신은 그것을 프로그래밍 방식으로 등록할 수도 있다:"
+#. Tag: para
+#: events.xml:114
+#, 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 the "
+"capability to share listener instances between listener types you must use "
+"the programmatic registration approach."
+msgstr ""
+"선언적으로 등록된 리스너들은 인스턴스들을 공유할 수 없다. 만일 동일한 클래스 "
+"이름이 여러 개의 <literal>&lt;listener/&gt;</literal> 요소들에서 사용될 경"
+"우, 각각의 참조는 그 클래스에 대한 별도의 인스턴스로 귀결될 것이다. 만일 당신"
+"이 리스너 타입들 사이에서 리스너 인스턴스들을 공유할 가용성을 필요로 할 경우 "
+"당신은 프로그래밍 방식의 등록 접근법을 사용해야 한다."
 
-#: index.docbook:122
-msgid "Why implement an interface and define the specific type during configuration? Well, 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."
+#. Tag: para
+#: events.xml:122
+#, no-c-format
+msgid ""
+"Why implement an interface and define the specific type during "
+"configuration? Well, 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 ""
-      "<![CDATA[Configuration cfg = new Configuration();\n"
-      "LoadEventListener[] stack = { new MyLoadListener(), new DefaultLoadEventListener() };\n"
-      "cfg.EventListeners().setLoadEventListeners(stack);]]>"
+"구성 동안에 왜 인터페이스를 구현하고 특정 타입을 지정하는가? 물론 리스너 구현"
+"은 여러 개의 이벤트 리스너 인터페이스들을 구현할 수 있다. 등록 동안에 추가적"
+"으로 타입을 정의하는 것은 컨피그레이션 동안에 맞춤형 리스너들의 사용 여부를 "
+"전환시키는 것을 더 쉽게 해준다."
 
-#: index.docbook:132
+#. Tag: title
+#: events.xml:132
+#, no-c-format
 msgid "Hibernate declarative security"
-msgstr "선언적으로 등록된 리스너들은 인스턴스들을 공유할 수 없다. 만일 동일한 클래스 이름이 여러 개의 <literal>&lt;listener/&gt;</literal> 요소들에서 사용될 경우, 각각의 참조는 그 클래스에 대한 별도의 인스턴스로 귀결될 것이다. 만일 당신이 리스너 타입들 사이에서 리스너 인스턴스들을 공유할 가용성을 필요로 할 경우 당신은 프로그래밍 방식의 등록 접근법을 사용해야 한다."
+msgstr "Hibernate 선언적인 보안"
 
-#: index.docbook:133
-msgid "Usually, declarative security in Hibernate applications is managed in a session facade layer. Now, Hibernate3 allows certain actions to be permissioned via JACC, and authorized via JAAS. This is optional functionality built on top of the event architecture."
-msgstr "구성 동안에 왜 인터페이스를 구현하고 특정 타입을 지정하는가? 물론 리스너 구현은 여러 개의 이벤트 리스너 인터페이스들을 구현할 수 있다. 등록 동안에 추가적으로 타입을 정의하는 것은 컨피그레이션 동안에 맞춤형 리스너들의 사용 여부를 전환시키는 것을 더 쉽게 해준다."
+#. Tag: para
+#: events.xml:133
+#, no-c-format
+msgid ""
+"Usually, declarative security in Hibernate applications is managed in a "
+"session facade layer. Now, Hibernate3 allows certain actions to be "
+"permissioned via JACC, and authorized via JAAS. This is optional "
+"functionality built on top of the event architecture."
+msgstr ""
+"대개 Hibernate 어플리케이션들에서 선언적인 보안은 session facade 계층 내에서 "
+"관리된다. 이제, Hibernate3는 어떤 액션들이 JACC를 통해 퍼미션을 주어지고, "
+"JAAS를 통해 인가되는 것을 허용해준다. 이것은 모든 아키텍처의 상단에 빌드된 옵"
+"션 기능이다."
 
-#: index.docbook:139
-msgid "First, you must configure the appropriate event listeners, to enable the use of JAAS authorization."
-msgstr "Hibernate 선언적인 보안"
+#. Tag: para
+#: events.xml:139
+#, no-c-format
+msgid ""
+"First, you must configure the appropriate event listeners, to enable the use "
+"of JAAS authorization."
+msgstr ""
+"먼저, 당신은 JAAS authorization 사용을 이용 가능하도록 하기 위해 적절한 이벤"
+"트 리스터들을 구성해야 한다."
 
-#: index.docbook:144
+#. Tag: programlisting
+#: events.xml:144
+#, no-c-format
 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 "대개 Hibernate 어플리케이션들에서 선언적인 보안은 session facade 계층 내에서 관리된다. 이제, Hibernate3는 어떤 액션들이 JACC를 통해 퍼미션을 주어지고, JAAS를 통해 인가되는 것을 허용해준다. 이것은 모든 아키텍처의 상단에 빌드된 옵션 기능이다."
+"<![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 ""
 
-#: index.docbook:146
-msgid "Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is just a 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 "먼저, 당신은 JAAS authorization 사용을 이용 가능하도록 하기 위해 적절한 이벤트 리스터들을 구성해야 한다."
+#. Tag: para
+#: events.xml:146
+#, no-c-format
+msgid ""
+"Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is "
+"just a 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 ""
+"<literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal>는 특정 이벤"
+"트 타입에 대해 정확히 한 개의 리스너가 존재할 때 단지 <literal>&lt;event "
+"type=\"...\"&gt;&lt;listener class=\"...\"/&gt;&lt;/event&gt;</literal>의 단"
+"축형임을 노트하라."
 
-#: index.docbook:152
-msgid "Next, still in <literal>hibernate.cfg.xml</literal>, bind the permissions to roles:"
+#. Tag: para
+#: events.xml:152
+#, no-c-format
+msgid ""
+"Next, still in <literal>hibernate.cfg.xml</literal>, bind the permissions to "
+"roles:"
 msgstr ""
-      "<![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\"/>]]>"
+"다음으로, 여전히 <literal>hibernate.cfg.xml</literal> 내에서 퍼미션들을 role"
+"들에 바인드 시킨다 :"
 
-#: index.docbook:156
+#. Tag: programlisting
+#: events.xml:156
+#, no-c-format
 msgid ""
-      "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,read\"/>\n"
-      "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
-msgstr "<literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal>는 특정 이벤트 타입에 대해 정확히 한 개의 리스너가 존재할 때 단지 <literal>&lt;event type=\"...\"&gt;&lt;listener class=\"...\"/&gt;&lt;/event&gt;</literal>의 단축형임을 노트하라."
+"<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,"
+"read\"/>\n"
+"<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
+msgstr ""
 
-#: index.docbook:158
+#. Tag: para
+#: events.xml:158
+#, no-c-format
 msgid "The role names are the roles understood by your JACC provider."
-msgstr "다음으로, 여전히 <literal>hibernate.cfg.xml</literal> 내에서 퍼미션들을 role들에 바인드 시킨다 :"
-
-#: index.docbook:146
-msgid "appended paragraph 1"
 msgstr ""
-      "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,read\"/>\n"
-      "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
-
-#: index.docbook:148
-msgid "appended paragraph 2"
-msgstr "역할(role) 이름들은 당신의 JACC 프로바이더에 의해 인지된 역할(role)들이다."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+"역할(role) 이름들은 당신의 JACC 프로바이더에 의해 인지된 역할(role)들이다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/example_mappings.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/example_mappings.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/example_mappings.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,1162 +1,795 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:20
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: example_mappings.xml:20
+#, no-c-format
 msgid "Example: Various Mappings"
 msgstr "예제: 여러 가지 매핑들"
 
-#: index.docbook:22
+#. Tag: para
+#: example_mappings.xml:22
+#, no-c-format
 msgid "This chapters shows off some more complex association mappings."
 msgstr "이 장은 몇몇 보다 복잡한 연관 매핑들을 보여준다."
 
-#: index.docbook:27
+#. Tag: title
+#: example_mappings.xml:27
+#, no-c-format
 msgid "Employer/Employee"
 msgstr "Employer/Employee"
 
-#: index.docbook:29
-msgid "The following model of the relationship between <literal>Employer</literal> and <literal>Employee</literal> uses an actual entity class (<literal>Employment</literal>) to represent the association. This is done because there might be more than one period of employment for the same two parties. Components are used to model monetary values and employee names."
-msgstr "<literal>Employer</literal>와 <literal>Employee</literal> 사이의 관계에 대한 다음 모형은 그 연관를 표현하는 데 실제 엔티티 클래스(<literal>Employment</literal>)를 사용한다. 동일한 두 부분들에 대해 하나 이상의 채용 주기가 존재할 수 있기 때문에 이것이 행해진다. 컴포넌트들이 화폐 값들과 종업원 이름들을 모형화 시키는데 사용된다."
+#. Tag: para
+#: example_mappings.xml:29
+#, no-c-format
+msgid ""
+"The following model of the relationship between <literal>Employer</literal> "
+"and <literal>Employee</literal> uses an actual entity class "
+"(<literal>Employment</literal>) to represent the association. This is done "
+"because there might be more than one period of employment for the same two "
+"parties. Components are used to model monetary values and employee names."
+msgstr ""
+"<literal>Employer</literal>와 <literal>Employee</literal> 사이의 관계에 대한 "
+"다음 모형은 그 연관를 표현하는 데 실제 엔티티 클래스(<literal>Employment</"
+"literal>)를 사용한다. 동일한 두 부분들에 대해 하나 이상의 채용 주기가 존재할 "
+"수 있기 때문에 이것이 행해진다. 컴포넌트들이 화폐 값들과 종업원 이름들을 모형"
+"화 시키는데 사용된다."
 
-#: index.docbook:46
+#. Tag: para
+#: example_mappings.xml:46
+#, no-c-format
 msgid "Heres a possible mapping document:"
 msgstr "다음은 가능한 매핑 문서이다:"
 
-#: index.docbook:50
+#. Tag: programlisting
+#: example_mappings.xml:50
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "        \n"
-      "    <class name=\"Employer\" table=\"employers\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">employer_id_seq</param>\n"
-      "            </generator>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Employment\" table=\"employment_periods\">\n"
-      "\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">employment_id_seq</param>\n"
-      "            </generator>\n"
-      "        </id>\n"
-      "        <property name=\"startDate\" column=\"start_date\"/>\n"
-      "        <property name=\"endDate\" column=\"end_date\"/>\n"
-      "\n"
-      "        <component name=\"hourlyRate\" class=\"MonetaryAmount\">\n"
-      "            <property name=\"amount\">\n"
-      "                <column name=\"hourly_rate\" sql-type=\"NUMERIC(12, 2)\"/>\n"
-      "            </property>\n"
-      "            <property name=\"currency\" length=\"12\"/>\n"
-      "        </component>\n"
-      "\n"
-      "        <many-to-one name=\"employer\" column=\"employer_id\" not-null=\"true\"/>\n"
-      "        <many-to-one name=\"employee\" column=\"employee_id\" not-null=\"true\"/>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Employee\" table=\"employees\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">employee_id_seq</param>\n"
-      "            </generator>\n"
-      "        </id>\n"
-      "        <property name=\"taxfileNumber\"/>\n"
-      "        <component name=\"name\" class=\"Name\">\n"
-      "            <property name=\"firstName\"/>\n"
-      "            <property name=\"initial\"/>\n"
-      "            <property name=\"lastName\"/>\n"
-      "        </component>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"        \n"
+"    <class name=\"Employer\" table=\"employers\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\">\n"
+"                <param name=\"sequence\">employer_id_seq</param>\n"
+"            </generator>\n"
+"        </id>\n"
+"        <property name=\"name\"/>\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Employment\" table=\"employment_periods\">\n"
+"\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\">\n"
+"                <param name=\"sequence\">employment_id_seq</param>\n"
+"            </generator>\n"
+"        </id>\n"
+"        <property name=\"startDate\" column=\"start_date\"/>\n"
+"        <property name=\"endDate\" column=\"end_date\"/>\n"
+"\n"
+"        <component name=\"hourlyRate\" class=\"MonetaryAmount\">\n"
+"            <property name=\"amount\">\n"
+"                <column name=\"hourly_rate\" sql-type=\"NUMERIC(12, 2)\"/>\n"
+"            </property>\n"
+"            <property name=\"currency\" length=\"12\"/>\n"
+"        </component>\n"
+"\n"
+"        <many-to-one name=\"employer\" column=\"employer_id\" not-null=\"true"
+"\"/>\n"
+"        <many-to-one name=\"employee\" column=\"employee_id\" not-null=\"true"
+"\"/>\n"
+"\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Employee\" table=\"employees\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"sequence\">\n"
+"                <param name=\"sequence\">employee_id_seq</param>\n"
+"            </generator>\n"
+"        </id>\n"
+"        <property name=\"taxfileNumber\"/>\n"
+"        <component name=\"name\" class=\"Name\">\n"
+"            <property name=\"firstName\"/>\n"
+"            <property name=\"initial\"/>\n"
+"            <property name=\"lastName\"/>\n"
+"        </component>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "        \n"
-      "    <class name=\"Employer\" table=\"employers\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">employer_id_seq</param>\n"
-      "            </generator>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Employment\" table=\"employment_periods\">\n"
-      "\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">employment_id_seq</param>\n"
-      "            </generator>\n"
-      "        </id>\n"
-      "        <property name=\"startDate\" column=\"start_date\"/>\n"
-      "        <property name=\"endDate\" column=\"end_date\"/>\n"
-      "\n"
-      "        <component name=\"hourlyRate\" class=\"MonetaryAmount\">\n"
-      "            <property name=\"amount\">\n"
-      "                <column name=\"hourly_rate\" sql-type=\"NUMERIC(12, 2)\"/>\n"
-      "            </property>\n"
-      "            <property name=\"currency\" length=\"12\"/>\n"
-      "        </component>\n"
-      "\n"
-      "        <many-to-one name=\"employer\" column=\"employer_id\" not-null=\"true\"/>\n"
-      "        <many-to-one name=\"employee\" column=\"employee_id\" not-null=\"true\"/>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Employee\" table=\"employees\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">employee_id_seq</param>\n"
-      "            </generator>\n"
-      "        </id>\n"
-      "        <property name=\"taxfileNumber\"/>\n"
-      "        <component name=\"name\" class=\"Name\">\n"
-      "            <property name=\"firstName\"/>\n"
-      "            <property name=\"initial\"/>\n"
-      "            <property name=\"lastName\"/>\n"
-      "        </component>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:52
-msgid "And heres the table schema generated by <literal>SchemaExport</literal>."
-msgstr "그리고 다음은 <literal>SchemaExport</literal>에 의해 생성된 테이블 스키마이다."
+#. Tag: para
+#: example_mappings.xml:52
+#, no-c-format
+msgid ""
+"And heres the table schema generated by <literal>SchemaExport</literal>."
+msgstr ""
+"그리고 다음은 <literal>SchemaExport</literal>에 의해 생성된 테이블 스키마이"
+"다."
 
-#: index.docbook:56
+#. Tag: programlisting
+#: example_mappings.xml:56
+#, no-c-format
 msgid ""
-      "<![CDATA[create table employers (\n"
-      "    id BIGINT not null, \n"
-      "    name VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table employment_periods (\n"
-      "    id BIGINT not null,\n"
-      "    hourly_rate NUMERIC(12, 2),\n"
-      "    currency VARCHAR(12), \n"
-      "    employee_id BIGINT not null, \n"
-      "    employer_id BIGINT not null, \n"
-      "    end_date TIMESTAMP, \n"
-      "    start_date TIMESTAMP, \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table employees (\n"
-      "    id BIGINT not null, \n"
-      "    firstName VARCHAR(255), \n"
-      "    initial CHAR(1), \n"
-      "    lastName VARCHAR(255), \n"
-      "    taxfileNumber VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "alter table employment_periods \n"
-      "    add constraint employment_periodsFK0 foreign key (employer_id) references employers\n"
-      "alter table employment_periods \n"
-      "    add constraint employment_periodsFK1 foreign key (employee_id) references employees\n"
-      "create sequence employee_id_seq\n"
-      "create sequence employment_id_seq\n"
-      "create sequence employer_id_seq]]>"
+"<![CDATA[create table employers (\n"
+"    id BIGINT not null, \n"
+"    name VARCHAR(255), \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"create table employment_periods (\n"
+"    id BIGINT not null,\n"
+"    hourly_rate NUMERIC(12, 2),\n"
+"    currency VARCHAR(12), \n"
+"    employee_id BIGINT not null, \n"
+"    employer_id BIGINT not null, \n"
+"    end_date TIMESTAMP, \n"
+"    start_date TIMESTAMP, \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"create table employees (\n"
+"    id BIGINT not null, \n"
+"    firstName VARCHAR(255), \n"
+"    initial CHAR(1), \n"
+"    lastName VARCHAR(255), \n"
+"    taxfileNumber VARCHAR(255), \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"alter table employment_periods \n"
+"    add constraint employment_periodsFK0 foreign key (employer_id) "
+"references employers\n"
+"alter table employment_periods \n"
+"    add constraint employment_periodsFK1 foreign key (employee_id) "
+"references employees\n"
+"create sequence employee_id_seq\n"
+"create sequence employment_id_seq\n"
+"create sequence employer_id_seq]]>"
 msgstr ""
-      "<![CDATA[create table employers (\n"
-      "    id BIGINT not null, \n"
-      "    name VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table employment_periods (\n"
-      "    id BIGINT not null,\n"
-      "    hourly_rate NUMERIC(12, 2),\n"
-      "    currency VARCHAR(12), \n"
-      "    employee_id BIGINT not null, \n"
-      "    employer_id BIGINT not null, \n"
-      "    end_date TIMESTAMP, \n"
-      "    start_date TIMESTAMP, \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table employees (\n"
-      "    id BIGINT not null, \n"
-      "    firstName VARCHAR(255), \n"
-      "    initial CHAR(1), \n"
-      "    lastName VARCHAR(255), \n"
-      "    taxfileNumber VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "alter table employment_periods \n"
-      "    add constraint employment_periodsFK0 foreign key (employer_id) references employers\n"
-      "alter table employment_periods \n"
-      "    add constraint employment_periodsFK1 foreign key (employee_id) references employees\n"
-      "create sequence employee_id_seq\n"
-      "create sequence employment_id_seq\n"
-      "create sequence employer_id_seq]]>"
 
-#: index.docbook:61
+#. Tag: title
+#: example_mappings.xml:61
+#, no-c-format
 msgid "Author/Work"
 msgstr "Author/Work"
 
-#: index.docbook:63
-msgid "Consider the following model of the relationships between <literal>Work</literal>, <literal>Author</literal> and <literal>Person</literal>. We represent the relationship between <literal>Work</literal> and <literal>Author</literal> as a many-to-many association. We choose to represent the relationship between <literal>Author</literal> and <literal>Person</literal> as one-to-one association. Another possibility would be to have <literal>Author</literal> extend <literal>Person</literal>."
-msgstr "<literal>Work</literal>, <literal>Author</literal> 그리고 <literal>Person</literal> 사이의 관계들에 대한 다음 모형을 검토하자. 우리는 <literal>Work</literal>과 <literal>Author</literal> 사이의 관계를 many-to-many 연관으로 표현한다. 우리는 <literal>Author</literal>와 <literal>Person</literal> 사이의 관계를 one-to-one 연관으로 표현하고자 선택한다. 또 다른 가능성은 <literal>Author</literal>가 <literal>Person</literal>을 확장하도록 하는 것일 것이다."
+#. Tag: para
+#: example_mappings.xml:63
+#, no-c-format
+msgid ""
+"Consider the following model of the relationships between <literal>Work</"
+"literal>, <literal>Author</literal> and <literal>Person</literal>. We "
+"represent the relationship between <literal>Work</literal> and "
+"<literal>Author</literal> as a many-to-many association. We choose to "
+"represent the relationship between <literal>Author</literal> and "
+"<literal>Person</literal> as one-to-one association. Another possibility "
+"would be to have <literal>Author</literal> extend <literal>Person</literal>."
+msgstr ""
+"<literal>Work</literal>, <literal>Author</literal> 그리고 <literal>Person</"
+"literal> 사이의 관계들에 대한 다음 모형을 검토하자. 우리는 <literal>Work</"
+"literal>과 <literal>Author</literal> 사이의 관계를 many-to-many 연관으로 표현"
+"한다. 우리는 <literal>Author</literal>와 <literal>Person</literal> 사이의 관"
+"계를 one-to-one 연관으로 표현하고자 선택한다. 또 다른 가능성은 "
+"<literal>Author</literal>가 <literal>Person</literal>을 확장하도록 하는 것일 "
+"것이다."
 
-#: index.docbook:81
-msgid "The following mapping document correctly represents these relationships:"
+#. Tag: para
+#: example_mappings.xml:81
+#, no-c-format
+msgid ""
+"The following mapping document correctly represents these relationships:"
 msgstr "다음 매핑 문서는 이들 관계들을 정확하게 표현한다:"
 
-#: index.docbook:85
+#. Tag: programlisting
+#: example_mappings.xml:85
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Work\" table=\"works\" discriminator-value=\"W\">\n"
-      "\n"
-      "        <id name=\"id\" column=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <discriminator column=\"type\" type=\"character\"/>\n"
-      "\n"
-      "        <property name=\"title\"/>\n"
-      "        <set name=\"authors\" table=\"author_work\">\n"
-      "            <key column name=\"work_id\"/>\n"
-      "            <many-to-many class=\"Author\" column name=\"author_id\"/>\n"
-      "        </set>\n"
-      "\n"
-      "        <subclass name=\"Book\" discriminator-value=\"B\">\n"
-      "            <property name=\"text\"/>\n"
-      "        </subclass>\n"
-      "\n"
-      "        <subclass name=\"Song\" discriminator-value=\"S\">\n"
-      "            <property name=\"tempo\"/>\n"
-      "            <property name=\"genre\"/>\n"
-      "        </subclass>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Author\" table=\"authors\">\n"
-      "\n"
-      "        <id name=\"id\" column=\"id\">\n"
-      "            <!-- The Author must have the same identifier as the Person -->\n"
-      "            <generator class=\"assigned\"/> \n"
-      "        </id>\n"
-      "\n"
-      "        <property name=\"alias\"/>\n"
-      "        <one-to-one name=\"person\" constrained=\"true\"/>\n"
-      "\n"
-      "        <set name=\"works\" table=\"author_work\" inverse=\"true\">\n"
-      "            <key column=\"author_id\"/>\n"
-      "            <many-to-many class=\"Work\" column=\"work_id\"/>\n"
-      "        </set>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Person\" table=\"persons\">\n"
-      "        <id name=\"id\" column=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"Work\" table=\"works\" discriminator-value=\"W\">\n"
+"\n"
+"        <id name=\"id\" column=\"id\">\n"
+"            <generator class=\"native\"/>\n"
+"        </id>\n"
+"        <discriminator column=\"type\" type=\"character\"/>\n"
+"\n"
+"        <property name=\"title\"/>\n"
+"        <set name=\"authors\" table=\"author_work\">\n"
+"            <key column name=\"work_id\"/>\n"
+"            <many-to-many class=\"Author\" column name=\"author_id\"/>\n"
+"        </set>\n"
+"\n"
+"        <subclass name=\"Book\" discriminator-value=\"B\">\n"
+"            <property name=\"text\"/>\n"
+"        </subclass>\n"
+"\n"
+"        <subclass name=\"Song\" discriminator-value=\"S\">\n"
+"            <property name=\"tempo\"/>\n"
+"            <property name=\"genre\"/>\n"
+"        </subclass>\n"
+"\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Author\" table=\"authors\">\n"
+"\n"
+"        <id name=\"id\" column=\"id\">\n"
+"            <!-- The Author must have the same identifier as the Person -->\n"
+"            <generator class=\"assigned\"/> \n"
+"        </id>\n"
+"\n"
+"        <property name=\"alias\"/>\n"
+"        <one-to-one name=\"person\" constrained=\"true\"/>\n"
+"\n"
+"        <set name=\"works\" table=\"author_work\" inverse=\"true\">\n"
+"            <key column=\"author_id\"/>\n"
+"            <many-to-many class=\"Work\" column=\"work_id\"/>\n"
+"        </set>\n"
+"\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Person\" table=\"persons\">\n"
+"        <id name=\"id\" column=\"id\">\n"
+"            <generator class=\"native\"/>\n"
+"        </id>\n"
+"        <property name=\"name\"/>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Work\" table=\"works\" discriminator-value=\"W\">\n"
-      "\n"
-      "        <id name=\"id\" column=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <discriminator column=\"type\" type=\"character\"/>\n"
-      "\n"
-      "        <property name=\"title\"/>\n"
-      "        <set name=\"authors\" table=\"author_work\">\n"
-      "            <key column name=\"work_id\"/>\n"
-      "            <many-to-many class=\"Author\" column name=\"author_id\"/>\n"
-      "        </set>\n"
-      "\n"
-      "        <subclass name=\"Book\" discriminator-value=\"B\">\n"
-      "            <property name=\"text\"/>\n"
-      "        </subclass>\n"
-      "\n"
-      "        <subclass name=\"Song\" discriminator-value=\"S\">\n"
-      "            <property name=\"tempo\"/>\n"
-      "            <property name=\"genre\"/>\n"
-      "        </subclass>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Author\" table=\"authors\">\n"
-      "\n"
-      "        <id name=\"id\" column=\"id\">\n"
-      "            <!-- The Author must have the same identifier as the Person -->\n"
-      "            <generator class=\"assigned\"/> \n"
-      "        </id>\n"
-      "\n"
-      "        <property name=\"alias\"/>\n"
-      "        <one-to-one name=\"person\" constrained=\"true\"/>\n"
-      "\n"
-      "        <set name=\"works\" table=\"author_work\" inverse=\"true\">\n"
-      "            <key column=\"author_id\"/>\n"
-      "            <many-to-many class=\"Work\" column=\"work_id\"/>\n"
-      "        </set>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Person\" table=\"persons\">\n"
-      "        <id name=\"id\" column=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:87
-msgid "There are four tables in this mapping. <literal>works</literal>, <literal>authors</literal> and <literal>persons</literal> hold work, author and person data respectively. <literal>author_work</literal> is an association table linking authors to works. Heres the table schema, as generated by <literal>SchemaExport</literal>."
-msgstr "이 매핑에는 네 개의 테이블들이 존재한다. <literal>works</literal>, <literal>authors</literal>와 <literal>persons</literal>은 각각 작업 데이터, 저자 데이터, 개인 데이터를 보관한다. <literal>author_work</literal>는 저자들을 작업들에 연결시키는 연관 테이블이다. 다음은 <literal>SchemaExport</literal>에 의해 생성된 테이블 스키마이다."
+#. Tag: para
+#: example_mappings.xml:87
+#, no-c-format
+msgid ""
+"There are four tables in this mapping. <literal>works</literal>, "
+"<literal>authors</literal> and <literal>persons</literal> hold work, author "
+"and person data respectively. <literal>author_work</literal> is an "
+"association table linking authors to works. Heres the table schema, as "
+"generated by <literal>SchemaExport</literal>."
+msgstr ""
+"이 매핑에는 네 개의 테이블들이 존재한다. <literal>works</literal>, "
+"<literal>authors</literal>와 <literal>persons</literal>은 각각 작업 데이터, "
+"저자 데이터, 개인 데이터를 보관한다. <literal>author_work</literal>는 저자들"
+"을 작업들에 연결시키는 연관 테이블이다. 다음은 <literal>SchemaExport</"
+"literal>에 의해 생성된 테이블 스키마이다."
 
-#: index.docbook:95
+#. Tag: programlisting
+#: example_mappings.xml:95
+#, no-c-format
 msgid ""
-      "<![CDATA[create table works (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    tempo FLOAT, \n"
-      "    genre VARCHAR(255), \n"
-      "    text INTEGER, \n"
-      "    title VARCHAR(255), \n"
-      "    type CHAR(1) not null, \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table author_work (\n"
-      "    author_id BIGINT not null, \n"
-      "    work_id BIGINT not null, \n"
-      "    primary key (work_id, author_id)\n"
-      ")\n"
-      "\n"
-      "create table authors (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    alias VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table persons (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    name VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "alter table authors \n"
-      "    add constraint authorsFK0 foreign key (id) references persons\n"
-      "alter table author_work \n"
-      "    add constraint author_workFK0 foreign key (author_id) references authors\n"
-      "alter table author_work\n"
-      "    add constraint author_workFK1 foreign key (work_id) references works]]>"
+"<![CDATA[create table works (\n"
+"    id BIGINT not null generated by default as identity, \n"
+"    tempo FLOAT, \n"
+"    genre VARCHAR(255), \n"
+"    text INTEGER, \n"
+"    title VARCHAR(255), \n"
+"    type CHAR(1) not null, \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"create table author_work (\n"
+"    author_id BIGINT not null, \n"
+"    work_id BIGINT not null, \n"
+"    primary key (work_id, author_id)\n"
+")\n"
+"\n"
+"create table authors (\n"
+"    id BIGINT not null generated by default as identity, \n"
+"    alias VARCHAR(255), \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"create table persons (\n"
+"    id BIGINT not null generated by default as identity, \n"
+"    name VARCHAR(255), \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"alter table authors \n"
+"    add constraint authorsFK0 foreign key (id) references persons\n"
+"alter table author_work \n"
+"    add constraint author_workFK0 foreign key (author_id) references "
+"authors\n"
+"alter table author_work\n"
+"    add constraint author_workFK1 foreign key (work_id) references works]]>"
 msgstr ""
-      "<![CDATA[create table works (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    tempo FLOAT, \n"
-      "    genre VARCHAR(255), \n"
-      "    text INTEGER, \n"
-      "    title VARCHAR(255), \n"
-      "    type CHAR(1) not null, \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table author_work (\n"
-      "    author_id BIGINT not null, \n"
-      "    work_id BIGINT not null, \n"
-      "    primary key (work_id, author_id)\n"
-      ")\n"
-      "\n"
-      "create table authors (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    alias VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table persons (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    name VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "alter table authors \n"
-      "    add constraint authorsFK0 foreign key (id) references persons\n"
-      "alter table author_work \n"
-      "    add constraint author_workFK0 foreign key (author_id) references authors\n"
-      "alter table author_work\n"
-      "    add constraint author_workFK1 foreign key (work_id) references works]]>"
 
-#: index.docbook:100
+#. Tag: title
+#: example_mappings.xml:100
+#, no-c-format
 msgid "Customer/Order/Product"
 msgstr "Customer/Order/Product"
 
-#: index.docbook:102
-msgid "Now consider a model of the relationships between <literal>Customer</literal>, <literal>Order</literal> and <literal>LineItem</literal> and <literal>Product</literal>. There is a one-to-many association between <literal>Customer</literal> and <literal>Order</literal>, but how should we represent <literal>Order</literal> / <literal>LineItem</literal> / <literal>Product</literal>? I've chosen to map <literal>LineItem</literal> as an association class representing the many-to-many association between <literal>Order</literal> and <literal>Product</literal>. In Hibernate, this is called a composite element."
-msgstr "이제 <literal>Customer</literal>, <literal>Order</literal>와 <literal>LineItem</literal> 그리고 <literal>Product</literal> 사이의 관계들에 관한 모형을 검토하자. <literal>Customer</literal>와 <literal>Order</literal> 사이의 one-to-many 연관이 존재하지만, 우리는 어떻게 <literal>Order</literal> / <literal>LineItem</literal> / <literal>Product</literal>를 표현할 것인가? 나는 <literal>Order</literal>와 <literal>Product</literal> 사이의 many-to-many 연관를 나타내는 하나의 연관 클래스로서 <literal>LineItem</literal>을 매핑하기로 선택했다. Hibernate에서 이것은 composite 요소로 명명된다."
+#. Tag: para
+#: example_mappings.xml:102
+#, no-c-format
+msgid ""
+"Now consider a model of the relationships between <literal>Customer</"
+"literal>, <literal>Order</literal> and <literal>LineItem</literal> and "
+"<literal>Product</literal>. There is a one-to-many association between "
+"<literal>Customer</literal> and <literal>Order</literal>, but how should we "
+"represent <literal>Order</literal> / <literal>LineItem</literal> / "
+"<literal>Product</literal>? I've chosen to map <literal>LineItem</literal> "
+"as an association class representing the many-to-many association between "
+"<literal>Order</literal> and <literal>Product</literal>. In Hibernate, this "
+"is called a composite element."
+msgstr ""
+"이제 <literal>Customer</literal>, <literal>Order</literal>와 "
+"<literal>LineItem</literal> 그리고 <literal>Product</literal> 사이의 관계들"
+"에 관한 모형을 검토하자. <literal>Customer</literal>와 <literal>Order</"
+"literal> 사이의 one-to-many 연관이 존재하지만, 우리는 어떻게 <literal>Order</"
+"literal> / <literal>LineItem</literal> / <literal>Product</literal>를 표현할 "
+"것인가? 나는 <literal>Order</literal>와 <literal>Product</literal> 사이의 "
+"many-to-many 연관를 나타내는 하나의 연관 클래스로서 <literal>LineItem</"
+"literal>을 매핑하기로 선택했다. Hibernate에서 이것은 composite 요소로 명명된"
+"다."
 
-#: index.docbook:122
+#. Tag: para
+#: example_mappings.xml:122
+#, no-c-format
 msgid "The mapping document:"
 msgstr "매핑 문서:"
 
-#: index.docbook:126
+#. Tag: programlisting
+#: example_mappings.xml:126
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Customer\" table=\"customers\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "        <set name=\"orders\" inverse=\"true\">\n"
-      "            <key column=\"customer_id\"/>\n"
-      "            <one-to-many class=\"Order\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Order\" table=\"orders\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"date\"/>\n"
-      "        <many-to-one name=\"customer\" column=\"customer_id\"/>\n"
-      "        <list name=\"lineItems\" table=\"line_items\">\n"
-      "            <key column=\"order_id\"/>\n"
-      "            <list-index column=\"line_number\"/>\n"
-      "            <composite-element class=\"LineItem\">\n"
-      "                <property name=\"quantity\"/>\n"
-      "                <many-to-one name=\"product\" column=\"product_id\"/>\n"
-      "            </composite-element>\n"
-      "        </list>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Product\" table=\"products\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"serialNumber\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"Customer\" table=\"customers\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"native\"/>\n"
+"        </id>\n"
+"        <property name=\"name\"/>\n"
+"        <set name=\"orders\" inverse=\"true\">\n"
+"            <key column=\"customer_id\"/>\n"
+"            <one-to-many class=\"Order\"/>\n"
+"        </set>\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Order\" table=\"orders\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"native\"/>\n"
+"        </id>\n"
+"        <property name=\"date\"/>\n"
+"        <many-to-one name=\"customer\" column=\"customer_id\"/>\n"
+"        <list name=\"lineItems\" table=\"line_items\">\n"
+"            <key column=\"order_id\"/>\n"
+"            <list-index column=\"line_number\"/>\n"
+"            <composite-element class=\"LineItem\">\n"
+"                <property name=\"quantity\"/>\n"
+"                <many-to-one name=\"product\" column=\"product_id\"/>\n"
+"            </composite-element>\n"
+"        </list>\n"
+"    </class>\n"
+"\n"
+"    <class name=\"Product\" table=\"products\">\n"
+"        <id name=\"id\">\n"
+"            <generator class=\"native\"/>\n"
+"        </id>\n"
+"        <property name=\"serialNumber\"/>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"Customer\" table=\"customers\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"name\"/>\n"
-      "        <set name=\"orders\" inverse=\"true\">\n"
-      "            <key column=\"customer_id\"/>\n"
-      "            <one-to-many class=\"Order\"/>\n"
-      "        </set>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Order\" table=\"orders\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"date\"/>\n"
-      "        <many-to-one name=\"customer\" column=\"customer_id\"/>\n"
-      "        <list name=\"lineItems\" table=\"line_items\">\n"
-      "            <key column=\"order_id\"/>\n"
-      "            <list-index column=\"line_number\"/>\n"
-      "            <composite-element class=\"LineItem\">\n"
-      "                <property name=\"quantity\"/>\n"
-      "                <many-to-one name=\"product\" column=\"product_id\"/>\n"
-      "            </composite-element>\n"
-      "        </list>\n"
-      "    </class>\n"
-      "\n"
-      "    <class name=\"Product\" table=\"products\">\n"
-      "        <id name=\"id\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"serialNumber\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:128
-msgid "<literal>customers</literal>, <literal>orders</literal>, <literal>line_items</literal> and <literal>products</literal> hold customer, order, order line item and product data respectively. <literal>line_items</literal> also acts as an association table linking orders with products."
-msgstr "<literal>customers</literal>, <literal>orders</literal>, <literal>line_items</literal> 그리고 <literal>products</literal>는 각각 고객 데이터, 주문 데이터, 주문 라인 아이템 데이터, 그리고 제품 데이터를 보관한다. <literal>line_items</literal>는 또한 주문들을 제품들과 연결시키는 연관 테이블로서 동작한다."
+#. Tag: para
+#: example_mappings.xml:128
+#, no-c-format
+msgid ""
+"<literal>customers</literal>, <literal>orders</literal>, "
+"<literal>line_items</literal> and <literal>products</literal> hold customer, "
+"order, order line item and product data respectively. <literal>line_items</"
+"literal> also acts as an association table linking orders with products."
+msgstr ""
+"<literal>customers</literal>, <literal>orders</literal>, "
+"<literal>line_items</literal> 그리고 <literal>products</literal>는 각각 고객 "
+"데이터, 주문 데이터, 주문 라인 아이템 데이터, 그리고 제품 데이터를 보관한다. "
+"<literal>line_items</literal>는 또한 주문들을 제품들과 연결시키는 연관 테이블"
+"로서 동작한다."
 
-#: index.docbook:135
+#. Tag: programlisting
+#: example_mappings.xml:135
+#, no-c-format
 msgid ""
-      "<![CDATA[create table customers (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    name VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table orders (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    customer_id BIGINT, \n"
-      "    date TIMESTAMP, \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table line_items (\n"
-      "    line_number INTEGER not null, \n"
-      "    order_id BIGINT not null, \n"
-      "    product_id BIGINT, \n"
-      "    quantity INTEGER, \n"
-      "    primary key (order_id, line_number)\n"
-      ")\n"
-      "\n"
-      "create table products (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    serialNumber VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "alter table orders \n"
-      "    add constraint ordersFK0 foreign key (customer_id) references customers\n"
-      "alter table line_items\n"
-      "    add constraint line_itemsFK0 foreign key (product_id) references products\n"
-      "alter table line_items\n"
-      "    add constraint line_itemsFK1 foreign key (order_id) references orders]]>"
+"<![CDATA[create table customers (\n"
+"    id BIGINT not null generated by default as identity, \n"
+"    name VARCHAR(255), \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"create table orders (\n"
+"    id BIGINT not null generated by default as identity, \n"
+"    customer_id BIGINT, \n"
+"    date TIMESTAMP, \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"create table line_items (\n"
+"    line_number INTEGER not null, \n"
+"    order_id BIGINT not null, \n"
+"    product_id BIGINT, \n"
+"    quantity INTEGER, \n"
+"    primary key (order_id, line_number)\n"
+")\n"
+"\n"
+"create table products (\n"
+"    id BIGINT not null generated by default as identity, \n"
+"    serialNumber VARCHAR(255), \n"
+"    primary key (id)\n"
+")\n"
+"\n"
+"alter table orders \n"
+"    add constraint ordersFK0 foreign key (customer_id) references customers\n"
+"alter table line_items\n"
+"    add constraint line_itemsFK0 foreign key (product_id) references "
+"products\n"
+"alter table line_items\n"
+"    add constraint line_itemsFK1 foreign key (order_id) references orders]]>"
 msgstr ""
-      "<![CDATA[create table customers (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    name VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table orders (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    customer_id BIGINT, \n"
-      "    date TIMESTAMP, \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "create table line_items (\n"
-      "    line_number INTEGER not null, \n"
-      "    order_id BIGINT not null, \n"
-      "    product_id BIGINT, \n"
-      "    quantity INTEGER, \n"
-      "    primary key (order_id, line_number)\n"
-      ")\n"
-      "\n"
-      "create table products (\n"
-      "    id BIGINT not null generated by default as identity, \n"
-      "    serialNumber VARCHAR(255), \n"
-      "    primary key (id)\n"
-      ")\n"
-      "\n"
-      "alter table orders \n"
-      "    add constraint ordersFK0 foreign key (customer_id) references customers\n"
-      "alter table line_items\n"
-      "    add constraint line_itemsFK0 foreign key (product_id) references products\n"
-      "alter table line_items\n"
-      "    add constraint line_itemsFK1 foreign key (order_id) references orders]]>"
 
-#: index.docbook:140
+#. Tag: title
+#: example_mappings.xml:140
+#, no-c-format
 msgid "Miscellaneous example mappings"
 msgstr "기타 예제 매핑들"
 
-#: index.docbook:142
-msgid "These examples are all taken from the Hibernate test suite. You will find many other useful example mappings there. Look in the <literal>test</literal> folder of the Hibernate distribution."
-msgstr "이들 예제들은 모두 Hiberante test suite로부터 취했다. 당신은 거기서 많은 다른 유용한 예제 매핑들을 발견할 것이다. Hibernate 배포본의 <literal>test</literal> 폴더를 살펴보라."
+#. Tag: para
+#: example_mappings.xml:142
+#, no-c-format
+msgid ""
+"These examples are all taken from the Hibernate test suite. You will find "
+"many other useful example mappings there. Look in the <literal>test</"
+"literal> folder of the Hibernate distribution."
+msgstr ""
+"이들 예제들은 모두 Hiberante test suite로부터 취했다. 당신은 거기서 많은 다"
+"른 유용한 예제 매핑들을 발견할 것이다. Hibernate 배포본의 <literal>test</"
+"literal> 폴더를 살펴보라."
 
-#: index.docbook:148
+#. Tag: para
+#: example_mappings.xml:148
+#, no-c-format
 msgid "TODO: put words around this stuff"
 msgstr "TODO: 이 내용을 둘러싼 말들을 집어넣을 것."
 
-#: index.docbook:151
+#. Tag: title
+#: example_mappings.xml:151
+#, no-c-format
 msgid "\"Typed\" one-to-one association"
 msgstr "\"형식화된(Typed)\" one-to-one 연관"
 
-#: index.docbook:152
+#. Tag: programlisting
+#: example_mappings.xml:152
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"name\"/>\n"
-      "    <one-to-one name=\"address\" \n"
-      "            cascade=\"all\">\n"
-      "        <formula>name</formula>\n"
-      "        <formula>'HOME'</formula>\n"
-      "    </one-to-one>\n"
-      "    <one-to-one name=\"mailingAddress\" \n"
-      "            cascade=\"all\">\n"
-      "        <formula>name</formula>\n"
-      "        <formula>'MAILING'</formula>\n"
-      "    </one-to-one>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\" batch-size=\"2\" \n"
-      "        check=\"addressType in ('MAILING', 'HOME', 'BUSINESS')\">\n"
-      "    <composite-id>\n"
-      "        <key-many-to-one name=\"person\" \n"
-      "                column=\"personName\"/>\n"
-      "        <key-property name=\"type\" \n"
-      "                column=\"addressType\"/>\n"
-      "    </composite-id>\n"
-      "    <property name=\"street\" type=\"text\"/>\n"
-      "    <property name=\"state\"/>\n"
-      "    <property name=\"zip\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"name\"/>\n"
+"    <one-to-one name=\"address\" \n"
+"            cascade=\"all\">\n"
+"        <formula>name</formula>\n"
+"        <formula>'HOME'</formula>\n"
+"    </one-to-one>\n"
+"    <one-to-one name=\"mailingAddress\" \n"
+"            cascade=\"all\">\n"
+"        <formula>name</formula>\n"
+"        <formula>'MAILING'</formula>\n"
+"    </one-to-one>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\" batch-size=\"2\" \n"
+"        check=\"addressType in ('MAILING', 'HOME', 'BUSINESS')\">\n"
+"    <composite-id>\n"
+"        <key-many-to-one name=\"person\" \n"
+"                column=\"personName\"/>\n"
+"        <key-property name=\"type\" \n"
+"                column=\"addressType\"/>\n"
+"    </composite-id>\n"
+"    <property name=\"street\" type=\"text\"/>\n"
+"    <property name=\"state\"/>\n"
+"    <property name=\"zip\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"name\"/>\n"
-      "    <one-to-one name=\"address\" \n"
-      "            cascade=\"all\">\n"
-      "        <formula>name</formula>\n"
-      "        <formula>'HOME'</formula>\n"
-      "    </one-to-one>\n"
-      "    <one-to-one name=\"mailingAddress\" \n"
-      "            cascade=\"all\">\n"
-      "        <formula>name</formula>\n"
-      "        <formula>'MAILING'</formula>\n"
-      "    </one-to-one>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\" batch-size=\"2\" \n"
-      "        check=\"addressType in ('MAILING', 'HOME', 'BUSINESS')\">\n"
-      "    <composite-id>\n"
-      "        <key-many-to-one name=\"person\" \n"
-      "                column=\"personName\"/>\n"
-      "        <key-property name=\"type\" \n"
-      "                column=\"addressType\"/>\n"
-      "    </composite-id>\n"
-      "    <property name=\"street\" type=\"text\"/>\n"
-      "    <property name=\"state\"/>\n"
-      "    <property name=\"zip\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:156
+#. Tag: title
+#: example_mappings.xml:156
+#, no-c-format
 msgid "Composite key example"
 msgstr "Composite 키 예제"
 
-#: index.docbook:157
+#. Tag: programlisting
+#: example_mappings.xml:157
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Customer\">\n"
-      "\n"
-      "    <id name=\"customerId\"\n"
-      "        length=\"10\">\n"
-      "        <generator class=\"assigned\"/>\n"
-      "    </id>\n"
-      "\n"
-      "    <property name=\"name\" not-null=\"true\" length=\"100\"/>\n"
-      "    <property name=\"address\" not-null=\"true\" length=\"200\"/>\n"
-      "\n"
-      "    <list name=\"orders\"\n"
-      "            inverse=\"true\"\n"
-      "            cascade=\"save-update\">\n"
-      "        <key column=\"customerId\"/>\n"
-      "        <index column=\"orderNumber\"/>\n"
-      "        <one-to-many class=\"Order\"/>\n"
-      "    </list>\n"
-      "\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Order\" table=\"CustomerOrder\" lazy=\"true\">\n"
-      "    <synchronize table=\"LineItem\"/>\n"
-      "    <synchronize table=\"Product\"/>\n"
-      "    \n"
-      "    <composite-id name=\"id\" \n"
-      "            class=\"Order$Id\">\n"
-      "        <key-property name=\"customerId\" length=\"10\"/>\n"
-      "        <key-property name=\"orderNumber\"/>\n"
-      "    </composite-id>\n"
-      "    \n"
-      "    <property name=\"orderDate\" \n"
-      "            type=\"calendar_date\"\n"
-      "            not-null=\"true\"/>\n"
-      "    \n"
-      "    <property name=\"total\">\n"
-      "        <formula>\n"
-      "            ( select sum(li.quantity*p.price) \n"
-      "            from LineItem li, Product p \n"
-      "            where li.productId = p.productId \n"
-      "                and li.customerId = customerId \n"
-      "                and li.orderNumber = orderNumber )\n"
-      "        </formula>\n"
-      "    </property>\n"
-      "    \n"
-      "    <many-to-one name=\"customer\"\n"
-      "            column=\"customerId\"\n"
-      "            insert=\"false\"\n"
-      "            update=\"false\" \n"
-      "            not-null=\"true\"/>\n"
-      "        \n"
-      "    <bag name=\"lineItems\"\n"
-      "            fetch=\"join\" \n"
-      "            inverse=\"true\"\n"
-      "            cascade=\"save-update\">\n"
-      "        <key>\n"
-      "            <column name=\"customerId\"/>\n"
-      "            <column name=\"orderNumber\"/>\n"
-      "        </key>\n"
-      "        <one-to-many class=\"LineItem\"/>\n"
-      "    </bag>\n"
-      "    \n"
-      "</class>\n"
-      "    \n"
-      "<class name=\"LineItem\">\n"
-      "    \n"
-      "    <composite-id name=\"id\" \n"
-      "            class=\"LineItem$Id\">\n"
-      "        <key-property name=\"customerId\" length=\"10\"/>\n"
-      "        <key-property name=\"orderNumber\"/>\n"
-      "        <key-property name=\"productId\" length=\"10\"/>\n"
-      "    </composite-id>\n"
-      "    \n"
-      "    <property name=\"quantity\"/>\n"
-      "    \n"
-      "    <many-to-one name=\"order\"\n"
-      "            insert=\"false\"\n"
-      "            update=\"false\" \n"
-      "            not-null=\"true\">\n"
-      "        <column name=\"customerId\"/>\n"
-      "        <column name=\"orderNumber\"/>\n"
-      "    </many-to-one>\n"
-      "    \n"
-      "    <many-to-one name=\"product\"\n"
-      "            insert=\"false\"\n"
-      "            update=\"false\" \n"
-      "            not-null=\"true\"\n"
-      "            column=\"productId\"/>\n"
-      "        \n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Product\">\n"
-      "    <synchronize table=\"LineItem\"/>\n"
-      "\n"
-      "    <id name=\"productId\"\n"
-      "        length=\"10\">\n"
-      "        <generator class=\"assigned\"/>\n"
-      "    </id>\n"
-      "    \n"
-      "    <property name=\"description\" \n"
-      "        not-null=\"true\" \n"
-      "        length=\"200\"/>\n"
-      "    <property name=\"price\" length=\"3\"/>\n"
-      "    <property name=\"numberAvailable\"/>\n"
-      "    \n"
-      "    <property name=\"numberOrdered\">\n"
-      "        <formula>\n"
-      "            ( select sum(li.quantity) \n"
-      "            from LineItem li \n"
-      "            where li.productId = productId )\n"
-      "        </formula>\n"
-      "    </property>\n"
-      "    \n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Customer\">\n"
+"\n"
+"    <id name=\"customerId\"\n"
+"        length=\"10\">\n"
+"        <generator class=\"assigned\"/>\n"
+"    </id>\n"
+"\n"
+"    <property name=\"name\" not-null=\"true\" length=\"100\"/>\n"
+"    <property name=\"address\" not-null=\"true\" length=\"200\"/>\n"
+"\n"
+"    <list name=\"orders\"\n"
+"            inverse=\"true\"\n"
+"            cascade=\"save-update\">\n"
+"        <key column=\"customerId\"/>\n"
+"        <index column=\"orderNumber\"/>\n"
+"        <one-to-many class=\"Order\"/>\n"
+"    </list>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Order\" table=\"CustomerOrder\" lazy=\"true\">\n"
+"    <synchronize table=\"LineItem\"/>\n"
+"    <synchronize table=\"Product\"/>\n"
+"    \n"
+"    <composite-id name=\"id\" \n"
+"            class=\"Order$Id\">\n"
+"        <key-property name=\"customerId\" length=\"10\"/>\n"
+"        <key-property name=\"orderNumber\"/>\n"
+"    </composite-id>\n"
+"    \n"
+"    <property name=\"orderDate\" \n"
+"            type=\"calendar_date\"\n"
+"            not-null=\"true\"/>\n"
+"    \n"
+"    <property name=\"total\">\n"
+"        <formula>\n"
+"            ( select sum(li.quantity*p.price) \n"
+"            from LineItem li, Product p \n"
+"            where li.productId = p.productId \n"
+"                and li.customerId = customerId \n"
+"                and li.orderNumber = orderNumber )\n"
+"        </formula>\n"
+"    </property>\n"
+"    \n"
+"    <many-to-one name=\"customer\"\n"
+"            column=\"customerId\"\n"
+"            insert=\"false\"\n"
+"            update=\"false\" \n"
+"            not-null=\"true\"/>\n"
+"        \n"
+"    <bag name=\"lineItems\"\n"
+"            fetch=\"join\" \n"
+"            inverse=\"true\"\n"
+"            cascade=\"save-update\">\n"
+"        <key>\n"
+"            <column name=\"customerId\"/>\n"
+"            <column name=\"orderNumber\"/>\n"
+"        </key>\n"
+"        <one-to-many class=\"LineItem\"/>\n"
+"    </bag>\n"
+"    \n"
+"</class>\n"
+"    \n"
+"<class name=\"LineItem\">\n"
+"    \n"
+"    <composite-id name=\"id\" \n"
+"            class=\"LineItem$Id\">\n"
+"        <key-property name=\"customerId\" length=\"10\"/>\n"
+"        <key-property name=\"orderNumber\"/>\n"
+"        <key-property name=\"productId\" length=\"10\"/>\n"
+"    </composite-id>\n"
+"    \n"
+"    <property name=\"quantity\"/>\n"
+"    \n"
+"    <many-to-one name=\"order\"\n"
+"            insert=\"false\"\n"
+"            update=\"false\" \n"
+"            not-null=\"true\">\n"
+"        <column name=\"customerId\"/>\n"
+"        <column name=\"orderNumber\"/>\n"
+"    </many-to-one>\n"
+"    \n"
+"    <many-to-one name=\"product\"\n"
+"            insert=\"false\"\n"
+"            update=\"false\" \n"
+"            not-null=\"true\"\n"
+"            column=\"productId\"/>\n"
+"        \n"
+"</class>\n"
+"\n"
+"<class name=\"Product\">\n"
+"    <synchronize table=\"LineItem\"/>\n"
+"\n"
+"    <id name=\"productId\"\n"
+"        length=\"10\">\n"
+"        <generator class=\"assigned\"/>\n"
+"    </id>\n"
+"    \n"
+"    <property name=\"description\" \n"
+"        not-null=\"true\" \n"
+"        length=\"200\"/>\n"
+"    <property name=\"price\" length=\"3\"/>\n"
+"    <property name=\"numberAvailable\"/>\n"
+"    \n"
+"    <property name=\"numberOrdered\">\n"
+"        <formula>\n"
+"            ( select sum(li.quantity) \n"
+"            from LineItem li \n"
+"            where li.productId = productId )\n"
+"        </formula>\n"
+"    </property>\n"
+"    \n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Customer\">\n"
-      "\n"
-      "    <id name=\"customerId\"\n"
-      "        length=\"10\">\n"
-      "        <generator class=\"assigned\"/>\n"
-      "    </id>\n"
-      "\n"
-      "    <property name=\"name\" not-null=\"true\" length=\"100\"/>\n"
-      "    <property name=\"address\" not-null=\"true\" length=\"200\"/>\n"
-      "\n"
-      "    <list name=\"orders\"\n"
-      "            inverse=\"true\"\n"
-      "            cascade=\"save-update\">\n"
-      "        <key column=\"customerId\"/>\n"
-      "        <index column=\"orderNumber\"/>\n"
-      "        <one-to-many class=\"Order\"/>\n"
-      "    </list>\n"
-      "\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Order\" table=\"CustomerOrder\" lazy=\"true\">\n"
-      "    <synchronize table=\"LineItem\"/>\n"
-      "    <synchronize table=\"Product\"/>\n"
-      "    \n"
-      "    <composite-id name=\"id\" \n"
-      "            class=\"Order$Id\">\n"
-      "        <key-property name=\"customerId\" length=\"10\"/>\n"
-      "        <key-property name=\"orderNumber\"/>\n"
-      "    </composite-id>\n"
-      "    \n"
-      "    <property name=\"orderDate\" \n"
-      "            type=\"calendar_date\"\n"
-      "            not-null=\"true\"/>\n"
-      "    \n"
-      "    <property name=\"total\">\n"
-      "        <formula>\n"
-      "            ( select sum(li.quantity*p.price) \n"
-      "            from LineItem li, Product p \n"
-      "            where li.productId = p.productId \n"
-      "                and li.customerId = customerId \n"
-      "                and li.orderNumber = orderNumber )\n"
-      "        </formula>\n"
-      "    </property>\n"
-      "    \n"
-      "    <many-to-one name=\"customer\"\n"
-      "            column=\"customerId\"\n"
-      "            insert=\"false\"\n"
-      "            update=\"false\" \n"
-      "            not-null=\"true\"/>\n"
-      "        \n"
-      "    <bag name=\"lineItems\"\n"
-      "            fetch=\"join\" \n"
-      "            inverse=\"true\"\n"
-      "            cascade=\"save-update\">\n"
-      "        <key>\n"
-      "            <column name=\"customerId\"/>\n"
-      "            <column name=\"orderNumber\"/>\n"
-      "        </key>\n"
-      "        <one-to-many class=\"LineItem\"/>\n"
-      "    </bag>\n"
-      "    \n"
-      "</class>\n"
-      "    \n"
-      "<class name=\"LineItem\">\n"
-      "    \n"
-      "    <composite-id name=\"id\" \n"
-      "            class=\"LineItem$Id\">\n"
-      "        <key-property name=\"customerId\" length=\"10\"/>\n"
-      "        <key-property name=\"orderNumber\"/>\n"
-      "        <key-property name=\"productId\" length=\"10\"/>\n"
-      "    </composite-id>\n"
-      "    \n"
-      "    <property name=\"quantity\"/>\n"
-      "    \n"
-      "    <many-to-one name=\"order\"\n"
-      "            insert=\"false\"\n"
-      "            update=\"false\" \n"
-      "            not-null=\"true\">\n"
-      "        <column name=\"customerId\"/>\n"
-      "        <column name=\"orderNumber\"/>\n"
-      "    </many-to-one>\n"
-      "    \n"
-      "    <many-to-one name=\"product\"\n"
-      "            insert=\"false\"\n"
-      "            update=\"false\" \n"
-      "            not-null=\"true\"\n"
-      "            column=\"productId\"/>\n"
-      "        \n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Product\">\n"
-      "    <synchronize table=\"LineItem\"/>\n"
-      "\n"
-      "    <id name=\"productId\"\n"
-      "        length=\"10\">\n"
-      "        <generator class=\"assigned\"/>\n"
-      "    </id>\n"
-      "    \n"
-      "    <property name=\"description\" \n"
-      "        not-null=\"true\" \n"
-      "        length=\"200\"/>\n"
-      "    <property name=\"price\" length=\"3\"/>\n"
-      "    <property name=\"numberAvailable\"/>\n"
-      "    \n"
-      "    <property name=\"numberOrdered\">\n"
-      "        <formula>\n"
-      "            ( select sum(li.quantity) \n"
-      "            from LineItem li \n"
-      "            where li.productId = productId )\n"
-      "        </formula>\n"
-      "    </property>\n"
-      "    \n"
-      "</class>]]>"
 
-#: index.docbook:161
+#. Tag: title
+#: example_mappings.xml:161
+#, no-c-format
 msgid "Many-to-many with shared composite key attribute"
 msgstr "공유된 합성 키 속성을 가진 Many-to-many"
 
-#: index.docbook:162
+#. Tag: programlisting
+#: example_mappings.xml:162
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"User\" table=\"`User`\">\n"
-      "    <composite-id>\n"
-      "        <key-property name=\"name\"/>\n"
-      "        <key-property name=\"org\"/>\n"
-      "    </composite-id>\n"
-      "    <set name=\"groups\" table=\"UserGroup\">\n"
-      "        <key>\n"
-      "            <column name=\"userName\"/>\n"
-      "            <column name=\"org\"/>\n"
-      "        </key>\n"
-      "        <many-to-many class=\"Group\">\n"
-      "            <column name=\"groupName\"/>\n"
-      "            <formula>org</formula>\n"
-      "        </many-to-many>\n"
-      "    </set>\n"
-      "</class>\n"
-      "    \n"
-      "<class name=\"Group\" table=\"`Group`\">\n"
-      "    <composite-id>\n"
-      "        <key-property name=\"name\"/>\n"
-      "        <key-property name=\"org\"/>\n"
-      "    </composite-id>\n"
-      "    <property name=\"description\"/>\n"
-      "    <set name=\"users\" table=\"UserGroup\" inverse=\"true\">\n"
-      "        <key>\n"
-      "            <column name=\"groupName\"/>\n"
-      "            <column name=\"org\"/>\n"
-      "        </key>\n"
-      "        <many-to-many class=\"User\">\n"
-      "            <column name=\"userName\"/>\n"
-      "            <formula>org</formula>\n"
-      "        </many-to-many>\n"
-      "    </set>\n"
-      "</class>\n"
-      "]]>"
+"<![CDATA[<class name=\"User\" table=\"`User`\">\n"
+"    <composite-id>\n"
+"        <key-property name=\"name\"/>\n"
+"        <key-property name=\"org\"/>\n"
+"    </composite-id>\n"
+"    <set name=\"groups\" table=\"UserGroup\">\n"
+"        <key>\n"
+"            <column name=\"userName\"/>\n"
+"            <column name=\"org\"/>\n"
+"        </key>\n"
+"        <many-to-many class=\"Group\">\n"
+"            <column name=\"groupName\"/>\n"
+"            <formula>org</formula>\n"
+"        </many-to-many>\n"
+"    </set>\n"
+"</class>\n"
+"    \n"
+"<class name=\"Group\" table=\"`Group`\">\n"
+"    <composite-id>\n"
+"        <key-property name=\"name\"/>\n"
+"        <key-property name=\"org\"/>\n"
+"    </composite-id>\n"
+"    <property name=\"description\"/>\n"
+"    <set name=\"users\" table=\"UserGroup\" inverse=\"true\">\n"
+"        <key>\n"
+"            <column name=\"groupName\"/>\n"
+"            <column name=\"org\"/>\n"
+"        </key>\n"
+"        <many-to-many class=\"User\">\n"
+"            <column name=\"userName\"/>\n"
+"            <formula>org</formula>\n"
+"        </many-to-many>\n"
+"    </set>\n"
+"</class>\n"
+"]]>"
 msgstr ""
-      "<![CDATA[<class name=\"User\" table=\"`User`\">\n"
-      "    <composite-id>\n"
-      "        <key-property name=\"name\"/>\n"
-      "        <key-property name=\"org\"/>\n"
-      "    </composite-id>\n"
-      "    <set name=\"groups\" table=\"UserGroup\">\n"
-      "        <key>\n"
-      "            <column name=\"userName\"/>\n"
-      "            <column name=\"org\"/>\n"
-      "        </key>\n"
-      "        <many-to-many class=\"Group\">\n"
-      "            <column name=\"groupName\"/>\n"
-      "            <formula>org</formula>\n"
-      "        </many-to-many>\n"
-      "    </set>\n"
-      "</class>\n"
-      "    \n"
-      "<class name=\"Group\" table=\"`Group`\">\n"
-      "    <composite-id>\n"
-      "        <key-property name=\"name\"/>\n"
-      "        <key-property name=\"org\"/>\n"
-      "    </composite-id>\n"
-      "    <property name=\"description\"/>\n"
-      "    <set name=\"users\" table=\"UserGroup\" inverse=\"true\">\n"
-      "        <key>\n"
-      "            <column name=\"groupName\"/>\n"
-      "            <column name=\"org\"/>\n"
-      "        </key>\n"
-      "        <many-to-many class=\"User\">\n"
-      "            <column name=\"userName\"/>\n"
-      "            <formula>org</formula>\n"
-      "        </many-to-many>\n"
-      "    </set>\n"
-      "</class>\n"
-      "]]>"
 
-#: index.docbook:166
+#. Tag: title
+#: example_mappings.xml:166
+#, no-c-format
 msgid "Content based discrimination"
 msgstr "내용 기반 판별"
 
-#: index.docbook:167
+#. Tag: programlisting
+#: example_mappings.xml:167
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\"\n"
-      "    discriminator-value=\"P\">\n"
-      "    \n"
-      "    <id name=\"id\" \n"
-      "        column=\"person_id\" \n"
-      "        unsaved-value=\"0\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    \n"
-      "            \n"
-      "    <discriminator \n"
-      "        type=\"character\">\n"
-      "        <formula>\n"
-      "            case \n"
-      "                when title is not null then 'E' \n"
-      "                when salesperson is not null then 'C' \n"
-      "                else 'P' \n"
-      "            end\n"
-      "        </formula>\n"
-      "    </discriminator>\n"
-      "\n"
-      "    <property name=\"name\" \n"
-      "        not-null=\"true\"\n"
-      "        length=\"80\"/>\n"
-      "        \n"
-      "    <property name=\"sex\" \n"
-      "        not-null=\"true\"\n"
-      "        update=\"false\"/>\n"
-      "    \n"
-      "    <component name=\"address\">\n"
-      "        <property name=\"address\"/>\n"
-      "        <property name=\"zip\"/>\n"
-      "        <property name=\"country\"/>\n"
-      "    </component>\n"
-      "    \n"
-      "    <subclass name=\"Employee\" \n"
-      "        discriminator-value=\"E\">\n"
-      "            <property name=\"title\"\n"
-      "                length=\"20\"/>\n"
-      "            <property name=\"salary\"/>\n"
-      "            <many-to-one name=\"manager\"/>\n"
-      "    </subclass>\n"
-      "    \n"
-      "    <subclass name=\"Customer\" \n"
-      "        discriminator-value=\"C\">\n"
-      "            <property name=\"comments\"/>\n"
-      "            <many-to-one name=\"salesperson\"/>\n"
-      "    </subclass>\n"
-      "    \n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\"\n"
+"    discriminator-value=\"P\">\n"
+"    \n"
+"    <id name=\"id\" \n"
+"        column=\"person_id\" \n"
+"        unsaved-value=\"0\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    \n"
+"            \n"
+"    <discriminator \n"
+"        type=\"character\">\n"
+"        <formula>\n"
+"            case \n"
+"                when title is not null then 'E' \n"
+"                when salesperson is not null then 'C' \n"
+"                else 'P' \n"
+"            end\n"
+"        </formula>\n"
+"    </discriminator>\n"
+"\n"
+"    <property name=\"name\" \n"
+"        not-null=\"true\"\n"
+"        length=\"80\"/>\n"
+"        \n"
+"    <property name=\"sex\" \n"
+"        not-null=\"true\"\n"
+"        update=\"false\"/>\n"
+"    \n"
+"    <component name=\"address\">\n"
+"        <property name=\"address\"/>\n"
+"        <property name=\"zip\"/>\n"
+"        <property name=\"country\"/>\n"
+"    </component>\n"
+"    \n"
+"    <subclass name=\"Employee\" \n"
+"        discriminator-value=\"E\">\n"
+"            <property name=\"title\"\n"
+"                length=\"20\"/>\n"
+"            <property name=\"salary\"/>\n"
+"            <many-to-one name=\"manager\"/>\n"
+"    </subclass>\n"
+"    \n"
+"    <subclass name=\"Customer\" \n"
+"        discriminator-value=\"C\">\n"
+"            <property name=\"comments\"/>\n"
+"            <many-to-one name=\"salesperson\"/>\n"
+"    </subclass>\n"
+"    \n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\"\n"
-      "    discriminator-value=\"P\">\n"
-      "    \n"
-      "    <id name=\"id\" \n"
-      "        column=\"person_id\" \n"
-      "        unsaved-value=\"0\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    \n"
-      "            \n"
-      "    <discriminator \n"
-      "        type=\"character\">\n"
-      "        <formula>\n"
-      "            case \n"
-      "                when title is not null then 'E' \n"
-      "                when salesperson is not null then 'C' \n"
-      "                else 'P' \n"
-      "            end\n"
-      "        </formula>\n"
-      "    </discriminator>\n"
-      "\n"
-      "    <property name=\"name\" \n"
-      "        not-null=\"true\"\n"
-      "        length=\"80\"/>\n"
-      "        \n"
-      "    <property name=\"sex\" \n"
-      "        not-null=\"true\"\n"
-      "        update=\"false\"/>\n"
-      "    \n"
-      "    <component name=\"address\">\n"
-      "        <property name=\"address\"/>\n"
-      "        <property name=\"zip\"/>\n"
-      "        <property name=\"country\"/>\n"
-      "    </component>\n"
-      "    \n"
-      "    <subclass name=\"Employee\" \n"
-      "        discriminator-value=\"E\">\n"
-      "            <property name=\"title\"\n"
-      "                length=\"20\"/>\n"
-      "            <property name=\"salary\"/>\n"
-      "            <many-to-one name=\"manager\"/>\n"
-      "    </subclass>\n"
-      "    \n"
-      "    <subclass name=\"Customer\" \n"
-      "        discriminator-value=\"C\">\n"
-      "            <property name=\"comments\"/>\n"
-      "            <many-to-one name=\"salesperson\"/>\n"
-      "    </subclass>\n"
-      "    \n"
-      "</class>]]>"
 
-#: index.docbook:171
+#. Tag: title
+#: example_mappings.xml:171
+#, no-c-format
 msgid "Associations on alternate keys"
 msgstr "대체 키들에 대한 연관들"
 
-#: index.docbook:172
+#. Tag: programlisting
+#: example_mappings.xml:172
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    \n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"hilo\"/>\n"
-      "    </id>\n"
-      "    \n"
-      "    <property name=\"name\" length=\"100\"/>\n"
-      "    \n"
-      "    <one-to-one name=\"address\" \n"
-      "        property-ref=\"person\"\n"
-      "        cascade=\"all\"\n"
-      "        fetch=\"join\"/>\n"
-      "    \n"
-      "    <set name=\"accounts\" \n"
-      "        inverse=\"true\">\n"
-      "        <key column=\"userId\"\n"
-      "            property-ref=\"userId\"/>\n"
-      "        <one-to-many class=\"Account\"/>\n"
-      "    </set>\n"
-      "    \n"
-      "    <property name=\"userId\" length=\"8\"/>\n"
-      "\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"hilo\"/>\n"
-      "    </id>\n"
-      "\n"
-      "    <property name=\"address\" length=\"300\"/>\n"
-      "    <property name=\"zip\" length=\"5\"/>\n"
-      "    <property name=\"country\" length=\"25\"/>\n"
-      "    <many-to-one name=\"person\" unique=\"true\" not-null=\"true\"/>\n"
-      "\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Account\">\n"
-      "    <id name=\"accountId\" length=\"32\">\n"
-      "        <generator class=\"uuid\"/>\n"
-      "    </id>\n"
-      "    \n"
-      "    <many-to-one name=\"user\"\n"
-      "        column=\"userId\"\n"
-      "        property-ref=\"userId\"/>\n"
-      "    \n"
-      "    <property name=\"type\" not-null=\"true\"/>\n"
-      "    \n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    \n"
+"    <id name=\"id\">\n"
+"        <generator class=\"hilo\"/>\n"
+"    </id>\n"
+"    \n"
+"    <property name=\"name\" length=\"100\"/>\n"
+"    \n"
+"    <one-to-one name=\"address\" \n"
+"        property-ref=\"person\"\n"
+"        cascade=\"all\"\n"
+"        fetch=\"join\"/>\n"
+"    \n"
+"    <set name=\"accounts\" \n"
+"        inverse=\"true\">\n"
+"        <key column=\"userId\"\n"
+"            property-ref=\"userId\"/>\n"
+"        <one-to-many class=\"Account\"/>\n"
+"    </set>\n"
+"    \n"
+"    <property name=\"userId\" length=\"8\"/>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"\n"
+"    <id name=\"id\">\n"
+"        <generator class=\"hilo\"/>\n"
+"    </id>\n"
+"\n"
+"    <property name=\"address\" length=\"300\"/>\n"
+"    <property name=\"zip\" length=\"5\"/>\n"
+"    <property name=\"country\" length=\"25\"/>\n"
+"    <many-to-one name=\"person\" unique=\"true\" not-null=\"true\"/>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Account\">\n"
+"    <id name=\"accountId\" length=\"32\">\n"
+"        <generator class=\"uuid\"/>\n"
+"    </id>\n"
+"    \n"
+"    <many-to-one name=\"user\"\n"
+"        column=\"userId\"\n"
+"        property-ref=\"userId\"/>\n"
+"    \n"
+"    <property name=\"type\" not-null=\"true\"/>\n"
+"    \n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    \n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"hilo\"/>\n"
-      "    </id>\n"
-      "    \n"
-      "    <property name=\"name\" length=\"100\"/>\n"
-      "    \n"
-      "    <one-to-one name=\"address\" \n"
-      "        property-ref=\"person\"\n"
-      "        cascade=\"all\"\n"
-      "        fetch=\"join\"/>\n"
-      "    \n"
-      "    <set name=\"accounts\" \n"
-      "        inverse=\"true\">\n"
-      "        <key column=\"userId\"\n"
-      "            property-ref=\"userId\"/>\n"
-      "        <one-to-many class=\"Account\"/>\n"
-      "    </set>\n"
-      "    \n"
-      "    <property name=\"userId\" length=\"8\"/>\n"
-      "\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"hilo\"/>\n"
-      "    </id>\n"
-      "\n"
-      "    <property name=\"address\" length=\"300\"/>\n"
-      "    <property name=\"zip\" length=\"5\"/>\n"
-      "    <property name=\"country\" length=\"25\"/>\n"
-      "    <many-to-one name=\"person\" unique=\"true\" not-null=\"true\"/>\n"
-      "\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Account\">\n"
-      "    <id name=\"accountId\" length=\"32\">\n"
-      "        <generator class=\"uuid\"/>\n"
-      "    </id>\n"
-      "    \n"
-      "    <many-to-one name=\"user\"\n"
-      "        column=\"userId\"\n"
-      "        property-ref=\"userId\"/>\n"
-      "    \n"
-      "    <property name=\"type\" not-null=\"true\"/>\n"
-      "    \n"
-      "</class>]]>"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/ko-KR/content/example_parentchild.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/example_parentchild.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/example_parentchild.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,350 +1,603 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: example_parentchild.xml:5
+#, no-c-format
 msgid "Example: Parent/Child"
 msgstr "예제: 부모/자식"
 
-#: index.docbook:7
-msgid "One of the very first things that new users try to do with Hibernate is to model a parent / child type relationship. There are two different approaches to this. For various reasons 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>.) Now, it turns out that 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. It's not at all difficult!"
-msgstr "새로운 사용자들이 Hibernateë¡œ 행하고자 시도하는 바로 첫 번째 것들 중 하나는 부모/자식 타입의 관계를 모형화 시키는 것이다. 이것에 대한 두 가지 다른 접근법들이 존재한다. 여러가지 이유들로 인해 특히 새로운 사용자들에게 가장 편한 접근법은 <literal>Parent</literal>로부터 <literal>Child</literal>로의 <literal>&lt;one-to-many&gt;</literal> 연관을 가진 엔티티 클래스들로서 <literal>Parent</literal>와 <literal>Child</literal> 양자를 모형화 시키는 것이다. (다른 접근법은 <literal>Child</literal>를 <literal>&lt;composite-element&gt;</literal>ë¡œ 선언하는 것이다.) 이제, (Hibernate에서) one to many 연관에 대한 디폴트 의미는 composite 요소 매핑의 의미보다 부모/자식 관계의 통상적인 의미에 훨씬 덜 가깝다는 것이 판명된다. 우리는 부모/자식 관계를 효율적이고 강력하게 모형화 ì‹!
 œí‚¤ê¸° 위해 <emphasis>케스케이드들을 가진 ì–‘ë°©í–¥ one to many ì—°ê´€</emphasis>을 사용하는 방법을 설명할 것이다. 그것은 전혀 어렵지 않다!"
+#. Tag: para
+#: example_parentchild.xml:7
+#, no-c-format
+msgid ""
+"One of the very first things that new users try to do with Hibernate is to "
+"model a parent / child type relationship. There are two different approaches "
+"to this. For various reasons 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>.) Now, it turns out that "
+"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. It's not at "
+"all difficult!"
+msgstr ""
+"새로운 사용자들이 Hibernate로 행하고자 시도하는 바로 첫 번째 것들 중 하나는 "
+"부모/자식 타입의 관계를 모형화 시키는 것이다. 이것에 대한 두 가지 다른 접근법"
+"들이 존재한다. 여러가지 이유들로 인해 특히 새로운 사용자들에게 가장 편한 접근"
+"법은 <literal>Parent</literal>로부터 <literal>Child</literal>로의 "
+"<literal>&lt;one-to-many&gt;</literal> 연관을 가진 엔티티 클래스들로서 "
+"<literal>Parent</literal>와 <literal>Child</literal> 양자를 모형화 시키는 것"
+"이다. (다른 접근법은 <literal>Child</literal>를 <literal>&lt;composite-"
+"element&gt;</literal>로 선언하는 것이다.) 이제, (Hibernate에서) one to many "
+"연관에 대한 디폴트 의미는 composite 요소 매핑의 의미보다 부모/자식 관계의 통"
+"상적인 의미에 훨씬 덜 가깝다는 것이 판명된다. 우리는 부모/자식 관계를 효율적"
+"이고 강력하게 모형화 시키기 위해 <emphasis>케스케이드들을 가진 양방향 one to "
+"many 연관</emphasis>을 사용하는 방법을 설명할 것이다. 그것은 전혀 어렵지 않"
+"다!"
 
-#: index.docbook:21
+#. Tag: title
+#: example_parentchild.xml:21
+#, no-c-format
 msgid "A note about collections"
 msgstr "콜렉션들에 관한 노트"
 
-#: index.docbook:23
-msgid "Hibernate collections are considered to be a logical part of their owning entity; never of the contained entities. This is a crucial distinction! It has the following consequences:"
-msgstr "Hibernate 콜렉션들은 그것들의 소유하고 있는 엔티티의 논리적 부분으로 간주된다; 결코 포함된 엔티티들의 부분이 아니다. 이것은 중대한 구분점이다! 그것은 다음은 다음 결과들을 갖는다:"
+#. Tag: para
+#: example_parentchild.xml:23
+#, no-c-format
+msgid ""
+"Hibernate collections are considered to be a logical part of their owning "
+"entity; never of the contained entities. This is a crucial distinction! It "
+"has the following consequences:"
+msgstr ""
+"Hibernate 콜렉션들은 그것들의 소유하고 있는 엔티티의 논리적 부분으로 간주된"
+"다; 결코 포함된 엔티티들의 부분이 아니다. 이것은 중대한 구분점이다! 그것은 다"
+"음은 다음 결과들을 갖는다:"
 
-#: index.docbook:30
-msgid "When we remove / add an object from / to a collection, the version number of the collection owner is incremented."
-msgstr "콜렉션으로부터 객체를 제거하고/콜렉션에 객체를 추가 시킬 때, 콜렉션 소유자의 버전 번호가 증가된다."
+#. Tag: para
+#: example_parentchild.xml:30
+#, no-c-format
+msgid ""
+"When we remove / add an object from / to a collection, the version number of "
+"the collection owner is incremented."
+msgstr ""
+"콜렉션으로부터 객체를 제거하고/콜렉션에 객체를 추가 시킬 때, 콜렉션 소유자의 "
+"버전 번호가 증가된다."
 
-#: index.docbook:36
-msgid "If an object that was removed from a collection is an instance of a value type (eg, 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 "만일 콜렉션으로부터 제거되었던 객체가 하나의 값 타입의 인스턴스(예를 들어 composite 요소)이면, 그 객체는 영속상태를 끝내고 그것의 상태가 데이터베이스로부터 완전히 제거될 것이다. 마찬가지로 하나의 값 타입의 인스턴스를 콜렉션에 추가시키는 것은 그것의 상태가 즉시 영속화 되도록 강제시킬 것이다."
+#. Tag: para
+#: example_parentchild.xml:36
+#, no-c-format
+msgid ""
+"If an object that was removed from a collection is an instance of a value "
+"type (eg, 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 ""
+"만일 콜렉션으로부터 제거되었던 객체가 하나의 값 타입의 인스턴스(예를 들어 "
+"composite 요소)이면, 그 객체는 영속상태를 끝내고 그것의 상태가 데이터베이스로"
+"부터 완전히 제거될 것이다. 마찬가지로 하나의 값 타입의 인스턴스를 콜렉션에 추"
+"가시키는 것은 그것의 상태가 즉시 영속화 되도록 강제시킬 것이다."
 
-#: index.docbook:44
-msgid "On the other hand, 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 behaviour 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 "반면에, 만일 엔티티가 콜렉션으로부터 제거될 경우(one-to-many 또는 many-to-many 연관), 그것은 디폴트로 삭제되지 않을 것이다. 이 특징은 완전하게 일관적이다 - 다른 엔티티의 내부 상태에 대한 변경은 연관된 엔티티를 사라지도록 강제하지 않을 것이다! 마찬가지로 콜렉션에 엔티티를 추가시키는 것은 디폴트로 그 엔티티가 영속화 되도록 강제시키지 않는다."
+#. Tag: para
+#: example_parentchild.xml:44
+#, no-c-format
+msgid ""
+"On the other hand, 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 "
+"behaviour 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 ""
+"반면에, 만일 엔티티가 콜렉션으로부터 제거될 경우(one-to-many 또는 many-to-"
+"many 연관), 그것은 디폴트로 삭제되지 않을 것이다. 이 특징은 완전하게 일관적이"
+"다 - 다른 엔티티의 내부 상태에 대한 변경은 연관된 엔티티를 사라지도록 강제하"
+"지 않을 것이다! 마찬가지로 콜렉션에 엔티티를 추가시키는 것은 디폴트로 그 엔티"
+"티가 영속화 되도록 강제시키지 않는다."
 
-#: index.docbook:54
-msgid "Instead, the default behaviour is that adding an entity to a collection merely creates a link between the two entities, while removing it removes the link. This is very appropriate for all sorts of cases. Where it is not appropriate at all is the case of a parent / child relationship, where the life of the child is bound to the life cycle of the parent."
-msgstr "대신에 콜렉션으로의 엔티티 추가가 두 엔티티들 사이에 단지 하나의 링크를 생성시키는 반면에, 그것을 제거하는 것은 링크를 제거한다는 점이 디폴트 특징이다. 이것은 모든 종류의 경우들에 대해 매우 적절하다. 그것이 전혀 적절하지 않은 곳은 부모/자식 관계인 경우이고, 여기서 자식의 생애는 부모의 생명주기에 묶여져 있다."
+#. Tag: para
+#: example_parentchild.xml:54
+#, no-c-format
+msgid ""
+"Instead, the default behaviour is that adding an entity to a collection "
+"merely creates a link between the two entities, while removing it removes "
+"the link. This is very appropriate for all sorts of cases. Where it is not "
+"appropriate at all is the case of a parent / child relationship, where the "
+"life of the child is bound to the life cycle of the parent."
+msgstr ""
+"대신에 콜렉션으로의 엔티티 추가가 두 엔티티들 사이에 단지 하나의 링크를 생성"
+"시키는 반면에, 그것을 제거하는 것은 링크를 제거한다는 점이 디폴트 특징이다. "
+"이것은 모든 종류의 경우들에 대해 매우 적절하다. 그것이 전혀 적절하지 않은 곳"
+"은 부모/자식 관계인 경우이고, 여기서 자식의 생애는 부모의 생명주기에 묶여져 "
+"있다."
 
-#: index.docbook:64
+#. Tag: title
+#: example_parentchild.xml:64
+#, no-c-format
 msgid "Bidirectional one-to-many"
 msgstr "ì–‘ë°©í–¥ one-to-many"
 
-#: index.docbook:66
-msgid "Suppose we start with a simple <literal>&lt;one-to-many&gt;</literal> association from <literal>Parent</literal> to <literal>Child</literal>."
-msgstr "<literal>Parent</literal>로부터 <literal>Child</literal>로의 간단한 <literal>&lt;one-to-many&gt;</literal> 연관관계로 시작한다고 가정하자."
+#. Tag: para
+#: example_parentchild.xml:66
+#, 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 ""
+"<literal>Parent</literal>로부터 <literal>Child</literal>로의 간단한 "
+"<literal>&lt;one-to-many&gt;</literal> 연관관계로 시작한다고 가정하자."
 
-#: index.docbook:71
+#. Tag: programlisting
+#: example_parentchild.xml:71
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"children\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"children\">\n"
+"    <key column=\"parent_id\"/>\n"
+"    <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"children\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:73
+#. Tag: para
+#: example_parentchild.xml:73
+#, no-c-format
 msgid "If we were to execute the following code"
 msgstr "우리가 다음 코드를 실행시켰다면"
 
-#: index.docbook:77
+#. Tag: programlisting
+#: example_parentchild.xml:77
+#, no-c-format
 msgid ""
-      "<![CDATA[Parent p = .....;\n"
-      "Child c = new Child();\n"
-      "p.getChildren().add(c);\n"
-      "session.save(c);\n"
-      "session.flush();]]>"
+"<![CDATA[Parent p = .....;\n"
+"Child c = new Child();\n"
+"p.getChildren().add(c);\n"
+"session.save(c);\n"
+"session.flush();]]>"
 msgstr ""
-      "<![CDATA[Parent p = .....;\n"
-      "Child c = new Child();\n"
-      "p.getChildren().add(c);\n"
-      "session.save(c);\n"
-      "session.flush();]]>"
 
-#: index.docbook:79
+#. Tag: para
+#: example_parentchild.xml:79
+#, no-c-format
 msgid "Hibernate would issue two SQL statements:"
 msgstr "Hibernate는 두 개의 SQL 문장들을 실행할 것이다:"
 
-#: index.docbook:85
-msgid "an <literal>INSERT</literal> to create the record for <literal>c</literal>"
-msgstr "<literal>c</literal>에 대한 레코드를 생성시키는 <literal>INSERT</literal>"
+#. Tag: para
+#: example_parentchild.xml:85
+#, no-c-format
+msgid ""
+"an <literal>INSERT</literal> to create the record for <literal>c</literal>"
+msgstr ""
+"<literal>c</literal>에 대한 레코드를 생성시키는 <literal>INSERT</literal>"
 
-#: index.docbook:88
-msgid "an <literal>UPDATE</literal> to create the link from <literal>p</literal> to <literal>c</literal>"
-msgstr "<literal>p</literal>로부터 <literal>c</literal>로의 링크를 생성시키는 <literal>UPDATE</literal>"
+#. Tag: para
+#: example_parentchild.xml:88
+#, no-c-format
+msgid ""
+"an <literal>UPDATE</literal> to create the link from <literal>p</literal> to "
+"<literal>c</literal>"
+msgstr ""
+"<literal>p</literal>로부터 <literal>c</literal>로의 링크를 생성시키는 "
+"<literal>UPDATE</literal>"
 
-#: index.docbook:95
-msgid "This is not only inefficient, but also violates any <literal>NOT NULL</literal> constraint on the <literal>parent_id</literal> column. We can fix the nullability constraint violation by specifying <literal>not-null=\"true\"</literal> in the collection mapping:"
-msgstr "이것은 비효율적일 뿐만 아니라, 또한 <literal>parent_id</literal> 컬럼 상의 임의의 <literal>NOT NULL</literal> 컨스트레인트에 위배된다. 우리는 콜렉션 매핑에서 <literal>not-null=\"true\"</literal>를 지정함으로써 null 허용 가능 컨스트레인트 위반을 정정할 수 있다:"
+#. Tag: para
+#: example_parentchild.xml:95
+#, 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. We can fix "
+"the nullability constraint violation by specifying <literal>not-null=\"true"
+"\"</literal> in the collection mapping:"
+msgstr ""
+"이것은 비효율적일 뿐만 아니라, 또한 <literal>parent_id</literal> 컬럼 상의 임"
+"의의 <literal>NOT NULL</literal> 컨스트레인트에 위배된다. 우리는 콜렉션 매핑"
+"에서 <literal>not-null=\"true\"</literal>를 지정함으로써 null 허용 가능 컨스"
+"트레인트 위반을 정정할 수 있다:"
 
-#: index.docbook:101
+#. Tag: programlisting
+#: example_parentchild.xml:101
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"children\">\n"
-      "    <key column=\"parent_id\" not-null=\"true\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"children\">\n"
+"    <key column=\"parent_id\" not-null=\"true\"/>\n"
+"    <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"children\">\n"
-      "    <key column=\"parent_id\" not-null=\"true\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:103
+#. Tag: para
+#: example_parentchild.xml:103
+#, no-c-format
 msgid "However, this is not the recommended solution."
 msgstr "하지만 이것은 권장되는 해결책이 아니다."
 
-#: index.docbook:106
-msgid "The underlying cause of this behaviour 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>. So the solution is to make the link part of the <literal>Child</literal> mapping."
-msgstr "이 행위의 기본 원인은 <literal>p</literal>로부터 <literal>c</literal>로의 링크(foreign key <literal>parent_id</literal>)가 <literal>Child</literal> 객체의 상태의 부분으로 간주되지 않고 그러므로 <literal>INSERT</literal>로 생성되지 않는다는 점이다. 따라서 해결책은 <literal>Child</literal> 매핑의 링크 부분을 만드는 것이다."
+#. Tag: para
+#: example_parentchild.xml:106
+#, no-c-format
+msgid ""
+"The underlying cause of this behaviour 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>. So the "
+"solution is to make the link part of the <literal>Child</literal> mapping."
+msgstr ""
+"이 행위의 기본 원인은 <literal>p</literal>로부터 <literal>c</literal>로의 링"
+"크(foreign key <literal>parent_id</literal>)가 <literal>Child</literal> 객체"
+"의 상태의 부분으로 간주되지 않고 그러므로 <literal>INSERT</literal>로 생성되"
+"지 않는다는 점이다. 따라서 해결책은 <literal>Child</literal> 매핑의 링크 부분"
+"을 만드는 것이다."
 
-#: index.docbook:113
-msgid "<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/>]]>"
+#. Tag: programlisting
+#: example_parentchild.xml:113
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/"
+">]]>"
+msgstr ""
 
-#: index.docbook:115
-msgid "(We also need to add the <literal>parent</literal> property to the <literal>Child</literal> class.)"
-msgstr "(우리는 또한 <literal>parent</literal> 프로퍼티를 <literal>Child</literal> 클래스에 추가시킬 필요가 있다.)"
+#. Tag: para
+#: example_parentchild.xml:115
+#, no-c-format
+msgid ""
+"(We also need to add the <literal>parent</literal> property to the "
+"<literal>Child</literal> class.)"
+msgstr ""
+"(우리는 또한 <literal>parent</literal> 프로퍼티를 <literal>Child</literal> 클"
+"래스에 추가시킬 필요가 있다.)"
 
-#: index.docbook:119
-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."
-msgstr "이제 <literal>Child</literal> 엔티티가 링크의 상태를 관리한다는 점을 노트하고, 우리는 링크를 업데이트 시키지 말도록 콜렉션에게 통보한다. 우리는 <literal>inverse</literal> 속성을 사용한다."
+#. Tag: para
+#: example_parentchild.xml:119
+#, 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."
+msgstr ""
+"이제 <literal>Child</literal> 엔티티가 링크의 상태를 관리한다는 점을 노트하"
+"고, 우리는 링크를 업데이트 시키지 말도록 콜렉션에게 통보한다. 우리는 "
+"<literal>inverse</literal> 속성을 사용한다."
 
-#: index.docbook:124
+#. Tag: programlisting
+#: example_parentchild.xml:124
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"children\" inverse=\"true\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"children\" inverse=\"true\">\n"
+"    <key column=\"parent_id\"/>\n"
+"    <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"children\" inverse=\"true\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:126
+#. Tag: para
+#: example_parentchild.xml:126
+#, no-c-format
 msgid "The following code would be used to add a new <literal>Child</literal>"
-msgstr "다음 코드는 새로운 <literal>Child</literal>를 추가시키는데 사용될 것이다"
+msgstr ""
+"다음 코드는 새로운 <literal>Child</literal>를 추가시키는데 사용될 것이다"
 
-#: index.docbook:130
+#. Tag: programlisting
+#: example_parentchild.xml:130
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:132
+#. Tag: para
+#: example_parentchild.xml:132
+#, no-c-format
 msgid "And now, only one SQL <literal>INSERT</literal> would be issued!"
-msgstr "그리고 이제, 유일하게 한 개의 SQL <literal>INSERT</literal>가 실행될 것이다!"
+msgstr ""
+"그리고 이제, 유일하게 한 개의 SQL <literal>INSERT</literal>가 실행될 것이다!"
 
-#: index.docbook:136
-msgid "To tighten things up a bit, we could create an <literal>addChild()</literal> method of <literal>Parent</literal>."
-msgstr "약간 거칠게, 우리는 <literal>Parent</literal>의 <literal>addChild()</literal> 메소드를 생성시킬 수 있다."
+#. Tag: para
+#: example_parentchild.xml:136
+#, no-c-format
+msgid ""
+"To tighten things up a bit, we could create an <literal>addChild()</literal> "
+"method of <literal>Parent</literal>."
+msgstr ""
+"약간 거칠게, 우리는 <literal>Parent</literal>의 <literal>addChild()</"
+"literal> 메소드를 생성시킬 수 있다."
 
-#: index.docbook:141
+#. Tag: programlisting
+#: example_parentchild.xml:141
+#, no-c-format
 msgid ""
-      "<![CDATA[public void addChild(Child c) {\n"
-      "    c.setParent(this);\n"
-      "    children.add(c);\n"
-      "}]]>"
+"<![CDATA[public void addChild(Child c) {\n"
+"    c.setParent(this);\n"
+"    children.add(c);\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[public void addChild(Child c) {\n"
-      "    c.setParent(this);\n"
-      "    children.add(c);\n"
-      "}]]>"
 
-#: index.docbook:143
+#. Tag: para
+#: example_parentchild.xml:143
+#, no-c-format
 msgid "Now, the code to add a <literal>Child</literal> looks like"
 msgstr "이제, <literal>Child</literal>를 추가하는 코드는 다음과 같다"
 
-#: index.docbook:147
+#. Tag: programlisting
+#: example_parentchild.xml:147
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:152
+#. Tag: title
+#: example_parentchild.xml:152
+#, no-c-format
 msgid "Cascading life cycle"
 msgstr "케스케이딩 생명주기"
 
-#: index.docbook:154
-msgid "The explicit call to <literal>save()</literal> is still annoying. We will address this by using cascades."
-msgstr "<literal>save()</literal>에 대한 명시적인 호출은 여전히 성가시다. 우리는 케스케이딩을 사용하여 이것을 얘기할 것이다."
+#. Tag: para
+#: example_parentchild.xml:154
+#, no-c-format
+msgid ""
+"The explicit call to <literal>save()</literal> is still annoying. We will "
+"address this by using cascades."
+msgstr ""
+"<literal>save()</literal>에 대한 명시적인 호출은 여전히 성가시다. 우리는 케스"
+"케이딩을 사용하여 이것을 얘기할 것이다."
 
-#: index.docbook:159
+#. Tag: programlisting
+#: example_parentchild.xml:159
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all\">\n"
+"    <key column=\"parent_id\"/>\n"
+"    <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:161
+#. Tag: para
+#: example_parentchild.xml:161
+#, no-c-format
 msgid "This simplifies the code above to"
 msgstr "다음은 위의 코드를 단순화 시킨다"
 
-#: index.docbook:165
+#. Tag: programlisting
+#: example_parentchild.xml:165
+#, no-c-format
 msgid ""
-      "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
-      "Child c = new Child();\n"
-      "p.addChild(c);\n"
-      "session.flush();]]>"
+"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
+"Child c = new Child();\n"
+"p.addChild(c);\n"
+"session.flush();]]>"
 msgstr ""
-      "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
-      "Child c = new Child();\n"
-      "p.addChild(c);\n"
-      "session.flush();]]>"
 
-#: index.docbook:167
-msgid "Similarly, we don't 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 "유사하게, 우리는 <literal>Parent</literal>를 저장하거나 삭제할 때 자식들에 대해 반복하는 것을 필요로 하지 않는다. 다음은 데이터베이스로부터 <literal>p</literal>와 모든 그것의 자식들을 제거시킨다."
+#. Tag: para
+#: example_parentchild.xml:167
+#, no-c-format
+msgid ""
+"Similarly, we don't 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 ""
+"유사하게, 우리는 <literal>Parent</literal>를 저장하거나 삭제할 때 자식들에 대"
+"해 반복하는 것을 필요로 하지 않는다. 다음은 데이터베이스로부터 <literal>p</"
+"literal>와 모든 그것의 자식들을 제거시킨다."
 
-#: index.docbook:172
+#. Tag: programlisting
+#: example_parentchild.xml:172
+#, no-c-format
 msgid ""
-      "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
-      "session.delete(p);\n"
-      "session.flush();]]>"
+"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
+"session.delete(p);\n"
+"session.flush();]]>"
 msgstr ""
-      "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
-      "session.delete(p);\n"
-      "session.flush();]]>"
 
-#: index.docbook:174
+#. Tag: para
+#: example_parentchild.xml:174
+#, no-c-format
 msgid "However, this code"
 msgstr "하지만, 다음 코드"
 
-#: index.docbook:178
+#. Tag: programlisting
+#: example_parentchild.xml:178
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:180
-msgid "will not remove <literal>c</literal> from the database; it will ony remove the link to <literal>p</literal> (and cause a <literal>NOT NULL</literal> constraint violation, in this case). You need to explicitly <literal>delete()</literal> the <literal>Child</literal>."
-msgstr "는 데이터베이스로부터 <literal>c</literal>를 제거하지 않을 것이다; 그것은 오직 <literal>p</literal>에 대한 링크만을 제거할 것이다(그리고 이 경우에 <literal>NOT NULL</literal> 컨스트레인트 위반을 일으킬 것이다 ). 당신은 명시적으로 <literal>Child</literal>를 <literal>delete()</literal> 시킬 필요가 있다."
+#. Tag: para
+#: example_parentchild.xml:180
+#, no-c-format
+msgid ""
+"will not remove <literal>c</literal> from the database; it will ony remove "
+"the link to <literal>p</literal> (and cause a <literal>NOT NULL</literal> "
+"constraint violation, in this case). You need to explicitly <literal>delete()"
+"</literal> the <literal>Child</literal>."
+msgstr ""
+"는 데이터베이스로부터 <literal>c</literal>를 제거하지 않을 것이다; 그것은 오"
+"직 <literal>p</literal>에 대한 링크만을 제거할 것이다(그리고 이 경우에 "
+"<literal>NOT NULL</literal> 컨스트레인트 위반을 일으킬 것이다 ). 당신은 명시"
+"적으로 <literal>Child</literal>를 <literal>delete()</literal> 시킬 필요가 있"
+"다."
 
-#: index.docbook:186
+#. Tag: programlisting
+#: example_parentchild.xml:186
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:188
-msgid "Now, in our case, a <literal>Child</literal> can't really exist without its parent. So if we remove a <literal>Child</literal> from the collection, we really do want it to be deleted. For this, we must use <literal>cascade=\"all-delete-orphan\"</literal>."
-msgstr "이제 우리의 경우에 <literal>Child</literal>는 그것의 부모 없이는 진정으로 존재할 수 없다. 따라서 만일 우리가 콜렉션으로부터 하나의 <literal>Child</literal>를 제거할 경우, 우리는 그것이 정말로 삭제되기를 원한다. 이를 위해 우리는 <literal>cascade=\"all-delete-orphan\"</literal>을 사용해야 한다."
+#. Tag: para
+#: example_parentchild.xml:188
+#, no-c-format
+msgid ""
+"Now, in our case, a <literal>Child</literal> can't really exist without its "
+"parent. So if we remove a <literal>Child</literal> from the collection, we "
+"really do want it to be deleted. For this, we must use <literal>cascade="
+"\"all-delete-orphan\"</literal>."
+msgstr ""
+"이제 우리의 경우에 <literal>Child</literal>는 그것의 부모 없이는 진정으로 존"
+"재할 수 없다. 따라서 만일 우리가 콜렉션으로부터 하나의 <literal>Child</"
+"literal>를 제거할 경우, 우리는 그것이 정말로 삭제되기를 원한다. 이를 위해 우"
+"리는 <literal>cascade=\"all-delete-orphan\"</literal>을 사용해야 한다."
 
-#: index.docbook:194
+#. Tag: programlisting
+#: example_parentchild.xml:194
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all-delete-orphan\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all-delete-orphan"
+"\">\n"
+"    <key column=\"parent_id\"/>\n"
+"    <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all-delete-orphan\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:196
-msgid "Note: even though the collection mapping specifies <literal>inverse=\"true\"</literal>, cascades are still processed by iterating the collection elements. So if you require that 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 "노트: 비록 콜렉션 매핑이 <literal>inverse=\"true\"</literal>를 지정할 지라도, 케스케이드들은 여전히 콜렉션 요소들을 반복함으로써 처리된다. 따라서 객체가 케스케이드에 의해 저장되고, 삭제되거나 업데이트 되는 것을 당신이 필요로 할 경우, 당신은 그것을 그 콜렉션에 추가해야 한다. 단순히 <literal>setParent()</literal>를 호출하는 것으로는 충분하지 않다."
+#. Tag: para
+#: example_parentchild.xml:196
+#, no-c-format
+msgid ""
+"Note: even though the collection mapping specifies <literal>inverse=\"true"
+"\"</literal>, cascades are still processed by iterating the collection "
+"elements. So if you require that 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 ""
+"노트: 비록 콜렉션 매핑이 <literal>inverse=\"true\"</literal>를 지정할 지라"
+"도, 케스케이드들은 여전히 콜렉션 요소들을 반복함으로써 처리된다. 따라서 객체"
+"가 케스케이드에 의해 저장되고, 삭제되거나 업데이트 되는 것을 당신이 필요로 "
+"할 경우, 당신은 그것을 그 콜렉션에 추가해야 한다. 단순히 <literal>setParent()"
+"</literal>를 호출하는 것으로는 충분하지 않다."
 
-#: index.docbook:206
+#. Tag: title
+#: example_parentchild.xml:206
+#, no-c-format
 msgid "Cascades and <literal>unsaved-value</literal>"
 msgstr "케스케이드들과 <literal>unsaved-value</literal>"
 
-#: index.docbook:208
-msgid "Suppose we loaded up a <literal>Parent</literal> in one <literal>Session</literal>, made some changes in a UI action and wish to persist these changes in a new session by calling <literal>update()</literal>. The <literal>Parent</literal> will contain a collection of childen and, since cascading update is enabled, Hibernate needs to know which children are newly instantiated and which represent existing rows in the database. Lets assume that both <literal>Parent</literal> and <literal>Child</literal> have genenerated 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 "우리가 하나의 <literal>Session</literal> 속에 <literal>Parent</literal>를 로드시켰고 UI 액션에서 어떤 변경들을 행했고, <literal>update()</literal>를 호출하여 새로운 세션에서 이들 변경들을 영속화 시키는 것을 원한다고 가정하자. <literal>Parent</literal>는 자식들을 가진 콜렉션을 포함할 것이고, 케스케이딩 업데이트가 사용 가능하기 때문에, Hibernate는 어느 자식들이 새로이 초기화 되는지 그리고 어느 것이 데이터베이스에서 현재 행들을 표현하는지를 알 필요가 있다. <literal>Parent</literal>와 <literal>Child</literal> 모두 <literal>Long</literal> 타입의 식별자 프로퍼티들을 생성시켰다고 가정하자. Hibernate는 어느 자식들이 새로운 것인지를 결정하는데 식별자와 version/timestamp 프로퍼티 값을 사용할 것이다.(<xref linkend=\"objectstate-saveorupdate\"/>을 보라.) <emphasis>Hibernate!
 3에서는<literal>unsaved-value</literal>를 더이상 명시적으로 지정할 필요가 없다.</emphasis>"
+#. Tag: para
+#: example_parentchild.xml:208
+#, 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 wish to persist these changes "
+"in a new session by calling <literal>update()</literal>. The "
+"<literal>Parent</literal> will contain a collection of childen and, since "
+"cascading update is enabled, Hibernate needs to know which children are "
+"newly instantiated and which represent existing rows in the database. Lets "
+"assume that both <literal>Parent</literal> and <literal>Child</literal> have "
+"genenerated 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 ""
+"우리가 하나의 <literal>Session</literal> 속에 <literal>Parent</literal>를 로"
+"드시켰고 UI 액션에서 어떤 변경들을 행했고, <literal>update()</literal>를 호출"
+"하여 새로운 세션에서 이들 변경들을 영속화 시키는 것을 원한다고 가정하자. "
+"<literal>Parent</literal>는 자식들을 가진 콜렉션을 포함할 것이고, 케스케이딩 "
+"업데이트가 사용 가능하기 때문에, Hibernate는 어느 자식들이 새로이 초기화 되는"
+"지 그리고 어느 것이 데이터베이스에서 현재 행들을 표현하는지를 알 필요가 있"
+"다. <literal>Parent</literal>와 <literal>Child</literal> 모두 <literal>Long</"
+"literal> 타입의 식별자 프로퍼티들을 생성시켰다고 가정하자. Hibernate는 어느 "
+"자식들이 새로운 것인지를 결정하는데 식별자와 version/timestamp 프로퍼티 값을 "
+"사용할 것이다.(<xref linkend=\"objectstate-saveorupdate\"/>을 보라.) "
+"<emphasis>Hibernate3에서는<literal>unsaved-value</literal>를 더이상 명시적으"
+"로 지정할 필요가 없다.</emphasis>"
 
-#: index.docbook:220
-msgid "The following code will update <literal>parent</literal> and <literal>child</literal> and insert <literal>newChild</literal>."
-msgstr "다음 코드는 <literal>parent</literal>와 <literal>child</literal>를 업데이트하고 <literal>newChild</literal>를 삽입시킬 것이다."
+#. Tag: para
+#: example_parentchild.xml:220
+#, no-c-format
+msgid ""
+"The following code will update <literal>parent</literal> and <literal>child</"
+"literal> and insert <literal>newChild</literal>."
+msgstr ""
+"다음 코드는 <literal>parent</literal>와 <literal>child</literal>를 업데이트하"
+"고 <literal>newChild</literal>를 삽입시킬 것이다."
 
-#: index.docbook:225
+#. Tag: programlisting
+#: example_parentchild.xml:225
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:227
-msgid "Well, that's all very well for the case of a generated identifier, but what about assigned identifiers and composite identifiers? This is more difficult, since Hibernate can't 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 "물론 그것은 생성되는 식별자의 경우에는 모두 매우 좋지만, 할당되는 식별자들과 composite 식별자들에 대해서는 어떠한가? 이것은 보다 어렵다. 왜냐하면 Hibernate는 (사용자에 의해 할당된 식별자를 가진) 새로이 초기화 된 객체와 이전 세션에서 로드되었던 객체 사이를 구별짓는데 식별자 프로퍼티를 사용할 수 없기 때문이다. 이 경우에, Hibernate는 timestamp 프로퍼티 또는 version 프로퍼티를 사용하거나 실제로 second-level 캐시를 질의하거나 가장 나쁜 경우에는 행이 존재하는지를 알기 위해 데이터베이스를 질의할 것이다."
+#. Tag: para
+#: example_parentchild.xml:227
+#, no-c-format
+msgid ""
+"Well, that's all very well for the case of a generated identifier, but what "
+"about assigned identifiers and composite identifiers? This is more "
+"difficult, since Hibernate can't 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 ""
+"물론 그것은 생성되는 식별자의 경우에는 모두 매우 좋지만, 할당되는 식별자들과 "
+"composite 식별자들에 대해서는 어떠한가? 이것은 보다 어렵다. 왜냐하면 "
+"Hibernate는 (사용자에 의해 할당된 식별자를 가진) 새로이 초기화 된 객체와 이"
+"전 세션에서 로드되었던 객체 사이를 구별짓는데 식별자 프로퍼티를 사용할 수 없"
+"기 때문이다. 이 경우에, Hibernate는 timestamp 프로퍼티 또는 version 프로퍼티"
+"를 사용하거나 실제로 second-level 캐시를 질의하거나 가장 나쁜 경우에는 행이 "
+"존재하는지를 알기 위해 데이터베이스를 질의할 것이다."
 
-#: index.docbook:260
+#. Tag: title
+#: example_parentchild.xml:260
+#, no-c-format
 msgid "Conclusion"
-msgstr "<title>ê²°ë¡ </title>"
+msgstr "ê²°ë¡ "
 
-#: index.docbook:262
-msgid "There is quite a bit to digest here and it might look confusing first time around. However, in practice, it all works out very nicely. Most Hibernate applications use the parent / child pattern in many places."
-msgstr "여기에 숙지할 것이 약간 있고 그것은 처음에는 혼동스러운 것처럼 보일 수 있다. 하지만 실제로 그것은 모두 매우 좋게 동작한다. 대부분의 Hibernate 어플리케이션들은 많은 장소들에서 부모/자식 패턴을 사용한다."
+#. Tag: para
+#: example_parentchild.xml:262
+#, no-c-format
+msgid ""
+"There is quite a bit to digest here and it might look confusing first time "
+"around. However, in practice, it all works out very nicely. Most Hibernate "
+"applications use the parent / child pattern in many places."
+msgstr ""
+"여기에 숙지할 것이 약간 있고 그것은 처음에는 혼동스러운 것처럼 보일 수 있다. "
+"하지만 실제로 그것은 모두 매우 좋게 동작한다. 대부분의 Hibernate 어플리케이션"
+"들은 많은 장소들에서 부모/자식 패턴을 사용한다."
 
-#: index.docbook:267
-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 to composite element classes: composite elements may not own collections, and they should not be the child of any entity other than the unique parent."
-msgstr "우리는 첫 번째 단락에서 대안을 언급했다. 위의 쟁점들 중 어느 것도 정확하게 부모/자식 관계의 의미를 가진, <literal>&lt;composite-element&gt;</literal> 매핑들의 경우에는 존재하지 않는다. 불행히도, composite 요소 클래스들에 대한 두 개의 커다란 제약들이 존재한다: composite 요소들은 콜렉션들을 소유하지 않고, 그것들은 유일한 부모가 아닌 다른 어떤 엔티티의 자식일 수는 없다."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: example_parentchild.xml:267
+#, 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 to composite element classes: "
+"composite elements may not own collections, and they should not be the child "
+"of any entity other than the unique parent."
+msgstr ""
+"우리는 첫 번째 단락에서 대안을 언급했다. 위의 쟁점들 중 어느 것도 정확하게 부"
+"모/자식 관계의 의미를 가진, <literal>&lt;composite-element&gt;</literal> 매핑"
+"들의 경우에는 존재하지 않는다. 불행히도, composite 요소 클래스들에 대한 두 개"
+"의 커다란 제약들이 존재한다: composite 요소들은 콜렉션들을 소유하지 않고, 그"
+"것들은 유일한 부모가 아닌 다른 어떤 엔티티의 자식일 수는 없다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/example_weblog.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/example_weblog.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/example_weblog.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,840 +1,484 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: example_weblog.xml:5
+#, no-c-format
 msgid "Example: Weblog Application"
 msgstr "예제: Weblog 어플리케이션"
 
-#: index.docbook:8
+#. Tag: title
+#: example_weblog.xml:8
+#, no-c-format
 msgid "Persistent Classes"
 msgstr "영속 클래스들"
 
-#: index.docbook:10
-msgid "The persistent classes represent a weblog, and an item posted in a weblog. They are to be modelled as a standard parent/child relationship, but we will use an ordered bag, instead of a set."
-msgstr "영속 클래스들은 웹로그, 그리고 웹 로그 내에 게시된 항목을 표현한다.그것들은 표준 부모/자식 관계로 모형화 될 것이지만, 우리는 set 대신에 순서지워진 bag를 사용할 것이다."
+#. Tag: para
+#: example_weblog.xml:10
+#, no-c-format
+msgid ""
+"The persistent classes represent a weblog, and an item posted in a weblog. "
+"They are to be modelled as a standard parent/child relationship, but we will "
+"use an ordered bag, instead of a set."
+msgstr ""
+"영속 클래스들은 웹로그, 그리고 웹 로그 내에 게시된 항목을 표현한다.그것들은 "
+"표준 부모/자식 관계로 모형화 될 것이지만, 우리는 set 대신에 순서지워진 bag를 "
+"사용할 것이다."
 
-#: index.docbook:16
+#. Tag: programlisting
+#: example_weblog.xml:16
+#, no-c-format
 msgid ""
-      "<![CDATA[package eg;\n"
-      "\n"
-      "import java.util.List;\n"
-      "\n"
-      "public class Blog {\n"
-      "    private Long _id;\n"
-      "    private String _name;\n"
-      "    private List _items;\n"
-      "\n"
-      "    public Long getId() {\n"
-      "        return _id;\n"
-      "    }\n"
-      "    public List getItems() {\n"
-      "        return _items;\n"
-      "    }\n"
-      "    public String getName() {\n"
-      "        return _name;\n"
-      "    }\n"
-      "    public void setId(Long long1) {\n"
-      "        _id = long1;\n"
-      "    }\n"
-      "    public void setItems(List list) {\n"
-      "        _items = list;\n"
-      "    }\n"
-      "    public void setName(String string) {\n"
-      "        _name = string;\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[package eg;\n"
+"\n"
+"import java.util.List;\n"
+"\n"
+"public class Blog {\n"
+"    private Long _id;\n"
+"    private String _name;\n"
+"    private List _items;\n"
+"\n"
+"    public Long getId() {\n"
+"        return _id;\n"
+"    }\n"
+"    public List getItems() {\n"
+"        return _items;\n"
+"    }\n"
+"    public String getName() {\n"
+"        return _name;\n"
+"    }\n"
+"    public void setId(Long long1) {\n"
+"        _id = long1;\n"
+"    }\n"
+"    public void setItems(List list) {\n"
+"        _items = list;\n"
+"    }\n"
+"    public void setName(String string) {\n"
+"        _name = string;\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package eg;\n"
-      "\n"
-      "import java.util.List;\n"
-      "\n"
-      "public class Blog {\n"
-      "    private Long _id;\n"
-      "    private String _name;\n"
-      "    private List _items;\n"
-      "\n"
-      "    public Long getId() {\n"
-      "        return _id;\n"
-      "    }\n"
-      "    public List getItems() {\n"
-      "        return _items;\n"
-      "    }\n"
-      "    public String getName() {\n"
-      "        return _name;\n"
-      "    }\n"
-      "    public void setId(Long long1) {\n"
-      "        _id = long1;\n"
-      "    }\n"
-      "    public void setItems(List list) {\n"
-      "        _items = list;\n"
-      "    }\n"
-      "    public void setName(String string) {\n"
-      "        _name = string;\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:18
+#. Tag: programlisting
+#: example_weblog.xml:18
+#, no-c-format
 msgid ""
-      "<![CDATA[package eg;\n"
-      "\n"
-      "import java.text.DateFormat;\n"
-      "import java.util.Calendar;\n"
-      "\n"
-      "public class BlogItem {\n"
-      "    private Long _id;\n"
-      "    private Calendar _datetime;\n"
-      "    private String _text;\n"
-      "    private String _title;\n"
-      "    private Blog _blog;\n"
-      "\n"
-      "    public Blog getBlog() {\n"
-      "        return _blog;\n"
-      "    }\n"
-      "    public Calendar getDatetime() {\n"
-      "        return _datetime;\n"
-      "    }\n"
-      "    public Long getId() {\n"
-      "        return _id;\n"
-      "    }\n"
-      "    public String getText() {\n"
-      "        return _text;\n"
-      "    }\n"
-      "    public String getTitle() {\n"
-      "        return _title;\n"
-      "    }\n"
-      "    public void setBlog(Blog blog) {\n"
-      "        _blog = blog;\n"
-      "    }\n"
-      "    public void setDatetime(Calendar calendar) {\n"
-      "        _datetime = calendar;\n"
-      "    }\n"
-      "    public void setId(Long long1) {\n"
-      "        _id = long1;\n"
-      "    }\n"
-      "    public void setText(String string) {\n"
-      "        _text = string;\n"
-      "    }\n"
-      "    public void setTitle(String string) {\n"
-      "        _title = string;\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[package eg;\n"
+"\n"
+"import java.text.DateFormat;\n"
+"import java.util.Calendar;\n"
+"\n"
+"public class BlogItem {\n"
+"    private Long _id;\n"
+"    private Calendar _datetime;\n"
+"    private String _text;\n"
+"    private String _title;\n"
+"    private Blog _blog;\n"
+"\n"
+"    public Blog getBlog() {\n"
+"        return _blog;\n"
+"    }\n"
+"    public Calendar getDatetime() {\n"
+"        return _datetime;\n"
+"    }\n"
+"    public Long getId() {\n"
+"        return _id;\n"
+"    }\n"
+"    public String getText() {\n"
+"        return _text;\n"
+"    }\n"
+"    public String getTitle() {\n"
+"        return _title;\n"
+"    }\n"
+"    public void setBlog(Blog blog) {\n"
+"        _blog = blog;\n"
+"    }\n"
+"    public void setDatetime(Calendar calendar) {\n"
+"        _datetime = calendar;\n"
+"    }\n"
+"    public void setId(Long long1) {\n"
+"        _id = long1;\n"
+"    }\n"
+"    public void setText(String string) {\n"
+"        _text = string;\n"
+"    }\n"
+"    public void setTitle(String string) {\n"
+"        _title = string;\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package eg;\n"
-      "\n"
-      "import java.text.DateFormat;\n"
-      "import java.util.Calendar;\n"
-      "\n"
-      "public class BlogItem {\n"
-      "    private Long _id;\n"
-      "    private Calendar _datetime;\n"
-      "    private String _text;\n"
-      "    private String _title;\n"
-      "    private Blog _blog;\n"
-      "\n"
-      "    public Blog getBlog() {\n"
-      "        return _blog;\n"
-      "    }\n"
-      "    public Calendar getDatetime() {\n"
-      "        return _datetime;\n"
-      "    }\n"
-      "    public Long getId() {\n"
-      "        return _id;\n"
-      "    }\n"
-      "    public String getText() {\n"
-      "        return _text;\n"
-      "    }\n"
-      "    public String getTitle() {\n"
-      "        return _title;\n"
-      "    }\n"
-      "    public void setBlog(Blog blog) {\n"
-      "        _blog = blog;\n"
-      "    }\n"
-      "    public void setDatetime(Calendar calendar) {\n"
-      "        _datetime = calendar;\n"
-      "    }\n"
-      "    public void setId(Long long1) {\n"
-      "        _id = long1;\n"
-      "    }\n"
-      "    public void setText(String string) {\n"
-      "        _text = string;\n"
-      "    }\n"
-      "    public void setTitle(String string) {\n"
-      "        _title = string;\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:23
+#. Tag: title
+#: example_weblog.xml:23
+#, no-c-format
 msgid "Hibernate Mappings"
 msgstr "Hibernate 매핑들"
 
-#: index.docbook:25
+#. Tag: para
+#: example_weblog.xml:25
+#, no-c-format
 msgid "The XML mappings should now be quite straightforward."
 msgstr "XML 매핑들은 이제 매우 간단해질 것이다."
 
-#: index.docbook:29
+#. Tag: programlisting
+#: example_weblog.xml:29
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "    \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "    \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "    <class\n"
-      "        name=\"Blog\"\n"
-      "        table=\"BLOGS\">\n"
-      "\n"
-      "        <id\n"
-      "            name=\"id\"\n"
-      "            column=\"BLOG_ID\">\n"
-      "\n"
-      "            <generator class=\"native\"/>\n"
-      "\n"
-      "        </id>\n"
-      "\n"
-      "        <property\n"
-      "            name=\"name\"\n"
-      "            column=\"NAME\"\n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "\n"
-      "        <bag\n"
-      "            name=\"items\"\n"
-      "            inverse=\"true\"\n"
-      "            order-by=\"DATE_TIME\"\n"
-      "            cascade=\"all\">\n"
-      "\n"
-      "            <key column=\"BLOG_ID\"/>\n"
-      "            <one-to-many class=\"BlogItem\"/>\n"
-      "\n"
-      "        </bag>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"    \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"    \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+"    <class\n"
+"        name=\"Blog\"\n"
+"        table=\"BLOGS\">\n"
+"\n"
+"        <id\n"
+"            name=\"id\"\n"
+"            column=\"BLOG_ID\">\n"
+"\n"
+"            <generator class=\"native\"/>\n"
+"\n"
+"        </id>\n"
+"\n"
+"        <property\n"
+"            name=\"name\"\n"
+"            column=\"NAME\"\n"
+"            not-null=\"true\"\n"
+"            unique=\"true\"/>\n"
+"\n"
+"        <bag\n"
+"            name=\"items\"\n"
+"            inverse=\"true\"\n"
+"            order-by=\"DATE_TIME\"\n"
+"            cascade=\"all\">\n"
+"\n"
+"            <key column=\"BLOG_ID\"/>\n"
+"            <one-to-many class=\"BlogItem\"/>\n"
+"\n"
+"        </bag>\n"
+"\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "    \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "    \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "    <class\n"
-      "        name=\"Blog\"\n"
-      "        table=\"BLOGS\">\n"
-      "\n"
-      "        <id\n"
-      "            name=\"id\"\n"
-      "            column=\"BLOG_ID\">\n"
-      "\n"
-      "            <generator class=\"native\"/>\n"
-      "\n"
-      "        </id>\n"
-      "\n"
-      "        <property\n"
-      "            name=\"name\"\n"
-      "            column=\"NAME\"\n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "\n"
-      "        <bag\n"
-      "            name=\"items\"\n"
-      "            inverse=\"true\"\n"
-      "            order-by=\"DATE_TIME\"\n"
-      "            cascade=\"all\">\n"
-      "\n"
-      "            <key column=\"BLOG_ID\"/>\n"
-      "            <one-to-many class=\"BlogItem\"/>\n"
-      "\n"
-      "        </bag>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:31
+#. Tag: programlisting
+#: example_weblog.xml:31
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "    \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "    \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "    <class\n"
-      "        name=\"BlogItem\"\n"
-      "        table=\"BLOG_ITEMS\"\n"
-      "        dynamic-update=\"true\">\n"
-      "\n"
-      "        <id\n"
-      "            name=\"id\"\n"
-      "            column=\"BLOG_ITEM_ID\">\n"
-      "\n"
-      "            <generator class=\"native\"/>\n"
-      "\n"
-      "        </id>\n"
-      "\n"
-      "        <property\n"
-      "            name=\"title\"\n"
-      "            column=\"TITLE\"\n"
-      "            not-null=\"true\"/>\n"
-      "\n"
-      "        <property\n"
-      "            name=\"text\"\n"
-      "            column=\"TEXT\"\n"
-      "            not-null=\"true\"/>\n"
-      "\n"
-      "        <property\n"
-      "            name=\"datetime\"\n"
-      "            column=\"DATE_TIME\"\n"
-      "            not-null=\"true\"/>\n"
-      "\n"
-      "        <many-to-one\n"
-      "            name=\"blog\"\n"
-      "            column=\"BLOG_ID\"\n"
-      "            not-null=\"true\"/>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"    \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"    \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+"    <class\n"
+"        name=\"BlogItem\"\n"
+"        table=\"BLOG_ITEMS\"\n"
+"        dynamic-update=\"true\">\n"
+"\n"
+"        <id\n"
+"            name=\"id\"\n"
+"            column=\"BLOG_ITEM_ID\">\n"
+"\n"
+"            <generator class=\"native\"/>\n"
+"\n"
+"        </id>\n"
+"\n"
+"        <property\n"
+"            name=\"title\"\n"
+"            column=\"TITLE\"\n"
+"            not-null=\"true\"/>\n"
+"\n"
+"        <property\n"
+"            name=\"text\"\n"
+"            column=\"TEXT\"\n"
+"            not-null=\"true\"/>\n"
+"\n"
+"        <property\n"
+"            name=\"datetime\"\n"
+"            column=\"DATE_TIME\"\n"
+"            not-null=\"true\"/>\n"
+"\n"
+"        <many-to-one\n"
+"            name=\"blog\"\n"
+"            column=\"BLOG_ID\"\n"
+"            not-null=\"true\"/>\n"
+"\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "    \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "    \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "    <class\n"
-      "        name=\"BlogItem\"\n"
-      "        table=\"BLOG_ITEMS\"\n"
-      "        dynamic-update=\"true\">\n"
-      "\n"
-      "        <id\n"
-      "            name=\"id\"\n"
-      "            column=\"BLOG_ITEM_ID\">\n"
-      "\n"
-      "            <generator class=\"native\"/>\n"
-      "\n"
-      "        </id>\n"
-      "\n"
-      "        <property\n"
-      "            name=\"title\"\n"
-      "            column=\"TITLE\"\n"
-      "            not-null=\"true\"/>\n"
-      "\n"
-      "        <property\n"
-      "            name=\"text\"\n"
-      "            column=\"TEXT\"\n"
-      "            not-null=\"true\"/>\n"
-      "\n"
-      "        <property\n"
-      "            name=\"datetime\"\n"
-      "            column=\"DATE_TIME\"\n"
-      "            not-null=\"true\"/>\n"
-      "\n"
-      "        <many-to-one\n"
-      "            name=\"blog\"\n"
-      "            column=\"BLOG_ID\"\n"
-      "            not-null=\"true\"/>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:36
+#. Tag: title
+#: example_weblog.xml:36
+#, no-c-format
 msgid "Hibernate Code"
 msgstr "Hibernate 코드"
 
-#: index.docbook:38
-msgid "The following class demonstrates some of the kinds of things we can do with these classes, using Hibernate."
-msgstr "다음 클래스는 우리가 Hibernate를 사용하여 이들 클래스들로 행할 수 있는 몇몇 종류의 것들을 설명한다."
-
-#: index.docbook:43
+#. Tag: para
+#: example_weblog.xml:38
+#, no-c-format
 msgid ""
-      "<![CDATA[package eg;\n"
-      "\n"
-      "import java.util.ArrayList;\n"
-      "import java.util.Calendar;\n"
-      "import java.util.Iterator;\n"
-      "import java.util.List;\n"
-      "\n"
-      "import org.hibernate.HibernateException;\n"
-      "import org.hibernate.Query;\n"
-      "import org.hibernate.Session;\n"
-      "import org.hibernate.SessionFactory;\n"
-      "import org.hibernate.Transaction;\n"
-      "import org.hibernate.cfg.Configuration;\n"
-      "import org.hibernate.tool.hbm2ddl.SchemaExport;\n"
-      "\n"
-      "public class BlogMain {\n"
-      "    \n"
-      "    private SessionFactory _sessions;\n"
-      "    \n"
-      "    public void configure() throws HibernateException {\n"
-      "        _sessions = new Configuration()\n"
-      "            .addClass(Blog.class)\n"
-      "            .addClass(BlogItem.class)\n"
-      "            .buildSessionFactory();\n"
-      "    }\n"
-      "    \n"
-      "    public void exportTables() throws HibernateException {\n"
-      "        Configuration cfg = new Configuration()\n"
-      "            .addClass(Blog.class)\n"
-      "            .addClass(BlogItem.class);\n"
-      "        new SchemaExport(cfg).create(true, true);\n"
-      "    }\n"
-      "    \n"
-      "    public Blog createBlog(String name) throws HibernateException {\n"
-      "        \n"
-      "        Blog blog = new Blog();\n"
-      "        blog.setName(name);\n"
-      "        blog.setItems( new ArrayList() );\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            session.persist(blog);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return blog;\n"
-      "    }\n"
-      "    \n"
-      "    public BlogItem createBlogItem(Blog blog, String title, String text)\n"
-      "                        throws HibernateException {\n"
-      "        \n"
-      "        BlogItem item = new BlogItem();\n"
-      "        item.setTitle(title);\n"
-      "        item.setText(text);\n"
-      "        item.setBlog(blog);\n"
-      "        item.setDatetime( Calendar.getInstance() );\n"
-      "        blog.getItems().add(item);\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            session.update(blog);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return item;\n"
-      "    }\n"
-      "    \n"
-      "    public BlogItem createBlogItem(Long blogid, String title, String text)\n"
-      "                        throws HibernateException {\n"
-      "        \n"
-      "        BlogItem item = new BlogItem();\n"
-      "        item.setTitle(title);\n"
-      "        item.setText(text);\n"
-      "        item.setDatetime( Calendar.getInstance() );\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            Blog blog = (Blog) session.load(Blog.class, blogid);\n"
-      "            item.setBlog(blog);\n"
-      "            blog.getItems().add(item);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return item;\n"
-      "    }\n"
-      "    \n"
-      "    public void updateBlogItem(BlogItem item, String text)\n"
-      "                    throws HibernateException {\n"
-      "        \n"
-      "        item.setText(text);\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            session.update(item);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "    }\n"
-      "    \n"
-      "    public void updateBlogItem(Long itemid, String text)\n"
-      "                    throws HibernateException {\n"
-      "    \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            BlogItem item = (BlogItem) session.load(BlogItem.class, itemid);\n"
-      "            item.setText(text);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "    }\n"
-      "    \n"
-      "    public List listAllBlogNamesAndItemCounts(int max)\n"
-      "                    throws HibernateException {\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        List result = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            Query q = session.createQuery(\n"
-      "                \"select blog.id, blog.name, count(blogItem) \" +\n"
-      "                \"from Blog as blog \" +\n"
-      "                \"left outer join blog.items as blogItem \" +\n"
-      "                \"group by blog.name, blog.id \" +\n"
-      "                \"order by max(blogItem.datetime)\"\n"
-      "            );\n"
-      "            q.setMaxResults(max);\n"
-      "            result = q.list();\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return result;\n"
-      "    }\n"
-      "    \n"
-      "    public Blog getBlogAndAllItems(Long blogid)\n"
-      "                    throws HibernateException {\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        Blog blog = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            Query q = session.createQuery(\n"
-      "                \"from Blog as blog \" +\n"
-      "                \"left outer join fetch blog.items \" +\n"
-      "                \"where blog.id = :blogid\"\n"
-      "            );\n"
-      "            q.setParameter(\"blogid\", blogid);\n"
-      "            blog  = (Blog) q.uniqueResult();\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return blog;\n"
-      "    }\n"
-      "    \n"
-      "    public List listBlogsAndRecentItems() throws HibernateException {\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        List result = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            Query q = session.createQuery(\n"
-      "                \"from Blog as blog \" +\n"
-      "                \"inner join blog.items as blogItem \" +\n"
-      "                \"where blogItem.datetime > :minDate\"\n"
-      "            );\n"
-      "\n"
-      "            Calendar cal = Calendar.getInstance();\n"
-      "            cal.roll(Calendar.MONTH, false);\n"
-      "            q.setCalendar(\"minDate\", cal);\n"
-      "            \n"
-      "            result = q.list();\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return result;\n"
-      "    }\n"
-      "}]]>"
+"The following class demonstrates some of the kinds of things we can do with "
+"these classes, using Hibernate."
 msgstr ""
-      "<![CDATA[package eg;\n"
-      "\n"
-      "import java.util.ArrayList;\n"
-      "import java.util.Calendar;\n"
-      "import java.util.Iterator;\n"
-      "import java.util.List;\n"
-      "\n"
-      "import org.hibernate.HibernateException;\n"
-      "import org.hibernate.Query;\n"
-      "import org.hibernate.Session;\n"
-      "import org.hibernate.SessionFactory;\n"
-      "import org.hibernate.Transaction;\n"
-      "import org.hibernate.cfg.Configuration;\n"
-      "import org.hibernate.tool.hbm2ddl.SchemaExport;\n"
-      "\n"
-      "public class BlogMain {\n"
-      "    \n"
-      "    private SessionFactory _sessions;\n"
-      "    \n"
-      "    public void configure() throws HibernateException {\n"
-      "        _sessions = new Configuration()\n"
-      "            .addClass(Blog.class)\n"
-      "            .addClass(BlogItem.class)\n"
-      "            .buildSessionFactory();\n"
-      "    }\n"
-      "    \n"
-      "    public void exportTables() throws HibernateException {\n"
-      "        Configuration cfg = new Configuration()\n"
-      "            .addClass(Blog.class)\n"
-      "            .addClass(BlogItem.class);\n"
-      "        new SchemaExport(cfg).create(true, true);\n"
-      "    }\n"
-      "    \n"
-      "    public Blog createBlog(String name) throws HibernateException {\n"
-      "        \n"
-      "        Blog blog = new Blog();\n"
-      "        blog.setName(name);\n"
-      "        blog.setItems( new ArrayList() );\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            session.persist(blog);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return blog;\n"
-      "    }\n"
-      "    \n"
-      "    public BlogItem createBlogItem(Blog blog, String title, String text)\n"
-      "                        throws HibernateException {\n"
-      "        \n"
-      "        BlogItem item = new BlogItem();\n"
-      "        item.setTitle(title);\n"
-      "        item.setText(text);\n"
-      "        item.setBlog(blog);\n"
-      "        item.setDatetime( Calendar.getInstance() );\n"
-      "        blog.getItems().add(item);\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            session.update(blog);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return item;\n"
-      "    }\n"
-      "    \n"
-      "    public BlogItem createBlogItem(Long blogid, String title, String text)\n"
-      "                        throws HibernateException {\n"
-      "        \n"
-      "        BlogItem item = new BlogItem();\n"
-      "        item.setTitle(title);\n"
-      "        item.setText(text);\n"
-      "        item.setDatetime( Calendar.getInstance() );\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            Blog blog = (Blog) session.load(Blog.class, blogid);\n"
-      "            item.setBlog(blog);\n"
-      "            blog.getItems().add(item);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return item;\n"
-      "    }\n"
-      "    \n"
-      "    public void updateBlogItem(BlogItem item, String text)\n"
-      "                    throws HibernateException {\n"
-      "        \n"
-      "        item.setText(text);\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            session.update(item);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "    }\n"
-      "    \n"
-      "    public void updateBlogItem(Long itemid, String text)\n"
-      "                    throws HibernateException {\n"
-      "    \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            BlogItem item = (BlogItem) session.load(BlogItem.class, itemid);\n"
-      "            item.setText(text);\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "    }\n"
-      "    \n"
-      "    public List listAllBlogNamesAndItemCounts(int max)\n"
-      "                    throws HibernateException {\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        List result = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            Query q = session.createQuery(\n"
-      "                \"select blog.id, blog.name, count(blogItem) \" +\n"
-      "                \"from Blog as blog \" +\n"
-      "                \"left outer join blog.items as blogItem \" +\n"
-      "                \"group by blog.name, blog.id \" +\n"
-      "                \"order by max(blogItem.datetime)\"\n"
-      "            );\n"
-      "            q.setMaxResults(max);\n"
-      "            result = q.list();\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return result;\n"
-      "    }\n"
-      "    \n"
-      "    public Blog getBlogAndAllItems(Long blogid)\n"
-      "                    throws HibernateException {\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        Blog blog = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            Query q = session.createQuery(\n"
-      "                \"from Blog as blog \" +\n"
-      "                \"left outer join fetch blog.items \" +\n"
-      "                \"where blog.id = :blogid\"\n"
-      "            );\n"
-      "            q.setParameter(\"blogid\", blogid);\n"
-      "            blog  = (Blog) q.uniqueResult();\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return blog;\n"
-      "    }\n"
-      "    \n"
-      "    public List listBlogsAndRecentItems() throws HibernateException {\n"
-      "        \n"
-      "        Session session = _sessions.openSession();\n"
-      "        Transaction tx = null;\n"
-      "        List result = null;\n"
-      "        try {\n"
-      "            tx = session.beginTransaction();\n"
-      "            Query q = session.createQuery(\n"
-      "                \"from Blog as blog \" +\n"
-      "                \"inner join blog.items as blogItem \" +\n"
-      "                \"where blogItem.datetime > :minDate\"\n"
-      "            );\n"
-      "\n"
-      "            Calendar cal = Calendar.getInstance();\n"
-      "            cal.roll(Calendar.MONTH, false);\n"
-      "            q.setCalendar(\"minDate\", cal);\n"
-      "            \n"
-      "            result = q.list();\n"
-      "            tx.commit();\n"
-      "        }\n"
-      "        catch (HibernateException he) {\n"
-      "            if (tx!=null) tx.rollback();\n"
-      "            throw he;\n"
-      "        }\n"
-      "        finally {\n"
-      "            session.close();\n"
-      "        }\n"
-      "        return result;\n"
-      "    }\n"
-      "}]]>"
+"다음 클래스는 우리가 Hibernate를 사용하여 이들 클래스들로 행할 수 있는 몇몇 "
+"종류의 것들을 설명한다."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: programlisting
+#: example_weblog.xml:43
+#, no-c-format
+msgid ""
+"<![CDATA[package eg;\n"
+"\n"
+"import java.util.ArrayList;\n"
+"import java.util.Calendar;\n"
+"import java.util.Iterator;\n"
+"import java.util.List;\n"
+"\n"
+"import org.hibernate.HibernateException;\n"
+"import org.hibernate.Query;\n"
+"import org.hibernate.Session;\n"
+"import org.hibernate.SessionFactory;\n"
+"import org.hibernate.Transaction;\n"
+"import org.hibernate.cfg.Configuration;\n"
+"import org.hibernate.tool.hbm2ddl.SchemaExport;\n"
+"\n"
+"public class BlogMain {\n"
+"    \n"
+"    private SessionFactory _sessions;\n"
+"    \n"
+"    public void configure() throws HibernateException {\n"
+"        _sessions = new Configuration()\n"
+"            .addClass(Blog.class)\n"
+"            .addClass(BlogItem.class)\n"
+"            .buildSessionFactory();\n"
+"    }\n"
+"    \n"
+"    public void exportTables() throws HibernateException {\n"
+"        Configuration cfg = new Configuration()\n"
+"            .addClass(Blog.class)\n"
+"            .addClass(BlogItem.class);\n"
+"        new SchemaExport(cfg).create(true, true);\n"
+"    }\n"
+"    \n"
+"    public Blog createBlog(String name) throws HibernateException {\n"
+"        \n"
+"        Blog blog = new Blog();\n"
+"        blog.setName(name);\n"
+"        blog.setItems( new ArrayList() );\n"
+"        \n"
+"        Session session = _sessions.openSession();\n"
+"        Transaction tx = null;\n"
+"        try {\n"
+"            tx = session.beginTransaction();\n"
+"            session.persist(blog);\n"
+"            tx.commit();\n"
+"        }\n"
+"        catch (HibernateException he) {\n"
+"            if (tx!=null) tx.rollback();\n"
+"            throw he;\n"
+"        }\n"
+"        finally {\n"
+"            session.close();\n"
+"        }\n"
+"        return blog;\n"
+"    }\n"
+"    \n"
+"    public BlogItem createBlogItem(Blog blog, String title, String text)\n"
+"                        throws HibernateException {\n"
+"        \n"
+"        BlogItem item = new BlogItem();\n"
+"        item.setTitle(title);\n"
+"        item.setText(text);\n"
+"        item.setBlog(blog);\n"
+"        item.setDatetime( Calendar.getInstance() );\n"
+"        blog.getItems().add(item);\n"
+"        \n"
+"        Session session = _sessions.openSession();\n"
+"        Transaction tx = null;\n"
+"        try {\n"
+"            tx = session.beginTransaction();\n"
+"            session.update(blog);\n"
+"            tx.commit();\n"
+"        }\n"
+"        catch (HibernateException he) {\n"
+"            if (tx!=null) tx.rollback();\n"
+"            throw he;\n"
+"        }\n"
+"        finally {\n"
+"            session.close();\n"
+"        }\n"
+"        return item;\n"
+"    }\n"
+"    \n"
+"    public BlogItem createBlogItem(Long blogid, String title, String text)\n"
+"                        throws HibernateException {\n"
+"        \n"
+"        BlogItem item = new BlogItem();\n"
+"        item.setTitle(title);\n"
+"        item.setText(text);\n"
+"        item.setDatetime( Calendar.getInstance() );\n"
+"        \n"
+"        Session session = _sessions.openSession();\n"
+"        Transaction tx = null;\n"
+"        try {\n"
+"            tx = session.beginTransaction();\n"
+"            Blog blog = (Blog) session.load(Blog.class, blogid);\n"
+"            item.setBlog(blog);\n"
+"            blog.getItems().add(item);\n"
+"            tx.commit();\n"
+"        }\n"
+"        catch (HibernateException he) {\n"
+"            if (tx!=null) tx.rollback();\n"
+"            throw he;\n"
+"        }\n"
+"        finally {\n"
+"            session.close();\n"
+"        }\n"
+"        return item;\n"
+"    }\n"
+"    \n"
+"    public void updateBlogItem(BlogItem item, String text)\n"
+"                    throws HibernateException {\n"
+"        \n"
+"        item.setText(text);\n"
+"        \n"
+"        Session session = _sessions.openSession();\n"
+"        Transaction tx = null;\n"
+"        try {\n"
+"            tx = session.beginTransaction();\n"
+"            session.update(item);\n"
+"            tx.commit();\n"
+"        }\n"
+"        catch (HibernateException he) {\n"
+"            if (tx!=null) tx.rollback();\n"
+"            throw he;\n"
+"        }\n"
+"        finally {\n"
+"            session.close();\n"
+"        }\n"
+"    }\n"
+"    \n"
+"    public void updateBlogItem(Long itemid, String text)\n"
+"                    throws HibernateException {\n"
+"    \n"
+"        Session session = _sessions.openSession();\n"
+"        Transaction tx = null;\n"
+"        try {\n"
+"            tx = session.beginTransaction();\n"
+"            BlogItem item = (BlogItem) session.load(BlogItem.class, "
+"itemid);\n"
+"            item.setText(text);\n"
+"            tx.commit();\n"
+"        }\n"
+"        catch (HibernateException he) {\n"
+"            if (tx!=null) tx.rollback();\n"
+"            throw he;\n"
+"        }\n"
+"        finally {\n"
+"            session.close();\n"
+"        }\n"
+"    }\n"
+"    \n"
+"    public List listAllBlogNamesAndItemCounts(int max)\n"
+"                    throws HibernateException {\n"
+"        \n"
+"        Session session = _sessions.openSession();\n"
+"        Transaction tx = null;\n"
+"        List result = null;\n"
+"        try {\n"
+"            tx = session.beginTransaction();\n"
+"            Query q = session.createQuery(\n"
+"                \"select blog.id, blog.name, count(blogItem) \" +\n"
+"                \"from Blog as blog \" +\n"
+"                \"left outer join blog.items as blogItem \" +\n"
+"                \"group by blog.name, blog.id \" +\n"
+"                \"order by max(blogItem.datetime)\"\n"
+"            );\n"
+"            q.setMaxResults(max);\n"
+"            result = q.list();\n"
+"            tx.commit();\n"
+"        }\n"
+"        catch (HibernateException he) {\n"
+"            if (tx!=null) tx.rollback();\n"
+"            throw he;\n"
+"        }\n"
+"        finally {\n"
+"            session.close();\n"
+"        }\n"
+"        return result;\n"
+"    }\n"
+"    \n"
+"    public Blog getBlogAndAllItems(Long blogid)\n"
+"                    throws HibernateException {\n"
+"        \n"
+"        Session session = _sessions.openSession();\n"
+"        Transaction tx = null;\n"
+"        Blog blog = null;\n"
+"        try {\n"
+"            tx = session.beginTransaction();\n"
+"            Query q = session.createQuery(\n"
+"                \"from Blog as blog \" +\n"
+"                \"left outer join fetch blog.items \" +\n"
+"                \"where blog.id = :blogid\"\n"
+"            );\n"
+"            q.setParameter(\"blogid\", blogid);\n"
+"            blog  = (Blog) q.uniqueResult();\n"
+"            tx.commit();\n"
+"        }\n"
+"        catch (HibernateException he) {\n"
+"            if (tx!=null) tx.rollback();\n"
+"            throw he;\n"
+"        }\n"
+"        finally {\n"
+"            session.close();\n"
+"        }\n"
+"        return blog;\n"
+"    }\n"
+"    \n"
+"    public List listBlogsAndRecentItems() throws HibernateException {\n"
+"        \n"
+"        Session session = _sessions.openSession();\n"
+"        Transaction tx = null;\n"
+"        List result = null;\n"
+"        try {\n"
+"            tx = session.beginTransaction();\n"
+"            Query q = session.createQuery(\n"
+"                \"from Blog as blog \" +\n"
+"                \"inner join blog.items as blogItem \" +\n"
+"                \"where blogItem.datetime > :minDate\"\n"
+"            );\n"
+"\n"
+"            Calendar cal = Calendar.getInstance();\n"
+"            cal.roll(Calendar.MONTH, false);\n"
+"            q.setCalendar(\"minDate\", cal);\n"
+"            \n"
+"            result = q.list();\n"
+"            tx.commit();\n"
+"        }\n"
+"        catch (HibernateException he) {\n"
+"            if (tx!=null) tx.rollback();\n"
+"            throw he;\n"
+"        }\n"
+"        finally {\n"
+"            session.close();\n"
+"        }\n"
+"        return result;\n"
+"    }\n"
+"}]]>"
+msgstr ""

Modified: core/trunk/documentation/manual/translations/ko-KR/content/filters.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/filters.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/filters.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,194 +1,294 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: filters.xml:5
+#, no-c-format
 msgid "Filtering data"
 msgstr "데이터 필터링하기"
 
-#: index.docbook:7
-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 may be enabled or disabled for a particular Hibernate session."
-msgstr "Hibernate3은 혁신적인 \"가시성(visibility)\" 규칙들로서 데이터를 처리하는 새로운 접근법을 제공한다. <emphasis>Hibernate 필터</emphasis>는 특정 Hibernate 세션에 대해 이용 가능하게 되거나 이용 불가능하게 될 수도 있는 전역, 명명된 파라미터화 된 필터이다."
+#. Tag: para
+#: filters.xml:7
+#, 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 may be enabled or disabled for a particular "
+"Hibernate session."
+msgstr ""
+"Hibernate3은 혁신적인 \"가시성(visibility)\" 규칙들로서 데이터를 처리하는 새"
+"로운 접근법을 제공한다. <emphasis>Hibernate 필터</emphasis>는 특정 Hibernate "
+"세션에 대해 이용 가능하게 되거나 이용 불가능하게 될 수도 있는 전역, 명명된 파"
+"라미터화 된 필터이다."
 
-#: index.docbook:14
+#. Tag: title
+#: filters.xml:14
+#, no-c-format
 msgid "Hibernate filters"
 msgstr "Hibernate 필터들"
 
-#: index.docbook:16
-msgid "Hibernate3 adds the ability to pre-define filter criteria and attach those filters at both a class and a collection level. A filter criteria is the ability to define a restriction clause very similiar to the existing \"where\" attribute available on the class and various collection elements. Except these filter conditions can be parameterized. The application can then make the decision at runtime whether given filters should be enabled and what their parameter values should be. Filters can be used like database views, but parameterized inside the application."
-msgstr "Hibernate3은 필터 기준(criteria)을 미리 정의하고 클래스 레벨과 콜렉션 레벨 양자에서 그들 필터들을 첨부할 능력을 추가시킨다. 필터 기준(criteria)은 클래스 요소와 다양한 콜렉션 요소들에 대해 이용 가능한 기존의 \"where\" 속성과 매우 유사한 하나의 제한 절을 정의하는 능력이다. 이것들을 제외하면 필터 조건들은 파라미터화 될 수 있다. 그때 어플리케이션은 주어진 필터들이 이용 가능한지 여부 그리고 그들 파라미터 값들이 무엇이어야 하는지를 실행 시에 결정할 수 있다. 필터들은 데이터베이스 뷰들 처럼 사용될 수 있지만, 어플리케이션 내부에 파라미터화 된다."
+#. Tag: para
+#: filters.xml:16
+#, no-c-format
+msgid ""
+"Hibernate3 adds the ability to pre-define filter criteria and attach those "
+"filters at both a class and a collection level. A filter criteria is the "
+"ability to define a restriction clause very similiar to the existing \"where"
+"\" attribute available on the class and various collection elements. Except "
+"these filter conditions can be parameterized. The application can then make "
+"the decision at runtime whether given filters should be enabled and what "
+"their parameter values should be. Filters can be used like database views, "
+"but parameterized inside the application."
+msgstr ""
+"Hibernate3은 필터 기준(criteria)을 미리 정의하고 클래스 레벨과 콜렉션 레벨 양"
+"자에서 그들 필터들을 첨부할 능력을 추가시킨다. 필터 기준(criteria)은 클래스 "
+"요소와 다양한 콜렉션 요소들에 대해 이용 가능한 기존의 \"where\" 속성과 매우 "
+"유사한 하나의 제한 절을 정의하는 능력이다. 이것들을 제외하면 필터 조건들은 파"
+"라미터화 될 수 있다. 그때 어플리케이션은 주어진 필터들이 이용 가능한지 여부 "
+"그리고 그들 파라미터 값들이 무엇이어야 하는지를 실행 시에 결정할 수 있다. 필"
+"터들은 데이터베이스 뷰들 처럼 사용될 수 있지만, 어플리케이션 내부에 파라미터"
+"화 된다."
 
-#: index.docbook:26
-msgid "In order to use filters, they 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 "필터들을 사용하기 위해서, 그것들은 먼저 정의되고 나서 적절한 매핑 요소들에 첨가되어야 한다. 필터를 정의하기 위해, <literal>&lt;hibernate-mapping/&gt;</literal> 요소 내부에 <literal>&lt;filter-def/&gt;</literal> 요소를 사용하라:"
+#. Tag: para
+#: filters.xml:26
+#, no-c-format
+msgid ""
+"In order to use filters, they 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 ""
+"필터들을 사용하기 위해서, 그것들은 먼저 정의되고 나서 적절한 매핑 요소들에 첨"
+"가되어야 한다. 필터를 정의하기 위해, <literal>&lt;hibernate-mapping/&gt;</"
+"literal> 요소 내부에 <literal>&lt;filter-def/&gt;</literal> 요소를 사용하라:"
 
-#: index.docbook:32
+#. Tag: programlisting
+#: filters.xml:32
+#, no-c-format
 msgid ""
-      "<![CDATA[<filter-def name=\"myFilter\">\n"
-      "    <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
-      "</filter-def>]]>"
+"<![CDATA[<filter-def name=\"myFilter\">\n"
+"    <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
+"</filter-def>]]>"
 msgstr ""
-      "<![CDATA[<filter-def name=\"myFilter\">\n"
-      "    <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
-      "</filter-def>]]>"
 
-#: index.docbook:34
+#. Tag: para
+#: filters.xml:34
+#, no-c-format
 msgid "Then, this filter can be attached to a class:"
 msgstr "그때 이 필터는 클래스에 첨가될 수 있다:"
 
-#: index.docbook:38
+#. Tag: programlisting
+#: filters.xml:38
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"myClass\" ...>\n"
-      "    ...\n"
-      "    <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"myClass\" ...>\n"
+"    ...\n"
+"    <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
+"\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"myClass\" ...>\n"
-      "    ...\n"
-      "    <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:40
+#. Tag: para
+#: filters.xml:40
+#, no-c-format
 msgid "or, to a collection:"
 msgstr "또는 콜렉션에 첨가될 수 있다:"
 
-#: index.docbook:44
+#. Tag: programlisting
+#: filters.xml:44
+#, no-c-format
 msgid ""
-      "<![CDATA[<set ...>\n"
-      "    <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set ...>\n"
+"    <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
+"\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set ...>\n"
-      "    <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:46
+#. Tag: para
+#: filters.xml:46
+#, no-c-format
 msgid "or, even to both (or multiples of each) at the same time."
 msgstr "또는 동시에 양자에(또는 각각의 여러번) 첨가될 수 있다."
 
-#: index.docbook:50
-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; they must be explcitly enabled through use of the <literal>Session.enabledFilter()</literal> method, which returns an instance of the <literal>Filter</literal> interface. Using the simple filter defined above, this would look like:"
-msgstr "<literal>Session</literal> 상의 메소드들은 다음과 같다: <literal>enableFilter(String filterName)</literal>, <literal>getEnabledFilter(String filterName)</literal>, <literal>disableFilter(String filterName)</literal>. 디폴트로, 필터들은 주어진 세션에 대해 이용 가능하지 <emphasis>않다</emphasis>; 그것들은 <literal>Session.enabledFilter()</literal> 메소드의 사용을 통해 명시적으로 이용 가능하게 되어야 한다. <literal>Session.enabledFilter()</literal>는 <literal>Filter</literal> 인터페이스의 인스턴스를 반환한다. 위에 정의된 간단한 필터를 사용하면, 이것은 다음과 같을 것이다:"
+#. Tag: para
+#: filters.xml:50
+#, 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; "
+"they must be explcitly enabled through use of the <literal>Session."
+"enabledFilter()</literal> method, which returns an instance of the "
+"<literal>Filter</literal> interface. Using the simple filter defined above, "
+"this would look like:"
+msgstr ""
+"<literal>Session</literal> 상의 메소드들은 다음과 같다: <literal>enableFilter"
+"(String filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
+"literal>, <literal>disableFilter(String filterName)</literal>. 디폴트로, 필터"
+"들은 주어진 세션에 대해 이용 가능하지 <emphasis>않다</emphasis>; 그것들은 "
+"<literal>Session.enabledFilter()</literal> 메소드의 사용을 통해 명시적으로 이"
+"용 가능하게 되어야 한다. <literal>Session.enabledFilter()</literal>는 "
+"<literal>Filter</literal> 인터페이스의 인스턴스를 반환한다. 위에 정의된 간단"
+"한 필터를 사용하면, 이것은 다음과 같을 것이다:"
 
-#: index.docbook:59
-msgid "<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", \"some-value\");]]>"
-msgstr "<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", \"some-value\");]]>"
+#. Tag: programlisting
+#: filters.xml:59
+#, no-c-format
+msgid ""
+"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", "
+"\"some-value\");]]>"
+msgstr ""
 
-#: index.docbook:61
-msgid "Note that methods on the org.hibernate.Filter interface do allow the method-chaining common to much of Hibernate."
-msgstr "org.hibernate.Filter 인터페이스 상의 메소드들은 Hibernate에 매우 공통된 method-chaining을 허용한다는 점을 노트하라."
+#. Tag: para
+#: filters.xml:61
+#, no-c-format
+msgid ""
+"Note that methods on the org.hibernate.Filter interface do allow the method-"
+"chaining common to much of Hibernate."
+msgstr ""
+"org.hibernate.Filter 인터페이스 상의 메소드들은 Hibernate에 매우 공통된 "
+"method-chaining을 허용한다는 점을 노트하라."
 
-#: index.docbook:65
-msgid "A full example, using temporal data with an effective record date pattern:"
+#. Tag: para
+#: filters.xml:65
+#, no-c-format
+msgid ""
+"A full example, using temporal data with an effective record date pattern:"
 msgstr "유효한 기록 날짜 패턴을 가진 시간 데이터를 사용하는 전체 예제 :"
 
-#: index.docbook:69
+#. Tag: programlisting
+#: filters.xml:69
+#, no-c-format
 msgid ""
-      "<![CDATA[<filter-def name=\"effectiveDate\">\n"
-      "    <filter-param name=\"asOfDate\" type=\"date\"/>\n"
-      "</filter-def>\n"
-      "\n"
-      "<class name=\"Employee\" ...>\n"
-      "...\n"
-      "    <many-to-one name=\"department\" column=\"dept_id\" class=\"Department\"/>\n"
-      "    <property name=\"effectiveStartDate\" type=\"date\" column=\"eff_start_dt\"/>\n"
-      "    <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt\"/>\n"
-      "...\n"
-      "    <!--\n"
-      "        Note that this assumes non-terminal records have an eff_end_dt set to\n"
-      "        a max db date for simplicity-sake\n"
-      "    -->\n"
-      "    <filter name=\"effectiveDate\"\n"
-      "            condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Department\" ...>\n"
-      "...\n"
-      "    <set name=\"employees\" lazy=\"true\">\n"
-      "        <key column=\"dept_id\"/>\n"
-      "        <one-to-many class=\"Employee\"/>\n"
-      "        <filter name=\"effectiveDate\"\n"
-      "                condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<filter-def name=\"effectiveDate\">\n"
+"    <filter-param name=\"asOfDate\" type=\"date\"/>\n"
+"</filter-def>\n"
+"\n"
+"<class name=\"Employee\" ...>\n"
+"...\n"
+"    <many-to-one name=\"department\" column=\"dept_id\" class=\"Department\"/"
+">\n"
+"    <property name=\"effectiveStartDate\" type=\"date\" column=\"eff_start_dt"
+"\"/>\n"
+"    <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt\"/"
+">\n"
+"...\n"
+"    <!--\n"
+"        Note that this assumes non-terminal records have an eff_end_dt set "
+"to\n"
+"        a max db date for simplicity-sake\n"
+"    -->\n"
+"    <filter name=\"effectiveDate\"\n"
+"            condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Department\" ...>\n"
+"...\n"
+"    <set name=\"employees\" lazy=\"true\">\n"
+"        <key column=\"dept_id\"/>\n"
+"        <one-to-many class=\"Employee\"/>\n"
+"        <filter name=\"effectiveDate\"\n"
+"                condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
+">\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<filter-def name=\"effectiveDate\">\n"
-      "    <filter-param name=\"asOfDate\" type=\"date\"/>\n"
-      "</filter-def>\n"
-      "\n"
-      "<class name=\"Employee\" ...>\n"
-      "...\n"
-      "    <many-to-one name=\"department\" column=\"dept_id\" class=\"Department\"/>\n"
-      "    <property name=\"effectiveStartDate\" type=\"date\" column=\"eff_start_dt\"/>\n"
-      "    <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt\"/>\n"
-      "...\n"
-      "    <!--\n"
-      "        Note that this assumes non-terminal records have an eff_end_dt set to\n"
-      "        a max db date for simplicity-sake\n"
-      "    -->\n"
-      "    <filter name=\"effectiveDate\"\n"
-      "            condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Department\" ...>\n"
-      "...\n"
-      "    <set name=\"employees\" lazy=\"true\">\n"
-      "        <key column=\"dept_id\"/>\n"
-      "        <one-to-many class=\"Employee\"/>\n"
-      "        <filter name=\"effectiveDate\"\n"
-      "                condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:71
-msgid "Then, in order to ensure that you always get back currently effective records, simply enable the filter on the session prior to retrieving employee data:"
-msgstr "그때 당신이 현재 유효한 레코드들을 항상 얻는 것을 확실히 하기 위해, employee 데이터를 검색하기 전에 세션 상에 필터를 간단하게 이용 가능하게 하라:"
+#. Tag: para
+#: filters.xml:71
+#, no-c-format
+msgid ""
+"Then, in order to ensure that you always get back currently effective "
+"records, simply enable the filter on the session prior to retrieving "
+"employee data:"
+msgstr ""
+"그때 당신이 현재 유효한 레코드들을 항상 얻는 것을 확실히 하기 위해, employee "
+"데이터를 검색하기 전에 세션 상에 필터를 간단하게 이용 가능하게 하라:"
 
-#: index.docbook:76
+#. Tag: programlisting
+#: filters.xml:76
+#, no-c-format
 msgid ""
-      "<![CDATA[Session session = ...;\n"
-      "session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date());\n"
-      "List results = session.createQuery(\"from Employee as e where e.salary > :targetSalary\")\n"
-      "         .setLong(\"targetSalary\", new Long(1000000))\n"
-      "         .list();\n"
-      "]]>"
+"<![CDATA[Session session = ...;\n"
+"session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
+"());\n"
+"List results = session.createQuery(\"from Employee as e where e.salary > :"
+"targetSalary\")\n"
+"         .setLong(\"targetSalary\", new Long(1000000))\n"
+"         .list();\n"
+"]]>"
 msgstr ""
-      "<![CDATA[Session session = ...;\n"
-      "session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date());\n"
-      "List results = session.createQuery(\"from Employee as e where e.salary > :targetSalary\")\n"
-      "         .setLong(\"targetSalary\", new Long(1000000))\n"
-      "         .list();\n"
-      "]]>"
 
-#: index.docbook:78
-msgid "In the HQL above, even though we only explicitly mentioned a salary constraint on the results, because of the enabled filter the query will return only currently active employees who have a salary greater than a million dollars."
-msgstr "위의 HQL 에서, 심지어 비록 우리가 결과들에 대한 봉급 컨스트레인트를 명시적으로 언급만 했을지라도, 이용 가능한 필터 때문에 그 질의는 봉급이 백만달러 이상인 현재 채용중인 직원들만을 반환할 것이다."
+#. Tag: para
+#: filters.xml:78
+#, no-c-format
+msgid ""
+"In the HQL above, even though we only explicitly mentioned a salary "
+"constraint on the results, because of the enabled filter the query will "
+"return only currently active employees who have a salary greater than a "
+"million dollars."
+msgstr ""
+"위의 HQL 에서, 심지어 비록 우리가 결과들에 대한 봉급 컨스트레인트를 명시적으"
+"로 언급만 했을지라도, 이용 가능한 필터 때문에 그 질의는 봉급이 백만달러 이상"
+"인 현재 채용중인 직원들만을 반환할 것이다."
 
-#: index.docbook:84
-msgid "Note: if you plan on using filters with outer joining (either through HQL or load fetching) be careful of the direction of the condition expression. Its safest to set this up for left outer joining; in general, place the parameter first followed by the column name(s) after the operator."
-msgstr "노트: 만일 당신이 outer 조인에 대해 필터들을 사용할 계획이라면 (HQL이든 로드 페칭이든) 조건 표현식의 방향을 주의하라. 이것을 left outer join으로 설정하는 것이 가장 안전하다; 일반적으로 오퍼레이터 뒤에 있는 컬럼 이름(들)이 뒤따르는 첫번째에 파라미터를 위치지워라."
+#. Tag: para
+#: filters.xml:84
+#, no-c-format
+msgid ""
+"Note: if you plan on using filters with outer joining (either through HQL or "
+"load fetching) be careful of the direction of the condition expression. Its "
+"safest to set this up for left outer joining; in general, place the "
+"parameter first followed by the column name(s) after the operator."
+msgstr ""
+"노트: 만일 당신이 outer 조인에 대해 필터들을 사용할 계획이라면 (HQL이든 로드 "
+"페칭이든) 조건 표현식의 방향을 주의하라. 이것을 left outer join으로 설정하는 "
+"것이 가장 안전하다; 일반적으로 오퍼레이터 뒤에 있는 컬럼 이름(들)이 뒤따르는 "
+"첫번째에 파라미터를 위치지워라."
 
-#: index.docbook:91
-msgid "After being defined a filter might be attached to multiple entities and/or collections each with its own condition. That can be tedious when the conditions are the same each time. Thus <literal>&lt;filter-def/&gt;</literal> allows defining a default condition, either as an attribute or CDATA:"
-msgstr "필터가 정의된 후에는 그것 자신의 조건에 대해 각각 여러 개의 엔티티들 그리고/또는 콜렉션들에 첨가될 수 있다. 조건들이 매번 동일할 때 그것은 지루할 수 있다. 따라서 <literal>&lt;filter-def/&gt;</literal>은 attribute 든 CDATA 든 어느것이든 디폴트 조건을 정의하는 것을 허용해준다:"
+#. Tag: para
+#: filters.xml:91
+#, no-c-format
+msgid ""
+"After being defined a filter might be attached to multiple entities and/or "
+"collections each with its own condition. That can be tedious when the "
+"conditions are the same each time. Thus <literal>&lt;filter-def/&gt;</"
+"literal> allows defining a default condition, either as an attribute or "
+"CDATA:"
+msgstr ""
+"필터가 정의된 후에는 그것 자신의 조건에 대해 각각 여러 개의 엔티티들 그리고/"
+"또는 콜렉션들에 첨가될 수 있다. 조건들이 매번 동일할 때 그것은 지루할 수 있"
+"다. 따라서 <literal>&lt;filter-def/&gt;</literal>은 attribute 든 CDATA 든 어"
+"느것이든 디폴트 조건을 정의하는 것을 허용해준다:"
 
-#: index.docbook:98
+#. Tag: programlisting
+#: filters.xml:98
+#, no-c-format
 msgid ""
-      "<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</filter-def>\n"
-      "<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
+"<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</filter-"
+"def>\n"
+"<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
 msgstr ""
-      "<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</filter-def>\n"
-      "<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
 
-#: index.docbook:100
-msgid "This default condition will then be used whenever the filter is attached to something without specifying a condition. Note that this means you can give a specific condition as part of the attachment of the filter which overrides the default condition in that particular case."
-msgstr "그때 이 디폴트 조건은 그 필터가 어떤 조건을 지정함이 없이 어떤 것에 첨가될때마다 사용될 수 있다. 이것은 당신이 특정한 경우에 디폴트 조건을 오버라이드 시키는 필터의 첨가 부분으로서 특정 조건을 부여할 수 있음을 의미함을 노트하라."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: filters.xml:100
+#, no-c-format
+msgid ""
+"This default condition will then be used whenever the filter is attached to "
+"something without specifying a condition. Note that this means you can give "
+"a specific condition as part of the attachment of the filter which overrides "
+"the default condition in that particular case."
+msgstr ""
+"그때 이 디폴트 조건은 그 필터가 어떤 조건을 지정함이 없이 어떤 것에 첨가될때"
+"마다 사용될 수 있다. 이것은 당신이 특정한 경우에 디폴트 조건을 오버라이드 시"
+"키는 필터의 첨가 부분으로서 특정 조건을 부여할 수 있음을 의미함을 노트하라."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/inheritance_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/inheritance_mapping.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/inheritance_mapping.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,642 +1,829 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: inheritance_mapping.xml:5
+#, no-c-format
 msgid "Inheritance Mapping"
 msgstr "상속 매핑"
 
-#: index.docbook:8
+#. Tag: title
+#: inheritance_mapping.xml:8
+#, no-c-format
 msgid "The Three Strategies"
 msgstr "세 가지 방도들"
 
-#: index.docbook:10
+#. Tag: para
+#: inheritance_mapping.xml:10
+#, no-c-format
 msgid "Hibernate supports the three basic inheritance mapping strategies:"
 msgstr "Hibernate는 세 가지 기본적인 상속 매핑 방도들을 지원한다:"
 
-#: index.docbook:16
+#. Tag: para
+#: inheritance_mapping.xml:16
+#, no-c-format
 msgid "table per class hierarchy"
 msgstr "table per class hierarchy"
 
-#: index.docbook:21
+#. Tag: para
+#: inheritance_mapping.xml:21
+#, fuzzy, no-c-format
 msgid "<para>table per subclass</para>"
-msgstr "<para>table per subclass</para>"
+msgstr "table per subclass"
 
-#: index.docbook:26
+#. Tag: para
+#: inheritance_mapping.xml:26
+#, no-c-format
 msgid "table per concrete class"
 msgstr "table per concrete class"
 
-#: index.docbook:32
-msgid "In addition, Hibernate supports a fourth, slightly different kind of polymorphism:"
+#. Tag: para
+#: inheritance_mapping.xml:32
+#, no-c-format
+msgid ""
+"In addition, Hibernate supports a fourth, slightly different kind of "
+"polymorphism:"
 msgstr "게다가 Hibernate는 네 번째의 약간 다른 종류의 다형성을 지원한다:"
 
-#: index.docbook:39
+#. Tag: para
+#: inheritance_mapping.xml:39
+#, no-c-format
 msgid "implicit polymorphism"
 msgstr "implicit polymorphism(함축적인 다형성)"
 
-#: index.docbook:45
-msgid "It is possible to use different mapping strategies for different branches of the same inheritance hierarchy, and then make use of implicit polymorphism to achieve polymorphism across the whole hierarchy. However, Hibernate does not support mixing <literal>&lt;subclass&gt;</literal>, and <literal>&lt;joined-subclass&gt;</literal> and <literal>&lt;union-subclass&gt;</literal> mappings under the same root <literal>&lt;class&gt;</literal> element. It is possible to mix together the table per hierarchy and table per subclass strategies, under the the same <literal>&lt;class&gt;</literal> element, by combining the <literal>&lt;subclass&gt;</literal> and <literal>&lt;join&gt;</literal> elements (see below)."
-msgstr "동일한 상속 계층구조의 다른 가지들에 대해 다른 매핑 방도들을 사용하는 것이 가능하고, 그런 다음 전체 계층 구조를 가로질러 다형성을 성취하는데 함축적인 다형성을 사용하라. 하지만 Hibernate는 동일한 루트 <literal>&lt;class&gt;</literal> 요소 하에서 <literal>&lt;subclass&gt;</literal> 그리고 <literal>&lt;joined-subclass&gt;</literal> 그리고 <literal>&lt;union-subclass&gt;</literal> 매핑들을 혼합하는 것을 지원하지 않는다. 동일한 <literal>&lt;class&gt;</literal> 요소 하에서 <literal>&lt;subclass&gt;</literal> 요소와 <literal>&lt;join&gt;</literal> 요소를 결합시킴으로써 table per hierarchy 방도와 table per subclass 방도를 함께 혼합시키는 것이 가능하다(아래를 보라)."
+#. Tag: para
+#: inheritance_mapping.xml:45
+#, no-c-format
+msgid ""
+"It is possible to use different mapping strategies for different branches of "
+"the same inheritance hierarchy, and then make use of implicit polymorphism "
+"to achieve polymorphism across the whole hierarchy. However, Hibernate does "
+"not support mixing <literal>&lt;subclass&gt;</literal>, and <literal>&lt;"
+"joined-subclass&gt;</literal> and <literal>&lt;union-subclass&gt;</literal> "
+"mappings under the same root <literal>&lt;class&gt;</literal> element. It is "
+"possible to mix together the table per hierarchy and table per subclass "
+"strategies, under the the same <literal>&lt;class&gt;</literal> element, by "
+"combining the <literal>&lt;subclass&gt;</literal> and <literal>&lt;join&gt;</"
+"literal> elements (see below)."
+msgstr ""
+"동일한 상속 계층구조의 다른 가지들에 대해 다른 매핑 방도들을 사용하는 것이 가"
+"능하고, 그런 다음 전체 계층 구조를 가로질러 다형성을 성취하는데 함축적인 다형"
+"성을 사용하라. 하지만 Hibernate는 동일한 루트 <literal>&lt;class&gt;</"
+"literal> 요소 하에서 <literal>&lt;subclass&gt;</literal> 그리고 <literal>&lt;"
+"joined-subclass&gt;</literal> 그리고 <literal>&lt;union-subclass&gt;</"
+"literal> 매핑들을 혼합하는 것을 지원하지 않는다. 동일한 <literal>&lt;"
+"class&gt;</literal> 요소 하에서 <literal>&lt;subclass&gt;</literal> 요소와 "
+"<literal>&lt;join&gt;</literal> 요소를 결합시킴으로써 table per hierarchy 방"
+"도와 table per subclass 방도를 함께 혼합시키는 것이 가능하다(아래를 보라)."
 
-#: index.docbook:59
-msgid "It is possible to define <literal>subclass</literal>, <literal>union-subclass</literal>, and <literal>joined-subclass</literal> mappings in separate mapping documents, directly beneath <literal>hibernate-mapping</literal>. This allows you to extend a class hierachy just by adding a new mapping file. You must specify an <literal>extends</literal> attribute in the subclass mapping, naming a previously mapped superclass. Note: Previously this feature made the ordering of the mapping documents important. Since Hibernate3, the ordering of mapping files does not matter when using the extends keyword. The ordering inside a single mapping file still needs to be defined as superclasses before subclasses."
-msgstr "별도의 매핑 문서 내에, <literal>hibernate-mapping</literal> 바로 밑에 <literal>subclass</literal>, <literal>union-subclass</literal>, 그리고 <literal>joined-subclass</literal> 매핑들을 정의하는 것이 가능하다. 이것은 단지 하나의 새로운 매핑 파일을 추가시켜서 하나의 class 계층구조를 확장하는 것을 당신에게 허용해준다. 당신은 subclass 매핑 내에 앞서 매핑된 슈퍼클래스를 명명하여 <literal>extends</literal> 속성을 지정해야 한다. 노트 : 명백하게 이 특징은 매핑 문서들의 순서를 중요하게끔 만들었다. Hibernate3 이후로, 매핑 파일들의 순서는 extends 키워드를 사용할 때 상관없다. 하나의 매핑 파일 내의 순서는 여전히 서브클래스들에 앞서 슈퍼클래스들을 정의하는데 여전히 필요하다."
+#. Tag: para
+#: inheritance_mapping.xml:59
+#, no-c-format
+msgid ""
+"It is possible to define <literal>subclass</literal>, <literal>union-"
+"subclass</literal>, and <literal>joined-subclass</literal> mappings in "
+"separate mapping documents, directly beneath <literal>hibernate-mapping</"
+"literal>. This allows you to extend a class hierachy just by adding a new "
+"mapping file. You must specify an <literal>extends</literal> attribute in "
+"the subclass mapping, naming a previously mapped superclass. Note: "
+"Previously this feature made the ordering of the mapping documents "
+"important. Since Hibernate3, the ordering of mapping files does not matter "
+"when using the extends keyword. The ordering inside a single mapping file "
+"still needs to be defined as superclasses before subclasses."
+msgstr ""
+"별도의 매핑 문서 내에, <literal>hibernate-mapping</literal> 바로 밑에 "
+"<literal>subclass</literal>, <literal>union-subclass</literal>, 그리고 "
+"<literal>joined-subclass</literal> 매핑들을 정의하는 것이 가능하다. 이것은 단"
+"지 하나의 새로운 매핑 파일을 추가시켜서 하나의 class 계층구조를 확장하는 것"
+"을 당신에게 허용해준다. 당신은 subclass 매핑 내에 앞서 매핑된 슈퍼클래스를 명"
+"명하여 <literal>extends</literal> 속성을 지정해야 한다. 노트 : 명백하게 이 특"
+"징은 매핑 문서들의 순서를 중요하게끔 만들었다. Hibernate3 이후로, 매핑 파일들"
+"의 순서는 extends 키워드를 사용할 때 상관없다. 하나의 매핑 파일 내의 순서는 "
+"여전히 서브클래스들에 앞서 슈퍼클래스들을 정의하는데 여전히 필요하다."
 
-#: index.docbook:70
+#. Tag: programlisting
+#: inheritance_mapping.xml:70
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      " <hibernate-mapping>\n"
-      "     <subclass name=\"DomesticCat\" extends=\"Cat\" discriminator-value=\"D\">\n"
-      "          <property name=\"name\" type=\"string\"/>\n"
-      "     </subclass>\n"
-      " </hibernate-mapping>]]>"
+"<![CDATA[\n"
+" <hibernate-mapping>\n"
+"     <subclass name=\"DomesticCat\" extends=\"Cat\" discriminator-value=\"D"
+"\">\n"
+"          <property name=\"name\" type=\"string\"/>\n"
+"     </subclass>\n"
+" </hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[\n"
-      " <hibernate-mapping>\n"
-      "     <subclass name=\"DomesticCat\" extends=\"Cat\" discriminator-value=\"D\">\n"
-      "          <property name=\"name\" type=\"string\"/>\n"
-      "     </subclass>\n"
-      " </hibernate-mapping>]]>"
 
-#: index.docbook:74
+#. Tag: title
+#: inheritance_mapping.xml:74
+#, no-c-format
 msgid "Table per class hierarchy"
 msgstr "Table per class hierarchy"
 
-#: index.docbook:76
-msgid "Suppose we have an interface <literal>Payment</literal>, with implementors <literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, <literal>ChequePayment</literal>. The table per hierarchy mapping would look like:"
-msgstr "우리가 <literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, <literal>ChequePayment</literal> 구현자들을 가진 하나의 인터페이스 <literal>Payment</literal>를 갖고 있다고 가정하자. table per hierarchy 매핑은 다음과 같을 것이다:"
+#. Tag: para
+#: inheritance_mapping.xml:76
+#, no-c-format
+msgid ""
+"Suppose we have an interface <literal>Payment</literal>, with implementors "
+"<literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, "
+"<literal>ChequePayment</literal>. The table per hierarchy mapping would look "
+"like:"
+msgstr ""
+"우리가 <literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, "
+"<literal>ChequePayment</literal> 구현자들을 가진 하나의 인터페이스 "
+"<literal>Payment</literal>를 갖고 있다고 가정하자. table per hierarchy 매핑"
+"은 다음과 같을 것이다:"
 
-#: index.docbook:83
+#. Tag: programlisting
+#: inheritance_mapping.xml:83
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
-      "        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
+"    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
+"    <property name=\"amount\" column=\"AMOUNT\"/>\n"
+"    ...\n"
+"    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
+"        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+"        ...\n"
+"    </subclass>\n"
+"    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
+"        ...\n"
+"    </subclass>\n"
+"    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
+"        ...\n"
+"    </subclass>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
-      "        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "</class>]]>"
 
-#: index.docbook:85
-msgid "Exactly one table is required. There is one big limitation of this mapping strategy: columns declared by the subclasses, such as <literal>CCTYPE</literal>, may not have <literal>NOT NULL</literal> constraints."
-msgstr "정확히 하나의 테이블이 필요하다. 이 매핑 방도에는 다음의 하나의 큰 제약이 존재한다: <literal>CCTYPE</literal>과 같이, 서브 클래스들에 의해 선언된 컬럼들은 <literal>NOT NULL</literal> 컨스트레인트들을 가질 수 없다."
+#. Tag: para
+#: inheritance_mapping.xml:85
+#, no-c-format
+msgid ""
+"Exactly one table is required. There is one big limitation of this mapping "
+"strategy: columns declared by the subclasses, such as <literal>CCTYPE</"
+"literal>, may not have <literal>NOT NULL</literal> constraints."
+msgstr ""
+"정확히 하나의 테이블이 필요하다. 이 매핑 방도에는 다음의 하나의 큰 제약이 존"
+"재한다: <literal>CCTYPE</literal>과 같이, 서브 클래스들에 의해 선언된 컬럼들"
+"은 <literal>NOT NULL</literal> 컨스트레인트들을 가질 수 없다."
 
-#: index.docbook:94
+#. Tag: title
+#: inheritance_mapping.xml:94
+#, no-c-format
 msgid "Table per subclass"
 msgstr "Table per subclass"
 
-#: index.docbook:96
+#. Tag: para
+#: inheritance_mapping.xml:96
+#, no-c-format
 msgid "A table per subclass mapping would look like:"
 msgstr "table per subclass 매핑은 다음과 같을 것이다:"
 
-#: index.docbook:100
+#. Tag: programlisting
+#: inheritance_mapping.xml:100
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <joined-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "    <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "    <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
+"    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <property name=\"amount\" column=\"AMOUNT\"/>\n"
+"    ...\n"
+"    <joined-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
+"        <key column=\"PAYMENT_ID\"/>\n"
+"        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+"        ...\n"
+"    </joined-subclass>\n"
+"    <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
+"        <key column=\"PAYMENT_ID\"/>\n"
+"        ...\n"
+"    </joined-subclass>\n"
+"    <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
+"        <key column=\"PAYMENT_ID\"/>\n"
+"        ...\n"
+"    </joined-subclass>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <joined-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "    <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "    <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "</class>]]>"
 
-#: index.docbook:102
-msgid "Four tables are required. The three subclass tables have primary key associations to the superclass table (so the relational model is actually a one-to-one association)."
-msgstr "네 개의 테이블들이 필요하다. 세 개의 서브클래스 테이블들은 슈퍼클래스 테이블에 대한 프라이머리 키 연관들을 갖는다 (따라서 그 관계형 모형은 실제로 one-to-one 연관이다)."
+#. Tag: para
+#: inheritance_mapping.xml:102
+#, no-c-format
+msgid ""
+"Four tables are required. The three subclass tables have primary key "
+"associations to the superclass table (so the relational model is actually a "
+"one-to-one association)."
+msgstr ""
+"네 개의 테이블들이 필요하다. 세 개의 서브클래스 테이블들은 슈퍼클래스 테이블"
+"에 대한 프라이머리 키 연관들을 갖는다 (따라서 그 관계형 모형은 실제로 one-to-"
+"one 연관이다)."
 
-#: index.docbook:111
+#. Tag: title
+#: inheritance_mapping.xml:111
+#, no-c-format
 msgid "Table per subclass, using a discriminator"
 msgstr "discriminator를 사용하는, table per subclass"
 
-#: index.docbook:113
-msgid "Note that Hibernate's implementation of table per subclass requires no discriminator column. Other object/relational mappers use a different implementation of table per subclass which requires a type discriminator column in the superclass table. The approach taken by Hibernate is much more difficult to implement but arguably more correct from a relational point of view. If you would like to use a discriminator column with the table per subclass strategy, you may combine the use of <literal>&lt;subclass&gt;</literal> and <literal>&lt;join&gt;</literal>, as follow:"
-msgstr "table-per-subclass에 대한 Hibernate의 구현은 discriminator(판별자) 컬럼을 필요로 하지 않음을 노트하라. 다른 객체/관계형 매핑기들은 슈퍼클래스 테이블 속에 하나의 타입 판별자 컬럼을 필요로 하는 table-per-subclass에 대한 다른 구현을 사용한다. Hibernate에 의해 채택된 접근법은 구현하기가 훨씬 더 어렵지만 관계형 관점에서는 아마 틀림없이 보다 더 정확하다. 만일 당신이 table per subclass 방도에 대해 하나의 판별자 컬럼을 사용하고 싶다면, 당신은 다음과 같이 <literal>&lt;subclass&gt;</literal>와 <literal>&lt;join&gt;</literal>의 사용을 결합시킬 수도 있다:"
+#. Tag: para
+#: inheritance_mapping.xml:113
+#, no-c-format
+msgid ""
+"Note that Hibernate's implementation of table per subclass requires no "
+"discriminator column. Other object/relational mappers use a different "
+"implementation of table per subclass which requires a type discriminator "
+"column in the superclass table. The approach taken by Hibernate is much more "
+"difficult to implement but arguably more correct from a relational point of "
+"view. If you would like to use a discriminator column with the table per "
+"subclass strategy, you may combine the use of <literal>&lt;subclass&gt;</"
+"literal> and <literal>&lt;join&gt;</literal>, as follow:"
+msgstr ""
+"table-per-subclass에 대한 Hibernate의 구현은 discriminator(판별자) 컬럼을 필"
+"요로 하지 않음을 노트하라. 다른 객체/관계형 매핑기들은 슈퍼클래스 테이블 속"
+"에 하나의 타입 판별자 컬럼을 필요로 하는 table-per-subclass에 대한 다른 구현"
+"을 사용한다. Hibernate에 의해 채택된 접근법은 구현하기가 훨씬 더 어렵지만 관"
+"계형 관점에서는 아마 틀림없이 보다 더 정확하다. 만일 당신이 table per "
+"subclass 방도에 대해 하나의 판별자 컬럼을 사용하고 싶다면, 당신은 다음과 같"
+"이 <literal>&lt;subclass&gt;</literal>와 <literal>&lt;join&gt;</literal>의 사"
+"용을 결합시킬 수도 있다:"
 
-#: index.docbook:125
+#. Tag: programlisting
+#: inheritance_mapping.xml:125
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
-      "        <join table=\"CREDIT_PAYMENT\">\n"
-      "            <key column=\"PAYMENT_ID\"/>\n"
-      "            <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "            ...\n"
-      "        </join>\n"
-      "    </subclass>\n"
-      "    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
-      "        <join table=\"CASH_PAYMENT\">\n"
-      "            <key column=\"PAYMENT_ID\"/>\n"
-      "            ...\n"
-      "        </join>\n"
-      "    </subclass>\n"
-      "    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
-      "        <join table=\"CHEQUE_PAYMENT\" fetch=\"select\">\n"
-      "            <key column=\"PAYMENT_ID\"/>\n"
-      "            ...\n"
-      "        </join>\n"
-      "    </subclass>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
+"    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
+"    <property name=\"amount\" column=\"AMOUNT\"/>\n"
+"    ...\n"
+"    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
+"        <join table=\"CREDIT_PAYMENT\">\n"
+"            <key column=\"PAYMENT_ID\"/>\n"
+"            <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+"            ...\n"
+"        </join>\n"
+"    </subclass>\n"
+"    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
+"        <join table=\"CASH_PAYMENT\">\n"
+"            <key column=\"PAYMENT_ID\"/>\n"
+"            ...\n"
+"        </join>\n"
+"    </subclass>\n"
+"    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
+"        <join table=\"CHEQUE_PAYMENT\" fetch=\"select\">\n"
+"            <key column=\"PAYMENT_ID\"/>\n"
+"            ...\n"
+"        </join>\n"
+"    </subclass>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
-      "        <join table=\"CREDIT_PAYMENT\">\n"
-      "            <key column=\"PAYMENT_ID\"/>\n"
-      "            <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "            ...\n"
-      "        </join>\n"
-      "    </subclass>\n"
-      "    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
-      "        <join table=\"CASH_PAYMENT\">\n"
-      "            <key column=\"PAYMENT_ID\"/>\n"
-      "            ...\n"
-      "        </join>\n"
-      "    </subclass>\n"
-      "    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
-      "        <join table=\"CHEQUE_PAYMENT\" fetch=\"select\">\n"
-      "            <key column=\"PAYMENT_ID\"/>\n"
-      "            ...\n"
-      "        </join>\n"
-      "    </subclass>\n"
-      "</class>]]>"
 
-#: index.docbook:127
-msgid "The optional <literal>fetch=\"select\"</literal> declaration tells Hibernate not to fetch the <literal>ChequePayment</literal> subclass data using an outer join when querying the superclass."
-msgstr "선택적인 <literal>fetch=\"select\"</literal> 선언은 슈퍼클래스를 질의할 때 outer join을 사용하여 <literal>ChequePayment</literal> 서브클래스 데이터를 페치시키지 않도록 Hibernate에게 알려준다."
+#. Tag: para
+#: inheritance_mapping.xml:127
+#, no-c-format
+msgid ""
+"The optional <literal>fetch=\"select\"</literal> declaration tells Hibernate "
+"not to fetch the <literal>ChequePayment</literal> subclass data using an "
+"outer join when querying the superclass."
+msgstr ""
+"선택적인 <literal>fetch=\"select\"</literal> 선언은 슈퍼클래스를 질의할 때 "
+"outer join을 사용하여 <literal>ChequePayment</literal> 서브클래스 데이터를 페"
+"치시키지 않도록 Hibernate에게 알려준다."
 
-#: index.docbook:136
+#. Tag: title
+#: inheritance_mapping.xml:136
+#, no-c-format
 msgid "Mixing table per class hierarchy with table per subclass"
 msgstr "table per class hierarchy와 table per subclass를 혼합하기"
 
-#: index.docbook:138
-msgid "You may even mix the table per hierarchy and table per subclass strategies using this approach:"
-msgstr "당신은 이 접근법을 사용하여 table per hierarchy 방도와 table per subclass 방도를 혼합시킬 수 있다:"
+#. Tag: para
+#: inheritance_mapping.xml:138
+#, no-c-format
+msgid ""
+"You may even mix the table per hierarchy and table per subclass strategies "
+"using this approach:"
+msgstr ""
+"당신은 이 접근법을 사용하여 table per hierarchy 방도와 table per subclass 방"
+"도를 혼합시킬 수 있다:"
 
-#: index.docbook:143
+#. Tag: programlisting
+#: inheritance_mapping.xml:143
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
-      "        <join table=\"CREDIT_PAYMENT\">\n"
-      "            <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "            ...\n"
-      "        </join>\n"
-      "    </subclass>\n"
-      "    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
+"    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
+"    <property name=\"amount\" column=\"AMOUNT\"/>\n"
+"    ...\n"
+"    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
+"        <join table=\"CREDIT_PAYMENT\">\n"
+"            <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+"            ...\n"
+"        </join>\n"
+"    </subclass>\n"
+"    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
+"        ...\n"
+"    </subclass>\n"
+"    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
+"        ...\n"
+"    </subclass>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
-      "        <join table=\"CREDIT_PAYMENT\">\n"
-      "            <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "            ...\n"
-      "        </join>\n"
-      "    </subclass>\n"
-      "    <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "    <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
-      "        ...\n"
-      "    </subclass>\n"
-      "</class>]]>"
 
-#: index.docbook:145
-msgid "For any of these mapping strategies, a polymorphic association to the root <literal>Payment</literal> class is mapped using <literal>&lt;many-to-one&gt;</literal>."
-msgstr "이들 매핑 방도들 중 어떤 것에 대해, 루트 <literal>Payment</literal> 클래스에 대한 하나의 다형성 연관은 <literal>&lt;many-to-one&gt;</literal>을 사용하여 매핑된다."
+#. Tag: para
+#: inheritance_mapping.xml:145
+#, no-c-format
+msgid ""
+"For any of these mapping strategies, a polymorphic association to the root "
+"<literal>Payment</literal> class is mapped using <literal>&lt;many-to-one&gt;"
+"</literal>."
+msgstr ""
+"이들 매핑 방도들 중 어떤 것에 대해, 루트 <literal>Payment</literal> 클래스에 "
+"대한 하나의 다형성 연관은 <literal>&lt;many-to-one&gt;</literal>을 사용하여 "
+"매핑된다."
 
-#: index.docbook:151
-msgid "<![CDATA[<many-to-one name=\"payment\" column=\"PAYMENT_ID\" class=\"Payment\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"payment\" column=\"PAYMENT_ID\" class=\"Payment\"/>]]>"
+#. Tag: programlisting
+#: inheritance_mapping.xml:151
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"payment\" column=\"PAYMENT_ID\" class=\"Payment"
+"\"/>]]>"
+msgstr ""
 
-#: index.docbook:156
+#. Tag: title
+#: inheritance_mapping.xml:156
+#, no-c-format
 msgid "Table per concrete class"
 msgstr "Table per concrete class"
 
-#: index.docbook:158
-msgid "There are two ways we could go about mapping the table per concrete class strategy. The first is to use <literal>&lt;union-subclass&gt;</literal>."
-msgstr "우리가 table per concrete class 방도 매핑에 대해 취할 수 있는 두 가지 방법들이 존재한다. 첫 번째는 <literal>&lt;union-subclass&gt;</literal>를 사용하는 것이다."
+#. Tag: para
+#: inheritance_mapping.xml:158
+#, no-c-format
+msgid ""
+"There are two ways we could go about mapping the table per concrete class "
+"strategy. The first is to use <literal>&lt;union-subclass&gt;</literal>."
+msgstr ""
+"우리가 table per concrete class 방도 매핑에 대해 취할 수 있는 두 가지 방법들"
+"이 존재한다. 첫 번째는 <literal>&lt;union-subclass&gt;</literal>를 사용하는 "
+"것이다."
 
-#: index.docbook:163
+#. Tag: programlisting
+#: inheritance_mapping.xml:163
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Payment\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"sequence\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <union-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
-      "        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "        ...\n"
-      "    </union-subclass>\n"
-      "    <union-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
-      "        ...\n"
-      "    </union-subclass>\n"
-      "    <union-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
-      "        ...\n"
-      "    </union-subclass>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Payment\">\n"
+"    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+"        <generator class=\"sequence\"/>\n"
+"    </id>\n"
+"    <property name=\"amount\" column=\"AMOUNT\"/>\n"
+"    ...\n"
+"    <union-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
+"        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+"        ...\n"
+"    </union-subclass>\n"
+"    <union-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
+"        ...\n"
+"    </union-subclass>\n"
+"    <union-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
+"        ...\n"
+"    </union-subclass>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Payment\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
-      "        <generator class=\"sequence\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"AMOUNT\"/>\n"
-      "    ...\n"
-      "    <union-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
-      "        <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
-      "        ...\n"
-      "    </union-subclass>\n"
-      "    <union-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
-      "        ...\n"
-      "    </union-subclass>\n"
-      "    <union-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
-      "        ...\n"
-      "    </union-subclass>\n"
-      "</class>]]>"
 
-#: index.docbook:165
-msgid "Three tables are involved for the subclasses. Each table defines columns for all properties of the class, including inherited properties."
-msgstr "세 개의 테이블들이 슈퍼클래스들에 대해 수반된다. 각각의 테이블은 상속된 프로퍼티들을 포함하여, 그 클래스의 모든 프로퍼티들에 대한 컬럼들을 정의한다."
+#. Tag: para
+#: inheritance_mapping.xml:165
+#, no-c-format
+msgid ""
+"Three tables are involved for the subclasses. Each table defines columns for "
+"all properties of the class, including inherited properties."
+msgstr ""
+"세 개의 테이블들이 슈퍼클래스들에 대해 수반된다. 각각의 테이블은 상속된 프로"
+"퍼티들을 포함하여, 그 클래스의 모든 프로퍼티들에 대한 컬럼들을 정의한다."
 
-#: index.docbook:170
-msgid "The limitation of this approach is that if a property is mapped on the superclass, the column name must be the same on all subclass tables. (We might relax this in a future release of Hibernate.) The identity generator strategy is not allowed in union subclass inheritance, indeed the primary key seed has to be shared accross all unioned subclasses of a hierarchy."
-msgstr "이 접근법의 제약은 만일 하나의 프로퍼티가 슈퍼클래스 상으로 매핑될 경우, 그 컬럼 이름이 모든 서브클래스 테이블들 상에서 같아야 한다는 점이다.(장래의 Hibernate 배포본에서 우리는 이 제약을 풀 수도 있다.) identity 생성기 방도는 union 서브클래스 상속에서 허용되지 않으며, 진정 프라이머리 키 시드는 하나의 계층구조의 모든 unioned 서브클래스들을 가로질러 공유되어야 한다."
+#. Tag: para
+#: inheritance_mapping.xml:170
+#, no-c-format
+msgid ""
+"The limitation of this approach is that if a property is mapped on the "
+"superclass, the column name must be the same on all subclass tables. (We "
+"might relax this in a future release of Hibernate.) The identity generator "
+"strategy is not allowed in union subclass inheritance, indeed the primary "
+"key seed has to be shared accross all unioned subclasses of a hierarchy."
+msgstr ""
+"이 접근법의 제약은 만일 하나의 프로퍼티가 슈퍼클래스 상으로 매핑될 경우, 그 "
+"컬럼 이름이 모든 서브클래스 테이블들 상에서 같아야 한다는 점이다.(장래의 "
+"Hibernate 배포본에서 우리는 이 제약을 풀 수도 있다.) identity 생성기 방도는 "
+"union 서브클래스 상속에서 허용되지 않으며, 진정 프라이머리 키 시드는 하나의 "
+"계층구조의 모든 unioned 서브클래스들을 가로질러 공유되어야 한다."
 
-#: index.docbook:179
-msgid "If your superclass is abstract, map it with <literal>abstract=\"true\"</literal>. Of course, if it is not abstract, an additional table (defaults to <literal>PAYMENT</literal> in the example above) is needed to hold instances of the superclass."
-msgstr "만일 당신의 슈퍼클래스가 abstract일 경우에, 그것을 <literal>abstract=\"true\"</literal>로 매핑하라. 물론 만일 그것이 abstract가 아닐 경우, 추가적인 테이블(위의 예제에서는 디폴트로 <literal>PAYMENT</literal>)이 슈퍼클래스의 인스턴스들을 소유하는데 필요하다."
+#. Tag: para
+#: inheritance_mapping.xml:179
+#, no-c-format
+msgid ""
+"If your superclass is abstract, map it with <literal>abstract=\"true\"</"
+"literal>. Of course, if it is not abstract, an additional table (defaults to "
+"<literal>PAYMENT</literal> in the example above) is needed to hold instances "
+"of the superclass."
+msgstr ""
+"만일 당신의 슈퍼클래스가 abstract일 경우에, 그것을 <literal>abstract=\"true"
+"\"</literal>로 매핑하라. 물론 만일 그것이 abstract가 아닐 경우, 추가적인 테이"
+"블(위의 예제에서는 디폴트로 <literal>PAYMENT</literal>)이 슈퍼클래스의 인스턴"
+"스들을 소유하는데 필요하다."
 
-#: index.docbook:189
+#. Tag: title
+#: inheritance_mapping.xml:189
+#, no-c-format
 msgid "Table per concrete class, using implicit polymorphism"
 msgstr "함축적인 다형성을 사용하는, table per concrete class"
 
-#: index.docbook:191
+#. Tag: para
+#: inheritance_mapping.xml:191
+#, no-c-format
 msgid "An alternative approach is to make use of implicit polymorphism:"
 msgstr "대안적인 접근법은 함축적인 다형성을 사용하는 것이다:"
 
-#: index.docbook:195
+#. Tag: programlisting
+#: inheritance_mapping.xml:195
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"CREDIT_AMOUNT\"/>\n"
-      "    ...\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"CASH_PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"CASH_AMOUNT\"/>\n"
-      "    ...\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"CHEQUE_PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"CHEQUE_AMOUNT\"/>\n"
-      "    ...\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
+"    <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <property name=\"amount\" column=\"CREDIT_AMOUNT\"/>\n"
+"    ...\n"
+"</class>\n"
+"\n"
+"<class name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
+"    <id name=\"id\" type=\"long\" column=\"CASH_PAYMENT_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <property name=\"amount\" column=\"CASH_AMOUNT\"/>\n"
+"    ...\n"
+"</class>\n"
+"\n"
+"<class name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
+"    <id name=\"id\" type=\"long\" column=\"CHEQUE_PAYMENT_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <property name=\"amount\" column=\"CHEQUE_AMOUNT\"/>\n"
+"    ...\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"CREDIT_AMOUNT\"/>\n"
-      "    ...\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"CASH_PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"CASH_AMOUNT\"/>\n"
-      "    ...\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"CHEQUE_PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"amount\" column=\"CHEQUE_AMOUNT\"/>\n"
-      "    ...\n"
-      "</class>]]>"
 
-#: index.docbook:197
-msgid "Notice that nowhere do we mention the <literal>Payment</literal> interface explicitly. Also notice that properties of <literal>Payment</literal> are mapped in each of the subclasses. If you want to avoid duplication, consider using XML entities (e.g. <literal>[ &lt;!ENTITY allproperties SYSTEM \"allproperties.xml\"&gt; ]</literal> in the <literal>DOCTYPE</literal> declartion and <literal>&amp;allproperties;</literal> in the mapping)."
-msgstr "어느 곳에서도 우리가 명시적으로 <literal>Payment</literal> 인터페이스를 언급하지 않음을 주목하라. 또한 <literal>Payment</literal>의 프로퍼티들이 서브클래스들 각각에서 매핑된다는 점을 주목하라. 만일 당신이 중복을 피하고자 원한다면, XML 엔티티들을 사용하는 것을 고려하라(예를 들어 매핑에서 <literal>DOCTYPE</literal> 선언과 <literal>&amp;allproperties;</literal>에서 <literal>[ &lt;!ENTITY allproperties SYSTEM \"allproperties.xml\"&gt; ]</literal>)."
+#. Tag: para
+#: inheritance_mapping.xml:197
+#, no-c-format
+msgid ""
+"Notice that nowhere do we mention the <literal>Payment</literal> interface "
+"explicitly. Also notice that properties of <literal>Payment</literal> are "
+"mapped in each of the subclasses. If you want to avoid duplication, consider "
+"using XML entities (e.g. <literal>[ &lt;!ENTITY allproperties SYSTEM "
+"\"allproperties.xml\"&gt; ]</literal> in the <literal>DOCTYPE</literal> "
+"declartion and <literal>&amp;allproperties;</literal> in the mapping)."
+msgstr ""
+"어느 곳에서도 우리가 명시적으로 <literal>Payment</literal> 인터페이스를 언급"
+"하지 않음을 주목하라. 또한 <literal>Payment</literal>의 프로퍼티들이 서브클래"
+"스들 각각에서 매핑된다는 점을 주목하라. 만일 당신이 중복을 피하고자 원한다"
+"면, XML 엔티티들을 사용하는 것을 고려하라(예를 들어 매핑에서 "
+"<literal>DOCTYPE</literal> 선언과 <literal>&amp;allproperties;</literal>에서 "
+"<literal>[ &lt;!ENTITY allproperties SYSTEM \"allproperties.xml\"&gt; ]</"
+"literal>)."
 
-#: index.docbook:207
-msgid "The disadvantage of this approach is that Hibernate does not generate SQL <literal>UNION</literal>s when performing polymorphic queries."
-msgstr "이 접근법의 단점은 다형성 질의들을 수행할 때 Hibernate가 생성된 SQl <literal>UNION</literal>들을 생성시키는 않는다는 점이다."
+#. Tag: para
+#: inheritance_mapping.xml:207
+#, no-c-format
+msgid ""
+"The disadvantage of this approach is that Hibernate does not generate SQL "
+"<literal>UNION</literal>s when performing polymorphic queries."
+msgstr ""
+"이 접근법의 단점은 다형성 질의들을 수행할 때 Hibernate가 생성된 SQl "
+"<literal>UNION</literal>들을 생성시키는 않는다는 점이다."
 
-#: index.docbook:212
-msgid "For this mapping strategy, a polymorphic association to <literal>Payment</literal> is usually mapped using <literal>&lt;any&gt;</literal>."
-msgstr "이 매핑 방도의 경우, <literal>Payment</literal>에 대한 하나의 다형성 연관은 대개 <literal>&lt;any&gt;</literal>를 사용하여 매핑된다."
+#. Tag: para
+#: inheritance_mapping.xml:212
+#, no-c-format
+msgid ""
+"For this mapping strategy, a polymorphic association to <literal>Payment</"
+"literal> is usually mapped using <literal>&lt;any&gt;</literal>."
+msgstr ""
+"이 매핑 방도의 경우, <literal>Payment</literal>에 대한 하나의 다형성 연관은 "
+"대개 <literal>&lt;any&gt;</literal>를 사용하여 매핑된다."
 
-#: index.docbook:217
+#. Tag: programlisting
+#: inheritance_mapping.xml:217
+#, no-c-format
 msgid ""
-      "<![CDATA[<any name=\"payment\" meta-type=\"string\" id-type=\"long\">\n"
-      "    <meta-value value=\"CREDIT\" class=\"CreditCardPayment\"/>\n"
-      "    <meta-value value=\"CASH\" class=\"CashPayment\"/>\n"
-      "    <meta-value value=\"CHEQUE\" class=\"ChequePayment\"/>\n"
-      "    <column name=\"PAYMENT_CLASS\"/>\n"
-      "    <column name=\"PAYMENT_ID\"/>\n"
-      "</any>]]>"
+"<![CDATA[<any name=\"payment\" meta-type=\"string\" id-type=\"long\">\n"
+"    <meta-value value=\"CREDIT\" class=\"CreditCardPayment\"/>\n"
+"    <meta-value value=\"CASH\" class=\"CashPayment\"/>\n"
+"    <meta-value value=\"CHEQUE\" class=\"ChequePayment\"/>\n"
+"    <column name=\"PAYMENT_CLASS\"/>\n"
+"    <column name=\"PAYMENT_ID\"/>\n"
+"</any>]]>"
 msgstr ""
-      "<![CDATA[<any name=\"payment\" meta-type=\"string\" id-type=\"long\">\n"
-      "    <meta-value value=\"CREDIT\" class=\"CreditCardPayment\"/>\n"
-      "    <meta-value value=\"CASH\" class=\"CashPayment\"/>\n"
-      "    <meta-value value=\"CHEQUE\" class=\"ChequePayment\"/>\n"
-      "    <column name=\"PAYMENT_CLASS\"/>\n"
-      "    <column name=\"PAYMENT_ID\"/>\n"
-      "</any>]]>"
 
-#: index.docbook:222
+#. Tag: title
+#: inheritance_mapping.xml:222
+#, no-c-format
 msgid "Mixing implicit polymorphism with other inheritance mappings"
 msgstr "함축적인 다형성을 다른 상속 매핑들과 혼합하기"
 
-#: index.docbook:224
-msgid "There is one further thing to notice about this mapping. Since the subclasses are each mapped in their own <literal>&lt;class&gt;</literal> element (and since <literal>Payment</literal> is just an interface), each of the subclasses could easily be part of another inheritance hierarchy! (And you can still use polymorphic queries against the <literal>Payment</literal> interface.)"
-msgstr "이 매핑에 대해 주목할 하나 이상의 것이 존재한다. 서브클래스들이 그것들 자신의<literal>&lt;class&gt;</literal> 요소 내에 각각 매핑되므로(그리고 <literal>Payment</literal>가 단지 인터페이스이므로), 서브클래스들 각각은 쉽게 또 다른 상속 계층구조의 부분일 수 있다! (그리고 당신은 <literal>Payment</literal> 인터페이스에 대해 여전히 다형성 질의들을 사용할 수 있다.)"
+#. Tag: para
+#: inheritance_mapping.xml:224
+#, no-c-format
+msgid ""
+"There is one further thing to notice about this mapping. Since the "
+"subclasses are each mapped in their own <literal>&lt;class&gt;</literal> "
+"element (and since <literal>Payment</literal> is just an interface), each of "
+"the subclasses could easily be part of another inheritance hierarchy! (And "
+"you can still use polymorphic queries against the <literal>Payment</literal> "
+"interface.)"
+msgstr ""
+"이 매핑에 대해 주목할 하나 이상의 것이 존재한다. 서브클래스들이 그것들 자신의"
+"<literal>&lt;class&gt;</literal> 요소 내에 각각 매핑되므로(그리고 "
+"<literal>Payment</literal>가 단지 인터페이스이므로), 서브클래스들 각각은 쉽"
+"게 또 다른 상속 계층구조의 부분일 수 있다! (그리고 당신은 <literal>Payment</"
+"literal> 인터페이스에 대해 여전히 다형성 질의들을 사용할 수 있다.)"
 
-#: index.docbook:232
+#. Tag: programlisting
+#: inheritance_mapping.xml:232
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <discriminator column=\"CREDIT_CARD\" type=\"string\"/>\n"
-      "    <property name=\"amount\" column=\"CREDIT_AMOUNT\"/>\n"
-      "    ...\n"
-      "    <subclass name=\"MasterCardPayment\" discriminator-value=\"MDC\"/>\n"
-      "    <subclass name=\"VisaPayment\" discriminator-value=\"VISA\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"NonelectronicTransaction\" table=\"NONELECTRONIC_TXN\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"TXN_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    ...\n"
-      "    <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        <property name=\"amount\" column=\"CASH_AMOUNT\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "    <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        <property name=\"amount\" column=\"CHEQUE_AMOUNT\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
+"    <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <discriminator column=\"CREDIT_CARD\" type=\"string\"/>\n"
+"    <property name=\"amount\" column=\"CREDIT_AMOUNT\"/>\n"
+"    ...\n"
+"    <subclass name=\"MasterCardPayment\" discriminator-value=\"MDC\"/>\n"
+"    <subclass name=\"VisaPayment\" discriminator-value=\"VISA\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"NonelectronicTransaction\" table=\"NONELECTRONIC_TXN\">\n"
+"    <id name=\"id\" type=\"long\" column=\"TXN_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    ...\n"
+"    <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
+"        <key column=\"PAYMENT_ID\"/>\n"
+"        <property name=\"amount\" column=\"CASH_AMOUNT\"/>\n"
+"        ...\n"
+"    </joined-subclass>\n"
+"    <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
+"        <key column=\"PAYMENT_ID\"/>\n"
+"        <property name=\"amount\" column=\"CHEQUE_AMOUNT\"/>\n"
+"        ...\n"
+"    </joined-subclass>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <discriminator column=\"CREDIT_CARD\" type=\"string\"/>\n"
-      "    <property name=\"amount\" column=\"CREDIT_AMOUNT\"/>\n"
-      "    ...\n"
-      "    <subclass name=\"MasterCardPayment\" discriminator-value=\"MDC\"/>\n"
-      "    <subclass name=\"VisaPayment\" discriminator-value=\"VISA\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"NonelectronicTransaction\" table=\"NONELECTRONIC_TXN\">\n"
-      "    <id name=\"id\" type=\"long\" column=\"TXN_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    ...\n"
-      "    <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        <property name=\"amount\" column=\"CASH_AMOUNT\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "    <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
-      "        <key column=\"PAYMENT_ID\"/>\n"
-      "        <property name=\"amount\" column=\"CHEQUE_AMOUNT\"/>\n"
-      "        ...\n"
-      "    </joined-subclass>\n"
-      "</class>]]>"
 
-#: index.docbook:234
-msgid "Once again, we don't mention <literal>Payment</literal> explicitly. If we execute a query against the <literal>Payment</literal> interface - for example, <literal>from Payment</literal> - Hibernate automatically returns instances of <literal>CreditCardPayment</literal> (and its subclasses, since they also implement <literal>Payment</literal>), <literal>CashPayment</literal> and <literal>ChequePayment</literal> but not instances of <literal>NonelectronicTransaction</literal>."
-msgstr "다시 한번, 우리는 <literal>Payment</literal>를 명시적으로 언급하지 않는다. 만일 우리가 <literal>Payment</literal> 인터페이스에 대해 하나의 질의를 실행할 경우-예를 들어, from Payment-, Hibernate는 <literal>CreditCardPayment</literal> (와 그것의 서브클래스들, 왜냐하면 그것들 또한 <literal>Payment</literal>를 구현하므로), <literal>CashPayment</literal> 그리고 <literal>ChequePayment</literal> 인스턴스들을 자동적으로 반환할 것이지만 <literal>NonelectronicTransaction</literal>의 인스턴스들을 반환하지 않는다."
+#. Tag: para
+#: inheritance_mapping.xml:234
+#, no-c-format
+msgid ""
+"Once again, we don't mention <literal>Payment</literal> explicitly. If we "
+"execute a query against the <literal>Payment</literal> interface - for "
+"example, <literal>from Payment</literal> - Hibernate automatically returns "
+"instances of <literal>CreditCardPayment</literal> (and its subclasses, since "
+"they also implement <literal>Payment</literal>), <literal>CashPayment</"
+"literal> and <literal>ChequePayment</literal> but not instances of "
+"<literal>NonelectronicTransaction</literal>."
+msgstr ""
+"다시 한번, 우리는 <literal>Payment</literal>를 명시적으로 언급하지 않는다. 만"
+"일 우리가 <literal>Payment</literal> 인터페이스에 대해 하나의 질의를 실행할 "
+"경우-예를 들어, from Payment-, Hibernate는 <literal>CreditCardPayment</"
+"literal> (와 그것의 서브클래스들, 왜냐하면 그것들 또한 <literal>Payment</"
+"literal>를 구현하므로), <literal>CashPayment</literal> 그리고 "
+"<literal>ChequePayment</literal> 인스턴스들을 자동적으로 반환할 것이지만 "
+"<literal>NonelectronicTransaction</literal>의 인스턴스들을 반환하지 않는다."
 
-#: index.docbook:249
+#. Tag: title
+#: inheritance_mapping.xml:249
+#, no-c-format
 msgid "Limitations"
-msgstr "<title>제약들</title>"
+msgstr "제약들"
 
-#: index.docbook:251
-msgid "There are certain limitations to the \"implicit polymorphism\" approach to the table per concrete-class mapping strategy. There are somewhat less restrictive limitations to <literal>&lt;union-subclass&gt;</literal> mappings."
-msgstr "table per concrete-class 매핑 방도에 대한 \"함축적인 다형성\" 접근법에는 어떤 제약들이 존재한다. <literal>&lt;union-subclass&gt;</literal> 매핑들에 대해서는 다소 덜 제한적인 제약들이 존재한다:"
+#. Tag: para
+#: inheritance_mapping.xml:251
+#, no-c-format
+msgid ""
+"There are certain limitations to the \"implicit polymorphism\" approach to "
+"the table per concrete-class mapping strategy. There are somewhat less "
+"restrictive limitations to <literal>&lt;union-subclass&gt;</literal> "
+"mappings."
+msgstr ""
+"table per concrete-class 매핑 방도에 대한 \"함축적인 다형성\" 접근법에는 어"
+"떤 제약들이 존재한다. <literal>&lt;union-subclass&gt;</literal> 매핑들에 대해"
+"서는 다소 덜 제한적인 제약들이 존재한다:"
 
-#: index.docbook:258
-msgid "The following table shows the limitations of table per concrete-class mappings, and of implicit polymorphism, in Hibernate."
-msgstr "다음 표는 Hibernate에서 table per concrete-class 매핑들에 대한 제약들, 그리고 함축적인 다형성에 대한 제약들을 보여준다."
+#. Tag: para
+#: inheritance_mapping.xml:258
+#, no-c-format
+msgid ""
+"The following table shows the limitations of table per concrete-class "
+"mappings, and of implicit polymorphism, in Hibernate."
+msgstr ""
+"다음 표는 Hibernate에서 table per concrete-class 매핑들에 대한 제약들, 그리"
+"고 함축적인 다형성에 대한 제약들을 보여준다."
 
-#: index.docbook:264
+#. Tag: title
+#: inheritance_mapping.xml:264
+#, no-c-format
 msgid "Features of inheritance mappings"
 msgstr "상속 매핑들의 특징들"
 
-#: index.docbook:276
+#. Tag: entry
+#: inheritance_mapping.xml:276
+#, no-c-format
 msgid "Inheritance strategy"
 msgstr "상속 방도"
 
-#: index.docbook:277
+#. Tag: entry
+#: inheritance_mapping.xml:277
+#, no-c-format
 msgid "Polymorphic many-to-one"
 msgstr "다형성 다대일"
 
-#: index.docbook:278
+#. Tag: entry
+#: inheritance_mapping.xml:278
+#, no-c-format
 msgid "Polymorphic one-to-one"
 msgstr "다형성 일대일"
 
-#: index.docbook:279
+#. Tag: entry
+#: inheritance_mapping.xml:279
+#, no-c-format
 msgid "Polymorphic one-to-many"
 msgstr "다형성 일대다"
 
-#: index.docbook:280
+#. Tag: entry
+#: inheritance_mapping.xml:280
+#, no-c-format
 msgid "Polymorphic many-to-many"
 msgstr "다형성 다대다"
 
-#: index.docbook:281
+#. Tag: entry
+#: inheritance_mapping.xml:281
+#, no-c-format
 msgid "Polymorphic <literal>load()/get()</literal>"
-msgstr "다형성 <literal>load()/get()</literal>"
+msgstr ""
 
-#: index.docbook:282
+#. Tag: entry
+#: inheritance_mapping.xml:282
+#, no-c-format
 msgid "Polymorphic queries"
 msgstr "다형성 질의들"
 
-#: index.docbook:283
+#. Tag: entry
+#: inheritance_mapping.xml:283
+#, no-c-format
 msgid "Polymorphic joins"
 msgstr "다형성 조인들"
 
-#: index.docbook:284
+#. Tag: entry
+#: inheritance_mapping.xml:284
+#, no-c-format
 msgid "Outer join fetching"
 msgstr "Outer 조인 페칭"
 
-#: index.docbook:289
+#. Tag: entry
+#: inheritance_mapping.xml:289
+#, no-c-format
 msgid "table per class-hierarchy"
 msgstr "table per class-hierarchy"
 
-#: index.docbook:290, index.docbook:301, index.docbook:312
+#. Tag: literal
+#: inheritance_mapping.xml:290 inheritance_mapping.xml:301
+#: inheritance_mapping.xml:312
+#, no-c-format
 msgid "&lt;many-to-one&gt;"
 msgstr "&lt;many-to-one&gt;"
 
-#: index.docbook:291, index.docbook:302, index.docbook:313
+#. Tag: literal
+#: inheritance_mapping.xml:291 inheritance_mapping.xml:302
+#: inheritance_mapping.xml:313
+#, no-c-format
 msgid "&lt;one-to-one&gt;"
 msgstr "&lt;one-to-one&gt;"
 
-#: index.docbook:292, index.docbook:303
+#. Tag: literal
+#: inheritance_mapping.xml:292 inheritance_mapping.xml:303
+#, no-c-format
 msgid "&lt;one-to-many&gt;"
 msgstr "&lt;one-to-many&gt;"
 
-#: index.docbook:293, index.docbook:304, index.docbook:315
+#. Tag: literal
+#: inheritance_mapping.xml:293 inheritance_mapping.xml:304
+#: inheritance_mapping.xml:315
+#, no-c-format
 msgid "&lt;many-to-many&gt;"
 msgstr "&lt;many-to-many&gt;"
 
-#: index.docbook:294, index.docbook:305, index.docbook:316
+#. Tag: literal
+#: inheritance_mapping.xml:294 inheritance_mapping.xml:305
+#: inheritance_mapping.xml:316
+#, no-c-format
 msgid "s.get(Payment.class, id)"
 msgstr "s.get(Payment.class, id)"
 
-#: index.docbook:295, index.docbook:306, index.docbook:317, index.docbook:328
+#. Tag: literal
+#: inheritance_mapping.xml:295 inheritance_mapping.xml:306
+#: inheritance_mapping.xml:317 inheritance_mapping.xml:328
+#, no-c-format
 msgid "from Payment p"
 msgstr "from Payment p"
 
-#: index.docbook:296, index.docbook:307, index.docbook:318
+#. Tag: literal
+#: inheritance_mapping.xml:296 inheritance_mapping.xml:307
+#: inheritance_mapping.xml:318
+#, no-c-format
 msgid "from Order o join o.payment p"
 msgstr "from Order o join o.payment p"
 
-#: index.docbook:297, index.docbook:308, index.docbook:319
+#. Tag: emphasis
+#: inheritance_mapping.xml:297 inheritance_mapping.xml:308
+#: inheritance_mapping.xml:319
+#, no-c-format
 msgid "supported"
-msgstr "<emphasis>지원됨</emphasis>"
+msgstr "지원됨"
 
-#: index.docbook:300
+#. Tag: entry
+#: inheritance_mapping.xml:300
+#, fuzzy, no-c-format
 msgid "<entry>table per subclass</entry>"
-msgstr "<entry>table per subclass</entry>"
+msgstr "table per subclass"
 
-#: index.docbook:311
+#. Tag: entry
+#: inheritance_mapping.xml:311
+#, no-c-format
 msgid "table per concrete-class (union-subclass)"
 msgstr "table per concrete-class (union-subclass)"
 
-#: index.docbook:314
-msgid "<literal>&lt;one-to-many&gt;</literal> (for <literal>inverse=\"true\"</literal> only)"
-msgstr "<literal>&lt;one-to-many&gt;</literal> (for <literal>inverse=\"true\"</literal> only)"
+#. Tag: entry
+#: inheritance_mapping.xml:314
+#, no-c-format
+msgid ""
+"<literal>&lt;one-to-many&gt;</literal> (for <literal>inverse=\"true\"</"
+"literal> only)"
+msgstr ""
 
-#: index.docbook:322
+#. Tag: entry
+#: inheritance_mapping.xml:322
+#, no-c-format
 msgid "table per concrete class (implicit polymorphism)"
 msgstr "table per concrete class (implicit polymorphism)"
 
-#: index.docbook:323
+#. Tag: literal
+#: inheritance_mapping.xml:323
+#, no-c-format
 msgid "&lt;any&gt;"
 msgstr "&lt;any&gt;"
 
-#: index.docbook:324, index.docbook:325, index.docbook:329, index.docbook:330
+#. Tag: emphasis
+#: inheritance_mapping.xml:324 inheritance_mapping.xml:325
+#: inheritance_mapping.xml:329 inheritance_mapping.xml:330
+#, no-c-format
 msgid "not supported"
 msgstr "지원되지 않음"
 
-#: index.docbook:326
+#. Tag: literal
+#: inheritance_mapping.xml:326
+#, no-c-format
 msgid "&lt;many-to-any&gt;"
 msgstr "&lt;many-to-any&gt;"
 
-#: index.docbook:327
-msgid "s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
-msgstr "s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
+#. Tag: literal
+#: inheritance_mapping.xml:327
+#, no-c-format
+msgid ""
+"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
+msgstr ""
+"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "load()/get()"
+#~ msgstr "load()/get()"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "Polymorphic <placeholder-1/>"
+#~ msgstr "다형성 <placeholder-1/>"
 
+#~ msgid "inverse=\"true\""
+#~ msgstr "inverse=\"true\""
+
+#~ msgid "<placeholder-1/> (for <placeholder-2/> only)"
+#~ msgstr "<placeholder-1/> (for <placeholder-2/> only)"

Modified: core/trunk/documentation/manual/translations/ko-KR/content/performance.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/performance.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/performance.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,1220 +1,2604 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: performance.xml:5
+#, no-c-format
 msgid "Improving performance"
 msgstr "퍼포먼스 개선하기"
 
-#: index.docbook:8
+#. Tag: title
+#: performance.xml:8
+#, no-c-format
 msgid "Fetching strategies"
 msgstr "페칭 방도들"
 
-#: index.docbook:10
-msgid "A <emphasis>fetching strategy</emphasis> is the strategy Hibernate will use for retrieving associated objects if the application needs to navigate the association. Fetch strategies may be declared in the O/R mapping metadata, or over-ridden by a particular HQL or <literal>Criteria</literal> query."
-msgstr "<emphasis>페칭 방도</emphasis>는 어플리케이션이 연관을 네비게이트할 필요가 있을 때 Hibernate가 연관된 객체들을 검색하는데 사용하게 될 방도이다.페치 방도들은 O/R 매핑 메타데이터 내에서 선언될 수 있거나 하나의 특정 HQL 또는 <literal>Criteria</literal> 질의에 의해 오버라이드 될 수도 있다."
+#. Tag: para
+#: performance.xml:10
+#, no-c-format
+msgid ""
+"A <emphasis>fetching strategy</emphasis> is the strategy Hibernate will use "
+"for retrieving associated objects if the application needs to navigate the "
+"association. Fetch strategies may be declared in the O/R mapping metadata, "
+"or over-ridden by a particular HQL or <literal>Criteria</literal> query."
+msgstr ""
+"<emphasis>페칭 방도</emphasis>는 어플리케이션이 연관을 네비게이트할 필요가 있"
+"을 때 Hibernate가 연관된 객체들을 검색하는데 사용하게 될 방도이다.페치 방도들"
+"은 O/R 매핑 메타데이터 내에서 선언될 수 있거나 하나의 특정 HQL 또는 "
+"<literal>Criteria</literal> 질의에 의해 오버라이드 될 수도 있다."
 
-#: index.docbook:17
+#. Tag: para
+#: performance.xml:17
+#, no-c-format
 msgid "Hibernate3 defines the following fetching strategies:"
 msgstr "Hibernate3는 다음 페칭 방도들을 정의한다:"
 
-#: index.docbook:23
-msgid "<emphasis>Join fetching</emphasis> - Hibernate retrieves the associated instance or collection in the same <literal>SELECT</literal>, using an <literal>OUTER JOIN</literal>."
-msgstr "<emphasis>Join 페칭</emphasis> - Hibernate는 <literal>OUTER JOIN</literal>을 사용하여 연관된 인스턴스 또는 동일한 <literal>SELECT</literal> 내에서 콜렉션을 검색한다."
+#. Tag: para
+#: performance.xml:23
+#, no-c-format
+msgid ""
+"<emphasis>Join fetching</emphasis> - Hibernate retrieves the associated "
+"instance or collection in the same <literal>SELECT</literal>, using an "
+"<literal>OUTER JOIN</literal>."
+msgstr ""
+"<emphasis>Join 페칭</emphasis> - Hibernate는 <literal>OUTER JOIN</literal>을 "
+"사용하여 연관된 인스턴스 또는 동일한 <literal>SELECT</literal> 내에서 콜렉션"
+"을 검색한다."
 
-#: index.docbook:30
-msgid "<emphasis>Select fetching</emphasis> - a second <literal>SELECT</literal> is used to retrieve the associated entity or collection. Unless you explicitly disable lazy fetching by specifying <literal>lazy=\"false\"</literal>, this second select will only be executed when you actually access the association."
-msgstr "<emphasis>Select 페칭</emphasis> - 두 번째 <literal>SELECT</literal>는 연과된 엔티티 또는 콜렉션을 검색하는데 사용된다. 당신이 <literal>lazy=\"false\"</literal>를 지정함으로써 명시적으로 lazy 페칭을 사용 불가능하게 하지 않는 한, 이 두 번째 select는 당신이 그 연관에 실제로 액세스할 때 오직 실행될 것이다."
+#. Tag: para
+#: performance.xml:30
+#, no-c-format
+msgid ""
+"<emphasis>Select fetching</emphasis> - a second <literal>SELECT</literal> is "
+"used to retrieve the associated entity or collection. Unless you explicitly "
+"disable lazy fetching by specifying <literal>lazy=\"false\"</literal>, this "
+"second select will only be executed when you actually access the association."
+msgstr ""
+"<emphasis>Select 페칭</emphasis> - 두 번째 <literal>SELECT</literal>는 연과"
+"된 엔티티 또는 콜렉션을 검색하는데 사용된다. 당신이 <literal>lazy=\"false\"</"
+"literal>를 지정함으로써 명시적으로 lazy 페칭을 사용 불가능하게 하지 않는 한, "
+"이 두 번째 select는 당신이 그 연관에 실제로 액세스할 때 오직 실행될 것이다."
 
-#: index.docbook:39
-msgid "<emphasis>Subselect fetching</emphasis> - a second <literal>SELECT</literal> is used to retrieve the associated collections for all entities retrieved in a previous query or fetch. Unless you explicitly disable lazy fetching by specifying <literal>lazy=\"false\"</literal>, this second select will only be executed when you actually access the association."
-msgstr "<emphasis>Subselect 페칭</emphasis> - 두 번째 <literal>SELECT</literal>는 이전 질의 또는 페치에서 검색된 모든 엔티티들에 대해 연관된 콜렉션들을 검색하는데 사용된다. 당신이 <literal>lazy=\"false\"</literal>를 지정하여 명시적으로 lazy 페칭을 사용 불가능하게 하지 않는 한, 이 두 번째 select는 당신이 실제로 그 연관에 접근할 때 오직 실행될 것이다."
+#. Tag: para
+#: performance.xml:39
+#, no-c-format
+msgid ""
+"<emphasis>Subselect fetching</emphasis> - a second <literal>SELECT</literal> "
+"is used to retrieve the associated collections for all entities retrieved in "
+"a previous query or fetch. Unless you explicitly disable lazy fetching by "
+"specifying <literal>lazy=\"false\"</literal>, this second select will only "
+"be executed when you actually access the association."
+msgstr ""
+"<emphasis>Subselect 페칭</emphasis> - 두 번째 <literal>SELECT</literal>는 이"
+"전 질의 또는 페치에서 검색된 모든 엔티티들에 대해 연관된 콜렉션들을 검색하는"
+"데 사용된다. 당신이 <literal>lazy=\"false\"</literal>를 지정하여 명시적으로 "
+"lazy 페칭을 사용 불가능하게 하지 않는 한, 이 두 번째 select는 당신이 실제로 "
+"그 연관에 접근할 때 오직 실행될 것이다."
 
-#: index.docbook:48
-msgid "<emphasis>Batch fetching</emphasis> - an optimization strategy for select fetching - Hibernate retrieves a batch of entity instances or collections in a single <literal>SELECT</literal>, by specifying a list of primary keys or foreign keys."
-msgstr "<emphasis>Batch 페칭</emphasis> - select 페칭을 위한 최적화 방도 - Hibernate는 프라이머리 키들이나 foreign 키들의 리스트를 지정함으로써 하나의<literal>SELECT</literal> 내에서 엔티티 인스턴스들이나 콜렉션들에 대한 batch를 검색한다."
+#. Tag: para
+#: performance.xml:48
+#, no-c-format
+msgid ""
+"<emphasis>Batch fetching</emphasis> - an optimization strategy for select "
+"fetching - Hibernate retrieves a batch of entity instances or collections in "
+"a single <literal>SELECT</literal>, by specifying a list of primary keys or "
+"foreign keys."
+msgstr ""
+"<emphasis>Batch 페칭</emphasis> - select 페칭을 위한 최적화 방도 - Hibernate"
+"는 프라이머리 키들이나 foreign 키들의 리스트를 지정함으로써 하나의"
+"<literal>SELECT</literal> 내에서 엔티티 인스턴스들이나 콜렉션들에 대한 batch"
+"를 검색한다."
 
-#: index.docbook:57
+#. Tag: para
+#: performance.xml:57
+#, no-c-format
 msgid "Hibernate also distinguishes between:"
 msgstr "Hibernate는 또한 다음 사이를 구별 짓는다:"
 
-#: index.docbook:63
-msgid "<emphasis>Immediate fetching</emphasis> - an association, collection or attribute is fetched immediately, when the owner is loaded."
-msgstr "<emphasis>즉각적인 페칭</emphasis> - 소유자가 로드될 때, 연관, 콜렉션 또는 속성이 즉시 페치된다."
+#. Tag: para
+#: performance.xml:63
+#, no-c-format
+msgid ""
+"<emphasis>Immediate fetching</emphasis> - an association, collection or "
+"attribute is fetched immediately, when the owner is loaded."
+msgstr ""
+"<emphasis>즉각적인 페칭</emphasis> - 소유자가 로드될 때, 연관, 콜렉션 또는 속"
+"성이 즉시 페치된다."
 
-#: index.docbook:69
-msgid "<emphasis>Lazy collection fetching</emphasis> - a collection is fetched when the application invokes an operation upon that collection. (This is the default for collections.)"
-msgstr "<emphasis>Lazy 콜렉션 페칭</emphasis> - 어플리케이션이 그 콜렉션에 대해 하나의 오퍼레이션을 호출할 때 콜렉션이 페치된다.(이것은 콜렉션들에 대해 디폴트이다.)"
+#. Tag: para
+#: performance.xml:69
+#, no-c-format
+msgid ""
+"<emphasis>Lazy collection fetching</emphasis> - a collection is fetched when "
+"the application invokes an operation upon that collection. (This is the "
+"default for collections.)"
+msgstr ""
+"<emphasis>Lazy 콜렉션 페칭</emphasis> - 어플리케이션이 그 콜렉션에 대해 하나"
+"의 오퍼레이션을 호출할 때 콜렉션이 페치된다.(이것은 콜렉션들에 대해 디폴트이"
+"다.)"
 
-#: index.docbook:76
-msgid "<emphasis>\"Extra-lazy\" collection fetching</emphasis> - individual elements of the collection are accessed from the database as needed. Hibernate tries not to fetch the whole collection into memory unless absolutely needed (suitable for very large collections)"
-msgstr "<emphasis>\"Extra-lazy\" 콜렉션 페칭</emphasis> - 콜렉션의 개별 요소들은 필요할 때 데이터베이스로부터 접근된다. Hibernate는 절대적으로 필요하지 않은 한 전체 콜렉션을 메모리 내로 페치하려고 시도하지 않는다(매우 큰 콜렉션에 적합함)"
+#. Tag: para
+#: performance.xml:76
+#, no-c-format
+msgid ""
+"<emphasis>\"Extra-lazy\" collection fetching</emphasis> - individual "
+"elements of the collection are accessed from the database as needed. "
+"Hibernate tries not to fetch the whole collection into memory unless "
+"absolutely needed (suitable for very large collections)"
+msgstr ""
+"<emphasis>\"Extra-lazy\" 콜렉션 페칭</emphasis> - 콜렉션의 개별 요소들은 필요"
+"할 때 데이터베이스로부터 접근된다. Hibernate는 절대적으로 필요하지 않은 한 전"
+"체 콜렉션을 메모리 내로 페치하려고 시도하지 않는다(매우 큰 콜렉션에 적합함)"
 
-#: index.docbook:84
-msgid "<emphasis>Proxy fetching</emphasis> - a single-valued association is fetched when a method other than the identifier getter is invoked upon the associated object."
-msgstr "<emphasis>프락시 페칭</emphasis> - 식별자 getter가 아닌 다른 메소드가 연관된 객체에 대해 호출될 때 단일 값 연관이 페치된다."
+#. Tag: para
+#: performance.xml:84
+#, no-c-format
+msgid ""
+"<emphasis>Proxy fetching</emphasis> - a single-valued association is fetched "
+"when a method other than the identifier getter is invoked upon the "
+"associated object."
+msgstr ""
+"<emphasis>프락시 페칭</emphasis> - 식별자 getter가 아닌 다른 메소드가 연관된 "
+"객체에 대해 호출될 때 단일 값 연관이 페치된다."
 
-#: index.docbook:91
-msgid "<emphasis>\"No-proxy\" fetching</emphasis> - a single-valued association is fetched when the instance variable is accessed. Compared to proxy fetching, this approach is less lazy (the association is fetched even when only the identifier is accessed) but more transparent, since no proxy is visible to the application. This approach requires buildtime bytecode instrumentation and is rarely necessary."
-msgstr "<emphasis>\"No-proxy\" 페칭</emphasis> - 인스턴스 변수가 접근될 때 단일 값 연관이 페치된다. 프락시 페칭과 비교할 때, 이 접근법은 다소 덜 lazy하지만(그 연관은 심지어 유일하게 식별자가 접근될 때에도 페치된다)보다 투명하다. 왜냐하면 프락시는 어플리케이션에 가시적이지 않기 때문이다. 이 접근법은 빌드 시 바이트코드 수단을 필요로 하며 드물게 필요하다."
+#. Tag: para
+#: performance.xml:91
+#, no-c-format
+msgid ""
+"<emphasis>\"No-proxy\" fetching</emphasis> - a single-valued association is "
+"fetched when the instance variable is accessed. Compared to proxy fetching, "
+"this approach is less lazy (the association is fetched even when only the "
+"identifier is accessed) but more transparent, since no proxy is visible to "
+"the application. This approach requires buildtime bytecode instrumentation "
+"and is rarely necessary."
+msgstr ""
+"<emphasis>\"No-proxy\" 페칭</emphasis> - 인스턴스 변수가 접근될 때 단일 값 연"
+"관이 페치된다. 프락시 페칭과 비교할 때, 이 접근법은 다소 덜 lazy하지만(그 연"
+"관은 심지어 유일하게 식별자가 접근될 때에도 페치된다)보다 투명하다. 왜냐하면 "
+"프락시는 어플리케이션에 가시적이지 않기 때문이다. 이 접근법은 빌드 시 바이트"
+"코드 수단을 필요로 하며 드물게 필요하다."
 
-#: index.docbook:101
-msgid "<emphasis>Lazy attribute fetching</emphasis> - an attribute or single valued association is fetched when the instance variable is accessed. This approach requires buildtime bytecode instrumentation and is rarely necessary."
-msgstr "<emphasis>Lazy 속성 페칭</emphasis> - 인스턴스 변수가 접근될 때 속성 또는 단일 값 연관이 페치된다 이 접근법은 빌드시 바이트코드 수단을 필요로 하며 드물게 필요하다."
+#. Tag: para
+#: performance.xml:101
+#, no-c-format
+msgid ""
+"<emphasis>Lazy attribute fetching</emphasis> - an attribute or single valued "
+"association is fetched when the instance variable is accessed. This approach "
+"requires buildtime bytecode instrumentation and is rarely necessary."
+msgstr ""
+"<emphasis>Lazy 속성 페칭</emphasis> - 인스턴스 변수가 접근될 때 속성 또는 단"
+"일 값 연관이 페치된다 이 접근법은 빌드시 바이트코드 수단을 필요로 하며 드물"
+"게 필요하다."
 
-#: index.docbook:110
-msgid "We have two orthogonal notions here: <emphasis>when</emphasis> is the association fetched, and <emphasis>how</emphasis> is it fetched (what SQL is used). Don't confuse them! We use <literal>fetch</literal> to tune performance. We may use <literal>lazy</literal> to define a contract for what data is always available in any detached instance of a particular class."
-msgstr "우리는 여기서 두 개의 직교하는 개념들을 갖는다: 연관이 페치될 <emphasis>때</emphasis>, 그리고 그것이 페치되는 <emphasis>방법</emphasis>(사용되는 SQL). 그것들을 혼동하지 말라! 우리는 퍼포먼스를 튜팅하는데 <literal>페치</literal>를 사용한다. 우리는 특정 클래스의 어떤 detached 인스턴스 내에서 항상 이용 가능한 데이터가 무엇인지에 대한 계약을 정의하는데 <literal>lazy</literal>를 사용할 수 있다."
+#. Tag: para
+#: performance.xml:110
+#, no-c-format
+msgid ""
+"We have two orthogonal notions here: <emphasis>when</emphasis> is the "
+"association fetched, and <emphasis>how</emphasis> is it fetched (what SQL is "
+"used). Don't confuse them! We use <literal>fetch</literal> to tune "
+"performance. We may use <literal>lazy</literal> to define a contract for "
+"what data is always available in any detached instance of a particular class."
+msgstr ""
+"우리는 여기서 두 개의 직교하는 개념들을 갖는다: 연관이 페치될 <emphasis>때</"
+"emphasis>, 그리고 그것이 페치되는 <emphasis>방법</emphasis>(사용되는 SQL). 그"
+"것들을 혼동하지 말라! 우리는 퍼포먼스를 튜팅하는데 <literal>페치</literal>를 "
+"사용한다. 우리는 특정 클래스의 어떤 detached 인스턴스 내에서 항상 이용 가능"
+"한 데이터가 무엇인지에 대한 계약을 정의하는데 <literal>lazy</literal>를 사용"
+"할 수 있다."
 
-#: index.docbook:119
+#. Tag: title
+#: performance.xml:119
+#, no-c-format
 msgid "Working with lazy associations"
 msgstr "lazy 연관들로 작업하기"
 
-#: index.docbook:121
-msgid "By default, Hibernate3 uses lazy select fetching for collections and lazy proxy fetching for single-valued associations. These defaults make sense for almost all associations in almost all applications."
-msgstr "디폴트로 Hibernate3는 콜렉션들에 대해 lazy select 페칭을 사용하고, 단일 값 연관들에 대해 lazy 프락시 페칭을 사용한다. 이들 디폴트들은 거의 모든 어플리케이션들에서 거의 모든 연관들에 대해 유의미하다."
+#. Tag: para
+#: performance.xml:121
+#, no-c-format
+msgid ""
+"By default, Hibernate3 uses lazy select fetching for collections and lazy "
+"proxy fetching for single-valued associations. These defaults make sense for "
+"almost all associations in almost all applications."
+msgstr ""
+"디폴트로 Hibernate3는 콜렉션들에 대해 lazy select 페칭을 사용하고, 단일 값 연"
+"관들에 대해 lazy 프락시 페칭을 사용한다. 이들 디폴트들은 거의 모든 어플리케이"
+"션들에서 거의 모든 연관들에 대해 유의미하다."
 
-#: index.docbook:127
-msgid "<emphasis>Note:</emphasis> if you set <literal>hibernate.default_batch_fetch_size</literal>, Hibernate will use the batch fetch optimization for lazy fetching (this optimization may also be enabled at a more granular level)."
-msgstr "<emphasis>노트:</emphasis> 만일 당신이 <literal>hibernate.default_batch_fetch_size</literal>를 설정하는 경우, Hibernate는 lazy 페칭을 위한 batch 페치 최적화를 사용할 것이다(이 최적화는 또한 더 많은 과립상의 레벨에서 이용 가능할 수 있다)."
+#. Tag: para
+#: performance.xml:127
+#, no-c-format
+msgid ""
+"<emphasis>Note:</emphasis> if you set <literal>hibernate."
+"default_batch_fetch_size</literal>, Hibernate will use the batch fetch "
+"optimization for lazy fetching (this optimization may also be enabled at a "
+"more granular level)."
+msgstr ""
+"<emphasis>노트:</emphasis> 만일 당신이 <literal>hibernate."
+"default_batch_fetch_size</literal>를 설정하는 경우, Hibernate는 lazy 페칭을 "
+"위한 batch 페치 최적화를 사용할 것이다(이 최적화는 또한 더 많은 과립상의 레벨"
+"에서 이용 가능할 수 있다)."
 
-#: index.docbook:134
-msgid "However, lazy fetching poses one problem that you must be aware of. Access to a lazy association outside of the context of an open Hibernate session will result in an exception. For example:"
-msgstr "하지만, lazy 페칭은 당신이 알고 있어야 하는 한 가지 문제를 제기한다. 열려진 Hibernate 세션 컨텍스트 외부에서 lazy 연관에 대한 접근은 예외상황으로 귀결될 것이다. 예를 들면 :"
+#. Tag: para
+#: performance.xml:134
+#, no-c-format
+msgid ""
+"However, lazy fetching poses one problem that you must be aware of. Access "
+"to a lazy association outside of the context of an open Hibernate session "
+"will result in an exception. For example:"
+msgstr ""
+"하지만, lazy 페칭은 당신이 알고 있어야 하는 한 가지 문제를 제기한다. 열려진 "
+"Hibernate 세션 컨텍스트 외부에서 lazy 연관에 대한 접근은 예외상황으로 귀결될 "
+"것이다. 예를 들면 :"
 
-#: index.docbook:140
+#. Tag: programlisting
+#: performance.xml:140
+#, no-c-format
 msgid ""
-      "<![CDATA[s = sessions.openSession();\n"
-      "Transaction tx = s.beginTransaction();\n"
-      "            \n"
-      "User u = (User) s.createQuery(\"from User u where u.name=:userName\")\n"
-      "    .setString(\"userName\", userName).uniqueResult();\n"
-      "Map permissions = u.getPermissions();\n"
-      "\n"
-      "tx.commit();\n"
-      "s.close();\n"
-      "\n"
-      "Integer accessLevel = (Integer) permissions.get(\"accounts\");  // Error!]]>"
+"<![CDATA[s = sessions.openSession();\n"
+"Transaction tx = s.beginTransaction();\n"
+"            \n"
+"User u = (User) s.createQuery(\"from User u where u.name=:userName\")\n"
+"    .setString(\"userName\", userName).uniqueResult();\n"
+"Map permissions = u.getPermissions();\n"
+"\n"
+"tx.commit();\n"
+"s.close();\n"
+"\n"
+"Integer accessLevel = (Integer) permissions.get(\"accounts\");  // Error!]]>"
 msgstr ""
-      "<![CDATA[s = sessions.openSession();\n"
-      "Transaction tx = s.beginTransaction();\n"
-      "            \n"
-      "User u = (User) s.createQuery(\"from User u where u.name=:userName\")\n"
-      "    .setString(\"userName\", userName).uniqueResult();\n"
-      "Map permissions = u.getPermissions();\n"
-      "\n"
-      "tx.commit();\n"
-      "s.close();\n"
-      "\n"
-      "Integer accessLevel = (Integer) permissions.get(\"accounts\");  // Error!]]>"
 
-#: index.docbook:142
-msgid "Since the permissions collection was not initialized when the <literal>Session</literal> was closed, the collection will not be able to load its state. <emphasis>Hibernate does not support lazy initialization for detached objects</emphasis>. The fix is to move the code that reads from the collection to just before the transaction is committed."
-msgstr "<literal>Session</literal>이 닫혔을 때 permissions 콜렉션이 초기화 되지 않았으므로, 그 콜렉션은 그것의 상태를 로드시킬 수가 없을 것이다. <emphasis>Hibernate 는 detached 객체들에 대한 lazy 초기화를 지원하지 않는다.</emphasis> 정정은 콜렉션으로부터 읽어들이는 코드를 커밋 바로 직전으로 이동시키는 것이다."
+#. Tag: para
+#: performance.xml:142
+#, no-c-format
+msgid ""
+"Since the permissions collection was not initialized when the "
+"<literal>Session</literal> was closed, the collection will not be able to "
+"load its state. <emphasis>Hibernate does not support lazy initialization for "
+"detached objects</emphasis>. The fix is to move the code that reads from the "
+"collection to just before the transaction is committed."
+msgstr ""
+"<literal>Session</literal>이 닫혔을 때 permissions 콜렉션이 초기화 되지 않았"
+"으므로, 그 콜렉션은 그것의 상태를 로드시킬 수가 없을 것이다. "
+"<emphasis>Hibernate 는 detached 객체들에 대한 lazy 초기화를 지원하지 않는다."
+"</emphasis> 정정은 콜렉션으로부터 읽어들이는 코드를 커밋 바로 직전으로 이동시"
+"키는 것이다."
 
-#: index.docbook:150
-msgid "Alternatively, we could use a non-lazy collection or association, by specifying <literal>lazy=\"false\"</literal> for the association mapping. However, it is intended that lazy initialization be used for almost all collections and associations. If you define too many non-lazy associations in your object model, Hibernate will end up needing to fetch the entire database into memory in every transaction!"
-msgstr "다른 방법으로 연관 매핑에 대해 <literal>lazy=\"false\"</literal>를 지정함으로써, non-lazy 콜렉션 또는 non-lazy 연관을 사용할 수 있다. 하지만 lazy 초기화는 거의 모든 콜렉션들과 연관들에 대해 사용되도록 고안되어 있다. 만일 당신이 당신의 객체 모형 내에 너무 많은 non-lazy 연관들을 정의할 경우, Hibernate는 모든 트랜잭션에서 전체 데이터베이스를 메모리 속으로 페치하는 필요성을 끝내게 될 것이다!"
+#. Tag: para
+#: performance.xml:150
+#, no-c-format
+msgid ""
+"Alternatively, we could use a non-lazy collection or association, by "
+"specifying <literal>lazy=\"false\"</literal> for the association mapping. "
+"However, it is intended that lazy initialization be used for almost all "
+"collections and associations. If you define too many non-lazy associations "
+"in your object model, Hibernate will end up needing to fetch the entire "
+"database into memory in every transaction!"
+msgstr ""
+"다른 방법으로 연관 매핑에 대해 <literal>lazy=\"false\"</literal>를 지정함으로"
+"써, non-lazy 콜렉션 또는 non-lazy 연관을 사용할 수 있다. 하지만 lazy 초기화"
+"는 거의 모든 콜렉션들과 연관들에 대해 사용되도록 고안되어 있다. 만일 당신이 "
+"당신의 객체 모형 내에 너무 많은 non-lazy 연관들을 정의할 경우, Hibernate는 모"
+"든 트랜잭션에서 전체 데이터베이스를 메모리 속으로 페치하는 필요성을 끝내게 "
+"될 것이다!"
 
-#: index.docbook:159
-msgid "On the other hand, we often want to choose join fetching (which is non-lazy by nature) instead of select fetching in a particular transaction. We'll now see how to customize the fetching strategy. In Hibernate3, the mechanisms for choosing a fetch strategy are identical for single-valued associations and collections."
-msgstr "다른 한편으로, 우리는 특정 트랜잭션 내에서 select 페칭 대신에 (고유하게 non-lazy인) join 페칭을 선택하기를 자주 원한다. 우리는 이제 페칭 방도를 맞춤화 시키는 방법을 알게 될 것이다. Hibernate3에서, 페치 방도를 선택하는 메커니즘은 단일 값 연관들과 콜렉션들에 대해 동일하다."
+#. Tag: para
+#: performance.xml:159
+#, no-c-format
+msgid ""
+"On the other hand, we often want to choose join fetching (which is non-lazy "
+"by nature) instead of select fetching in a particular transaction. We'll now "
+"see how to customize the fetching strategy. In Hibernate3, the mechanisms "
+"for choosing a fetch strategy are identical for single-valued associations "
+"and collections."
+msgstr ""
+"다른 한편으로, 우리는 특정 트랜잭션 내에서 select 페칭 대신에 (고유하게 non-"
+"lazy인) join 페칭을 선택하기를 자주 원한다. 우리는 이제 페칭 방도를 맞춤화 시"
+"키는 방법을 알게 될 것이다. Hibernate3에서, 페치 방도를 선택하는 메커니즘은 "
+"단일 값 연관들과 콜렉션들에 대해 동일하다."
 
-#: index.docbook:170
+#. Tag: title
+#: performance.xml:170
+#, no-c-format
 msgid "Tuning fetch strategies"
 msgstr "페치 방도들을 튜닝하기"
 
-#: index.docbook:172
-msgid "Select fetching (the default) is extremely vulnerable to N+1 selects problems, so we might want to enable join fetching in the mapping document:"
-msgstr "select 페칭(디폴트)은 N+1 selects 문제점들에 매우 취약해서, 우리는 매핑 문서에서 join 페칭을 사용 가능하게 하기를 원할 수도 있다:"
+#. Tag: para
+#: performance.xml:172
+#, no-c-format
+msgid ""
+"Select fetching (the default) is extremely vulnerable to N+1 selects "
+"problems, so we might want to enable join fetching in the mapping document:"
+msgstr ""
+"select 페칭(디폴트)은 N+1 selects 문제점들에 매우 취약해서, 우리는 매핑 문서"
+"에서 join 페칭을 사용 가능하게 하기를 원할 수도 있다:"
 
-#: index.docbook:177
+#. Tag: programlisting
+#: performance.xml:177
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"permissions\" \n"
-      "            fetch=\"join\">\n"
-      "    <key column=\"userId\"/>\n"
-      "    <one-to-many class=\"Permission\"/>\n"
-      "</set]]>"
+"<![CDATA[<set name=\"permissions\" \n"
+"            fetch=\"join\">\n"
+"    <key column=\"userId\"/>\n"
+"    <one-to-many class=\"Permission\"/>\n"
+"</set]]>"
 msgstr ""
-      "<![CDATA[<set name=\"permissions\" \n"
-      "            fetch=\"join\">\n"
-      "    <key column=\"userId\"/>\n"
-      "    <one-to-many class=\"Permission\"/>\n"
-      "</set]]>"
 
-#: index.docbook:179
+#. Tag: programlisting
+#: performance.xml:179
+#, no-c-format
 msgid "<![CDATA[<many-to-one name=\"mother\" class=\"Cat\" fetch=\"join\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"mother\" class=\"Cat\" fetch=\"join\"/>]]>"
+msgstr ""
 
-#: index.docbook:181
-msgid "The <literal>fetch</literal> strategy defined in the mapping document affects:"
-msgstr "매핑 문서 내에 정의된 <literal>fetch</literal> 방도는 다음에 영향을 준다:"
+#. Tag: para
+#: performance.xml:181
+#, no-c-format
+msgid ""
+"The <literal>fetch</literal> strategy defined in the mapping document "
+"affects:"
+msgstr ""
+"매핑 문서 내에 정의된 <literal>fetch</literal> 방도는 다음에 영향을 준다:"
 
-#: index.docbook:187
+#. Tag: para
+#: performance.xml:187
+#, no-c-format
 msgid "retrieval via <literal>get()</literal> or <literal>load()</literal>"
 msgstr "<literal>get()</literal> 또는 <literal>load()</literal>를 통한 검색"
 
-#: index.docbook:192
+#. Tag: para
+#: performance.xml:192
+#, no-c-format
 msgid "retrieval that happens implicitly when an association is navigated"
 msgstr "연관이 네비게이트될 때 함축적으로 발생하는 검색"
 
-#: index.docbook:197
+#. Tag: para
+#: performance.xml:197
+#, no-c-format
 msgid "<literal>Criteria</literal> queries"
 msgstr "<literal>Criteria</literal> 질의들"
 
-#: index.docbook:202
+#. Tag: para
+#: performance.xml:202
+#, no-c-format
 msgid "HQL queries if <literal>subselect</literal> fetching is used"
 msgstr "<literal>subselect</literal> 페칭이 사용될 경우에 HQL 질의들"
 
-#: index.docbook:208
-msgid "No matter what fetching strategy you use, the defined non-lazy graph is guaranteed to be loaded into memory. Note that this might result in several immediate selects being used to execute a particular HQL query."
-msgstr "당신이 사용하는 페칭 방도가 무엇인가에 상관없이, 정의된 비-lazy 그래프가 메모리 내로 로드되는 것이 보장된다. 이것은 하나의 특별한 HQL 질의를 실행시키는데 사용되는 몇몇 즉시적인 select들로 귀결될 수 있음을 노트하라."
+#. Tag: para
+#: performance.xml:208
+#, no-c-format
+msgid ""
+"No matter what fetching strategy you use, the defined non-lazy graph is "
+"guaranteed to be loaded into memory. Note that this might result in several "
+"immediate selects being used to execute a particular HQL query."
+msgstr ""
+"당신이 사용하는 페칭 방도가 무엇인가에 상관없이, 정의된 비-lazy 그래프가 메모"
+"리 내로 로드되는 것이 보장된다. 이것은 하나의 특별한 HQL 질의를 실행시키는데 "
+"사용되는 몇몇 즉시적인 select들로 귀결될 수 있음을 노트하라."
 
-#: index.docbook:214
-msgid "Usually, we don't use the mapping document to customize fetching. Instead, we keep the default behavior, and override it for a particular transaction, using <literal>left join fetch</literal> in HQL. This tells Hibernate to fetch the association eagerly in the first select, using an outer join. In the <literal>Criteria</literal> query API, you would use <literal>setFetchMode(FetchMode.JOIN)</literal>."
-msgstr "대개, 우리는 페칭을 맞춤화 시키는데 매핑 문서를 사용하지 않는다. 대신에, 우리는 디폴트 특징을 유지하고, HQL에서 <literal>left join fetch</literal>를 사용하여, 특정 트랜잭션에 대해 그것을 오버라이드 시킨다. 이것은 outer join을 사용하여 첫 번째 select에서 초기에 그 연관을 eagerly 페치시킬 것을 Hibernate에게 알려준다. <literal>Criteria</literal> query API에서, 우리는 <literal>setFetchMode(FetchMode.JOIN)</literal>을 사용한다."
+#. Tag: para
+#: performance.xml:214
+#, no-c-format
+msgid ""
+"Usually, we don't use the mapping document to customize fetching. Instead, "
+"we keep the default behavior, and override it for a particular transaction, "
+"using <literal>left join fetch</literal> in HQL. This tells Hibernate to "
+"fetch the association eagerly in the first select, using an outer join. In "
+"the <literal>Criteria</literal> query API, you would use "
+"<literal>setFetchMode(FetchMode.JOIN)</literal>."
+msgstr ""
+"대개, 우리는 페칭을 맞춤화 시키는데 매핑 문서를 사용하지 않는다. 대신에, 우리"
+"는 디폴트 특징을 유지하고, HQL에서 <literal>left join fetch</literal>를 사용"
+"하여, 특정 트랜잭션에 대해 그것을 오버라이드 시킨다. 이것은 outer join을 사용"
+"하여 첫 번째 select에서 초기에 그 연관을 eagerly 페치시킬 것을 Hibernate에게 "
+"알려준다. <literal>Criteria</literal> query API에서, 우리는 "
+"<literal>setFetchMode(FetchMode.JOIN)</literal>을 사용한다."
 
-#: index.docbook:223
-msgid "If you ever feel like you wish you could change the fetching strategy used by <literal>get()</literal> or <literal>load()</literal>, simply use a <literal>Criteria</literal> query, for example:"
-msgstr "만일 당신이 <literal>get()</literal> 또는 <literal>load()</literal>에 의해 사용된 페칭 방도를 변경시킬 수 있기를 당신이 원한다고 느낄 경우, 단순하게 <literal>Criteria</literal> 질의를 사용하라. 예를 들면:"
+#. Tag: para
+#: performance.xml:223
+#, no-c-format
+msgid ""
+"If you ever feel like you wish you could change the fetching strategy used "
+"by <literal>get()</literal> or <literal>load()</literal>, simply use a "
+"<literal>Criteria</literal> query, for example:"
+msgstr ""
+"만일 당신이 <literal>get()</literal> 또는 <literal>load()</literal>에 의해 사"
+"용된 페칭 방도를 변경시킬 수 있기를 당신이 원한다고 느낄 경우, 단순하게 "
+"<literal>Criteria</literal> 질의를 사용하라. 예를 들면:"
 
-#: index.docbook:229
+#. Tag: programlisting
+#: performance.xml:229
+#, no-c-format
 msgid ""
-      "<![CDATA[User user = (User) session.createCriteria(User.class)\n"
-      "                .setFetchMode(\"permissions\", FetchMode.JOIN)\n"
-      "                .add( Restrictions.idEq(userId) )\n"
-      "                .uniqueResult();]]>"
+"<![CDATA[User user = (User) session.createCriteria(User.class)\n"
+"                .setFetchMode(\"permissions\", FetchMode.JOIN)\n"
+"                .add( Restrictions.idEq(userId) )\n"
+"                .uniqueResult();]]>"
 msgstr ""
-      "<![CDATA[User user = (User) session.createCriteria(User.class)\n"
-      "                .setFetchMode(\"permissions\", FetchMode.JOIN)\n"
-      "                .add( Restrictions.idEq(userId) )\n"
-      "                .uniqueResult();]]>"
 
-#: index.docbook:231
-msgid "(This is Hibernate's equivalent of what some ORM solutions call a \"fetch plan\".)"
-msgstr "(이것은 몇몇 ORM 솔루션들이 \"페치 계획\"이라고 부르는 것에 대한 Hibernate의 등가물이다.)"
+#. Tag: para
+#: performance.xml:231
+#, no-c-format
+msgid ""
+"(This is Hibernate's equivalent of what some ORM solutions call a \"fetch "
+"plan\".)"
+msgstr ""
+"(이것은 몇몇 ORM 솔루션들이 \"페치 계획\"이라고 부르는 것에 대한 Hibernate의 "
+"등가물이다.)"
 
-#: index.docbook:235
-msgid "A completely different way to avoid problems with N+1 selects is to use the second-level cache."
-msgstr "N+1 개의 select들을 가진 문제점들을 피하는 완전히 다른 방법은 second-level 캐시를 사용하는 것이다."
+#. Tag: para
+#: performance.xml:235
+#, no-c-format
+msgid ""
+"A completely different way to avoid problems with N+1 selects is to use the "
+"second-level cache."
+msgstr ""
+"N+1 개의 select들을 가진 문제점들을 피하는 완전히 다른 방법은 second-level 캐"
+"시를 사용하는 것이다."
 
-#: index.docbook:243
+#. Tag: title
+#: performance.xml:243
+#, no-c-format
 msgid "Single-ended association proxies"
 msgstr "Single-ended 연관 프락시"
 
-#: index.docbook:245
-msgid "Lazy fetching for collections is implemented using Hibernate's own implementation of persistent collections. However, a different mechanism is needed for lazy behavior in single-ended associations. The target entity of the association must be proxied. Hibernate implements lazy initializing proxies for persistent objects using runtime bytecode enhancement (via the excellent CGLIB library)."
-msgstr "콜렉션들에 대한 Lazy 페칭은 영속 콜렉션들에 대한 Hibernate 자신의 구현을 사용하여 구현된다. 하지만 다른 메커니즘은 single-ended 연관들에서 lazy 특징에 필요하다. 연관의 대상 엔티티는 프락시 되어야 한다. Hibernate는 (훌륭한 CGLIB 라이브러리를 통해) 런타임 바이트코드 증진을 사용하여 영속 객체들에 대한 lazy 초기화 프락시들을 구현한다."
+#. Tag: para
+#: performance.xml:245
+#, no-c-format
+msgid ""
+"Lazy fetching for collections is implemented using Hibernate's own "
+"implementation of persistent collections. However, a different mechanism is "
+"needed for lazy behavior in single-ended associations. The target entity of "
+"the association must be proxied. Hibernate implements lazy initializing "
+"proxies for persistent objects using runtime bytecode enhancement (via the "
+"excellent CGLIB library)."
+msgstr ""
+"콜렉션들에 대한 Lazy 페칭은 영속 콜렉션들에 대한 Hibernate 자신의 구현을 사용"
+"하여 구현된다. 하지만 다른 메커니즘은 single-ended 연관들에서 lazy 특징에 필"
+"요하다. 연관의 대상 엔티티는 프락시 되어야 한다. Hibernate는 (훌륭한 CGLIB 라"
+"이브러리를 통해) 런타임 바이트코드 증진을 사용하여 영속 객체들에 대한 lazy 초"
+"기화 프락시들을 구현한다."
 
-#: index.docbook:253
-msgid "By default, Hibernate3 generates proxies (at startup) for all persistent classes and uses them to enable lazy fetching of <literal>many-to-one</literal> and <literal>one-to-one</literal> associations."
-msgstr "디폴트로, Hibernate3는 모든 영속 클래스들에 대해 (시작 시에) 프락시들을 생성시키고 <literal>many-to-one</literal> 연관과 <literal>one-to-one</literal> 연관에 대해 lazy 페칭을 이용 가능하게 하는데 그것들을 사용한다."
+#. Tag: para
+#: performance.xml:253
+#, no-c-format
+msgid ""
+"By default, Hibernate3 generates proxies (at startup) for all persistent "
+"classes and uses them to enable lazy fetching of <literal>many-to-one</"
+"literal> and <literal>one-to-one</literal> associations."
+msgstr ""
+"디폴트로, Hibernate3는 모든 영속 클래스들에 대해 (시작 시에) 프락시들을 생성"
+"시키고 <literal>many-to-one</literal> 연관과 <literal>one-to-one</literal> 연"
+"관에 대해 lazy 페칭을 이용 가능하게 하는데 그것들을 사용한다."
 
-#: index.docbook:259
-msgid "The mapping file may declare an interface to use as the proxy interface for that class, with the <literal>proxy</literal> attribute. By default, Hibernate uses a subclass of the class. <emphasis>Note that the proxied class must implement a default constructor with at least package visibility. We recommend this constructor for all persistent classes!</emphasis>"
-msgstr "매핑 파일은 그 클래스에 대한 프락시 인터페이스로서 사용할, <literal>proxy</literal> 속성을 가진, 인터페이스를 선언할 수도 있다. 디폴트로 Hibernate는 그 클래스의 서브클래스를 사용한다. <emphasis>프락시된 클래스는 최소한의 패키지 가시성 (visibility)을 가진 디폴트 생성자를 구현해야 함을 노트하라. 우리는 모든 영속 클래스들에 대해 이 생성자를 권장한다!</emphasis>"
+#. Tag: para
+#: performance.xml:259
+#, no-c-format
+msgid ""
+"The mapping file may declare an interface to use as the proxy interface for "
+"that class, with the <literal>proxy</literal> attribute. By default, "
+"Hibernate uses a subclass of the class. <emphasis>Note that the proxied "
+"class must implement a default constructor with at least package visibility. "
+"We recommend this constructor for all persistent classes!</emphasis>"
+msgstr ""
+"매핑 파일은 그 클래스에 대한 프락시 인터페이스로서 사용할, <literal>proxy</"
+"literal> 속성을 가진, 인터페이스를 선언할 수도 있다. 디폴트로 Hibernate는 그 "
+"클래스의 서브클래스를 사용한다. <emphasis>프락시된 클래스는 최소한의 패키지 "
+"가시성 (visibility)을 가진 디폴트 생성자를 구현해야 함을 노트하라. 우리는 모"
+"든 영속 클래스들에 대해 이 생성자를 권장한다!</emphasis>"
 
-#: index.docbook:266
-msgid "There are some gotchas to be aware of when extending this approach to polymorphic classes, eg."
-msgstr "다형성 클래스들에 대해 이 접근법을 확장할 때 의식해야 하는 몇몇 난처함들이 존재한다. 예를 들면."
+#. Tag: para
+#: performance.xml:266
+#, no-c-format
+msgid ""
+"There are some gotchas to be aware of when extending this approach to "
+"polymorphic classes, eg."
+msgstr ""
+"다형성 클래스들에 대해 이 접근법을 확장할 때 의식해야 하는 몇몇 난처함들이 존"
+"재한다. 예를 들면."
 
-#: index.docbook:271
+#. Tag: programlisting
+#: performance.xml:271
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
-      "    ......\n"
-      "    <subclass name=\"DomesticCat\">\n"
-      "        .....\n"
-      "    </subclass>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
+"    ......\n"
+"    <subclass name=\"DomesticCat\">\n"
+"        .....\n"
+"    </subclass>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
-      "    ......\n"
-      "    <subclass name=\"DomesticCat\">\n"
-      "        .....\n"
-      "    </subclass>\n"
-      "</class>]]>"
 
-#: index.docbook:273
-msgid "Firstly, instances of <literal>Cat</literal> will never be castable to <literal>DomesticCat</literal>, even if the underlying instance is an instance of <literal>DomesticCat</literal>:"
-msgstr "첫 번째로, 심지어 기본 인스턴스가 <literal>DomesticCat</literal>의 인스턴스인 경우조차도, <literal>Cat</literal>의 인스턴스들은 결코 <literal>DomesticCat</literal>으로 타입캐스트가 가능하지 않을 것이다:"
+#. Tag: para
+#: performance.xml:273
+#, no-c-format
+msgid ""
+"Firstly, instances of <literal>Cat</literal> will never be castable to "
+"<literal>DomesticCat</literal>, even if the underlying instance is an "
+"instance of <literal>DomesticCat</literal>:"
+msgstr ""
+"첫 번째로, 심지어 기본 인스턴스가 <literal>DomesticCat</literal>의 인스턴스"
+"인 경우조차도, <literal>Cat</literal>의 인스턴스들은 결코 "
+"<literal>DomesticCat</literal>으로 타입캐스트가 가능하지 않을 것이다:"
 
-#: index.docbook:279
+#. Tag: programlisting
+#: performance.xml:279
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat cat = (Cat) session.load(Cat.class, id);  // instantiate a proxy (does not hit the db)\n"
-      "if ( cat.isDomesticCat() ) {                  // hit the db to initialize the proxy\n"
-      "    DomesticCat dc = (DomesticCat) cat;       // Error!\n"
-      "    ....\n"
-      "}]]>"
+"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id);  // instantiate a "
+"proxy (does not hit the db)\n"
+"if ( cat.isDomesticCat() ) {                  // hit the db to initialize "
+"the proxy\n"
+"    DomesticCat dc = (DomesticCat) cat;       // Error!\n"
+"    ....\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[Cat cat = (Cat) session.load(Cat.class, id);  // instantiate a proxy (does not hit the db)\n"
-      "if ( cat.isDomesticCat() ) {                  // hit the db to initialize the proxy\n"
-      "    DomesticCat dc = (DomesticCat) cat;       // Error!\n"
-      "    ....\n"
-      "}]]>"
 
-#: index.docbook:281
+#. Tag: para
+#: performance.xml:281
+#, no-c-format
 msgid "Secondly, it is possible to break proxy <literal>==</literal>."
 msgstr "두번째로, 프락시 <literal>==</literal>를 파기할 가능성이 있다."
 
-#: index.docbook:285
+#. Tag: programlisting
+#: performance.xml:285
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat cat = (Cat) session.load(Cat.class, id);            // instantiate a Cat proxy\n"
-      "DomesticCat dc = \n"
-      "        (DomesticCat) session.load(DomesticCat.class, id);  // acquire new DomesticCat proxy!\n"
-      "System.out.println(cat==dc);                            // false]]>"
+"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id);            // "
+"instantiate a Cat proxy\n"
+"DomesticCat dc = \n"
+"        (DomesticCat) session.load(DomesticCat.class, id);  // acquire new "
+"DomesticCat proxy!\n"
+"System.out.println(cat==dc);                            // false]]>"
 msgstr ""
-      "<![CDATA[Cat cat = (Cat) session.load(Cat.class, id);            // instantiate a Cat proxy\n"
-      "DomesticCat dc = \n"
-      "        (DomesticCat) session.load(DomesticCat.class, id);  // acquire new DomesticCat proxy!\n"
-      "System.out.println(cat==dc);                            // false]]>"
 
-#: index.docbook:287
-msgid "However, the situation is not quite as bad as it looks. Even though we now have two references to different proxy objects, the underlying instance will still be the same object:"
-msgstr "하지만, 그 경우는 보이는 만큼 그렇게 나쁘지는 않다. 심지어 우리가 이제 다른 프락시 객체들에 대한 두 개의 참조를 가질지라도, 기본 인스턴스는 여전히 동일한 객체들일 것이다:"
+#. Tag: para
+#: performance.xml:287
+#, no-c-format
+msgid ""
+"However, the situation is not quite as bad as it looks. Even though we now "
+"have two references to different proxy objects, the underlying instance will "
+"still be the same object:"
+msgstr ""
+"하지만, 그 경우는 보이는 만큼 그렇게 나쁘지는 않다. 심지어 우리가 이제 다른 "
+"프락시 객체들에 대한 두 개의 참조를 가질지라도, 기본 인스턴스는 여전히 동일"
+"한 객체들일 것이다:"
 
-#: index.docbook:292
+#. Tag: programlisting
+#: performance.xml:292
+#, no-c-format
 msgid ""
-      "<![CDATA[cat.setWeight(11.0);  // hit the db to initialize the proxy\n"
-      "System.out.println( dc.getWeight() );  // 11.0]]>"
+"<![CDATA[cat.setWeight(11.0);  // hit the db to initialize the proxy\n"
+"System.out.println( dc.getWeight() );  // 11.0]]>"
 msgstr ""
-      "<![CDATA[cat.setWeight(11.0);  // hit the db to initialize the proxy\n"
-      "System.out.println( dc.getWeight() );  // 11.0]]>"
 
-#: index.docbook:294
-msgid "Third, you may not use a CGLIB proxy for a <literal>final</literal> class or a class with any <literal>final</literal> methods."
-msgstr "세번째로, 당신은 <literal>final</literal> 클래스 또는 임의의 <literal>final</literal> 메소드들을 가진 클래스에 대해 CGLIB 프락시를 사용하지 않을 수 있다."
+#. Tag: para
+#: performance.xml:294
+#, no-c-format
+msgid ""
+"Third, you may not use a CGLIB proxy for a <literal>final</literal> class or "
+"a class with any <literal>final</literal> methods."
+msgstr ""
+"세번째로, 당신은 <literal>final</literal> 클래스 또는 임의의 <literal>final</"
+"literal> 메소드들을 가진 클래스에 대해 CGLIB 프락시를 사용하지 않을 수 있다."
 
-#: index.docbook:299
-msgid "Finally, if your persistent object acquires any resources upon instantiation (eg. in initializers or default constructor), then those resources will also be acquired by the proxy. The proxy class is an actual subclass of the persistent class."
-msgstr "마지막으로, 만일 당신의 영속 객체가 초기화 시에 어떤 리소스들을 필요로 할 경우(예를 들어, initializer들 또는 디폴트 생성자 내에서), 그때 그들 리소스들이 또한 프락시에 의해 획득될 것이다. 프락시 클래스는 영속 클래스에 대한 실제 서브클래스이다."
+#. Tag: para
+#: performance.xml:299
+#, no-c-format
+msgid ""
+"Finally, if your persistent object acquires any resources upon instantiation "
+"(eg. in initializers or default constructor), then those resources will also "
+"be acquired by the proxy. The proxy class is an actual subclass of the "
+"persistent class."
+msgstr ""
+"마지막으로, 만일 당신의 영속 객체가 초기화 시에 어떤 리소스들을 필요로 할 경"
+"우(예를 들어, initializer들 또는 디폴트 생성자 내에서), 그때 그들 리소스들이 "
+"또한 프락시에 의해 획득될 것이다. 프락시 클래스는 영속 클래스에 대한 실제 서"
+"브클래스이다."
 
-#: index.docbook:305
-msgid "These problems are all due to fundamental limitations in Java's single inheritance model. If you wish to avoid these problems your persistent classes must each implement an interface that declares its business methods. You should specify these interfaces in the mapping file. eg."
-msgstr "이들 문제점들은 모두 자바의 단일 상속 모형의 기본적인 제약 때문이다. 만일 당신이 이들 문제점들을 피하고자 원할 경우 당신의 영속 클래스들은 각각 그것의 비지니스 메소드들을 선언하는 인터페이스를 구현해야 한다. 당신은 매핑 파일 속에 이들 인터페이스들을 지정해야 한다. 예를 들면."
+#. Tag: para
+#: performance.xml:305
+#, no-c-format
+msgid ""
+"These problems are all due to fundamental limitations in Java's single "
+"inheritance model. If you wish to avoid these problems your persistent "
+"classes must each implement an interface that declares its business methods. "
+"You should specify these interfaces in the mapping file. eg."
+msgstr ""
+"이들 문제점들은 모두 자바의 단일 상속 모형의 기본적인 제약 때문이다. 만일 당"
+"신이 이들 문제점들을 피하고자 원할 경우 당신의 영속 클래스들은 각각 그것의 비"
+"지니스 메소드들을 선언하는 인터페이스를 구현해야 한다. 당신은 매핑 파일 속에 "
+"이들 인터페이스들을 지정해야 한다. 예를 들면."
 
-#: index.docbook:311
+#. Tag: programlisting
+#: performance.xml:311
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"CatImpl\" proxy=\"Cat\">\n"
-      "    ......\n"
-      "    <subclass name=\"DomesticCatImpl\" proxy=\"DomesticCat\">\n"
-      "        .....\n"
-      "    </subclass>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"CatImpl\" proxy=\"Cat\">\n"
+"    ......\n"
+"    <subclass name=\"DomesticCatImpl\" proxy=\"DomesticCat\">\n"
+"        .....\n"
+"    </subclass>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"CatImpl\" proxy=\"Cat\">\n"
-      "    ......\n"
-      "    <subclass name=\"DomesticCatImpl\" proxy=\"DomesticCat\">\n"
-      "        .....\n"
-      "    </subclass>\n"
-      "</class>]]>"
 
-#: index.docbook:313
-msgid "where <literal>CatImpl</literal> implements the interface <literal>Cat</literal> and <literal>DomesticCatImpl</literal> implements the interface <literal>DomesticCat</literal>. Then proxies for instances of <literal>Cat</literal> and <literal>DomesticCat</literal> may be returned by <literal>load()</literal> or <literal>iterate()</literal>. (Note that <literal>list()</literal> does not usually return proxies.)"
-msgstr "여기서 <literal>CatImpl</literal>은 <literal>Cat</literal> 인터페이스를 구현하고 <literal>DomesticCatImpl</literal>은 <literal>DomesticCat</literal> 인터페이스를 구현한다. 그때 <literal>Cat</literal>과 <literal>DomesticCat</literal>의 인스턴스들에 대한 프락시들은 <literal>load()</literal> 또는 <literal>iterate()</literal>에 의해 반환될 수 있다. (<literal>list()</literal>가 대개 프락시들을 반환하지 않음을 노트하라.)"
+#. Tag: para
+#: performance.xml:313
+#, no-c-format
+msgid ""
+"where <literal>CatImpl</literal> implements the interface <literal>Cat</"
+"literal> and <literal>DomesticCatImpl</literal> implements the interface "
+"<literal>DomesticCat</literal>. Then proxies for instances of <literal>Cat</"
+"literal> and <literal>DomesticCat</literal> may be returned by <literal>load"
+"()</literal> or <literal>iterate()</literal>. (Note that <literal>list()</"
+"literal> does not usually return proxies.)"
+msgstr ""
+"여기서 <literal>CatImpl</literal>은 <literal>Cat</literal> 인터페이스를 구현"
+"하고 <literal>DomesticCatImpl</literal>은 <literal>DomesticCat</literal> 인터"
+"페이스를 구현한다. 그때 <literal>Cat</literal>과 <literal>DomesticCat</"
+"literal>의 인스턴스들에 대한 프락시들은 <literal>load()</literal> 또는 "
+"<literal>iterate()</literal>에 의해 반환될 수 있다. (<literal>list()</"
+"literal>가 대개 프락시들을 반환하지 않음을 노트하라.)"
 
-#: index.docbook:321
+#. Tag: programlisting
+#: performance.xml:321
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat cat = (Cat) session.load(CatImpl.class, catid);\n"
-      "Iterator iter = session.createQuery(\"from CatImpl as cat where cat.name='fritz'\").iterate();\n"
-      "Cat fritz = (Cat) iter.next();]]>"
+"<![CDATA[Cat cat = (Cat) session.load(CatImpl.class, catid);\n"
+"Iterator iter = session.createQuery(\"from CatImpl as cat where cat."
+"name='fritz'\").iterate();\n"
+"Cat fritz = (Cat) iter.next();]]>"
 msgstr ""
-      "<![CDATA[Cat cat = (Cat) session.load(CatImpl.class, catid);\n"
-      "Iterator iter = session.createQuery(\"from CatImpl as cat where cat.name='fritz'\").iterate();\n"
-      "Cat fritz = (Cat) iter.next();]]>"
 
-#: index.docbook:323
-msgid "Relationships are also lazily initialized. This means you must declare any properties to be of type <literal>Cat</literal>, not <literal>CatImpl</literal>."
-msgstr "관계들은 또한 lazy 초기화 된다. 이것은 당신이 임의의 프로퍼티들을 <literal>CatImpl</literal> 타입이 아닌 <literal>Cat</literal> 타입으로 선언해야 함을 의미한다."
+#. Tag: para
+#: performance.xml:323
+#, no-c-format
+msgid ""
+"Relationships are also lazily initialized. This means you must declare any "
+"properties to be of type <literal>Cat</literal>, not <literal>CatImpl</"
+"literal>."
+msgstr ""
+"관계들은 또한 lazy 초기화 된다. 이것은 당신이 임의의 프로퍼티들을 "
+"<literal>CatImpl</literal> 타입이 아닌 <literal>Cat</literal> 타입으로 선언해"
+"야 함을 의미한다."
 
-#: index.docbook:328
-msgid "Certain operations do <emphasis>not</emphasis> require proxy initialization"
-msgstr "어떤 오퍼레이션들은 프락시 초기화를 필요로 하지 <emphasis>않는다</emphasis>"
+#. Tag: para
+#: performance.xml:328
+#, no-c-format
+msgid ""
+"Certain operations do <emphasis>not</emphasis> require proxy initialization"
+msgstr ""
+"어떤 오퍼레이션들은 프락시 초기화를 필요로 하지 <emphasis>않는다</emphasis>"
 
-#: index.docbook:334
-msgid "<literal>equals()</literal>, if the persistent class does not override <literal>equals()</literal>"
-msgstr "<literal>equals()</literal>, 만일 영속 클래스가 <literal>equals()</literal>를 오버라이드 시키지 않는 경우"
+#. Tag: para
+#: performance.xml:334
+#, no-c-format
+msgid ""
+"<literal>equals()</literal>, if the persistent class does not override "
+"<literal>equals()</literal>"
+msgstr ""
+"<literal>equals()</literal>, 만일 영속 클래스가 <literal>equals()</literal>"
+"를 오버라이드 시키지 않는 경우"
 
-#: index.docbook:340
-msgid "<literal>hashCode()</literal>, if the persistent class does not override <literal>hashCode()</literal>"
-msgstr "<literal>hashCode()</literal>, 만일 영속 클래스가<literal>hashCode()</literal>를 오버라이드 시키지 않는 경우"
+#. Tag: para
+#: performance.xml:340
+#, no-c-format
+msgid ""
+"<literal>hashCode()</literal>, if the persistent class does not override "
+"<literal>hashCode()</literal>"
+msgstr ""
+"<literal>hashCode()</literal>, 만일 영속 클래스가<literal>hashCode()</"
+"literal>를 오버라이드 시키지 않는 경우"
 
-#: index.docbook:346
+#. Tag: para
+#: performance.xml:346
+#, no-c-format
 msgid "The identifier getter method"
 msgstr "식별자 getter 메소드"
 
-#: index.docbook:352
-msgid "Hibernate will detect persistent classes that override <literal>equals()</literal> or <literal>hashCode()</literal>."
-msgstr "Hibernate는 <literal>equals()</literal> 또는 <literal>hashCode()</literal>를 오버라이드 시키는 영속 클래스들을 검출할 것이다."
+#. Tag: para
+#: performance.xml:352
+#, no-c-format
+msgid ""
+"Hibernate will detect persistent classes that override <literal>equals()</"
+"literal> or <literal>hashCode()</literal>."
+msgstr ""
+"Hibernate는 <literal>equals()</literal> 또는 <literal>hashCode()</literal>를 "
+"오버라이드 시키는 영속 클래스들을 검출할 것이다."
 
-#: index.docbook:357
-msgid "By choosing <literal>lazy=\"no-proxy\"</literal> instead of the default <literal>lazy=\"proxy\"</literal>, we can avoid the problems associated with typecasting. However, we will require buildtime bytecode instrumentation, and all operations will result in immediate proxy initialization."
-msgstr "디폴트 <literal>lazy=\"proxy\"</literal> 대신에 <literal>lazy=\"no-proxy\"</literal>를 선택하여, 우리는 타입캐스팅과 연관된 문제점들을 피할 수 있다. 하지만 우리는 빌드 시 바이트코드 수단을 필요로 할 것이고, 모든 연산들은 즉각적인 프락시 초기화로 귀결될 것이다."
+#. Tag: para
+#: performance.xml:357
+#, no-c-format
+msgid ""
+"By choosing <literal>lazy=\"no-proxy\"</literal> instead of the default "
+"<literal>lazy=\"proxy\"</literal>, we can avoid the problems associated with "
+"typecasting. However, we will require buildtime bytecode instrumentation, "
+"and all operations will result in immediate proxy initialization."
+msgstr ""
+"디폴트 <literal>lazy=\"proxy\"</literal> 대신에 <literal>lazy=\"no-proxy\"</"
+"literal>를 선택하여, 우리는 타입캐스팅과 연관된 문제점들을 피할 수 있다. 하지"
+"만 우리는 빌드 시 바이트코드 수단을 필요로 할 것이고, 모든 연산들은 즉각적인 "
+"프락시 초기화로 귀결될 것이다."
 
-#: index.docbook:367
+#. Tag: title
+#: performance.xml:367
+#, no-c-format
 msgid "Initializing collections and proxies"
 msgstr "콜렉션들과 프락시들을 초기화 시키기"
 
-#: index.docbook:369
-msgid "A <literal>LazyInitializationException</literal> will be thrown by Hibernate if an uninitialized collection or proxy is accessed outside of the scope of the <literal>Session</literal>, ie. when the entity owning the collection or having the reference to the proxy is in the detached state."
-msgstr "만일 초기화 되지 않은 콜렉션이나 프락시가 <literal>Session</literal> 영역의 외부에서 접근될 경우에, 예를 들어 콜렉션을 소유하거나 프락시에 대한 참조를 가진 엔티티가 detached 상태에 있을 때, <literal>LazyInitializationException</literal>이 Hibernate에 의해 던져질 것이다."
+#. Tag: para
+#: performance.xml:369
+#, no-c-format
+msgid ""
+"A <literal>LazyInitializationException</literal> will be thrown by Hibernate "
+"if an uninitialized collection or proxy is accessed outside of the scope of "
+"the <literal>Session</literal>, ie. when the entity owning the collection or "
+"having the reference to the proxy is in the detached state."
+msgstr ""
+"만일 초기화 되지 않은 콜렉션이나 프락시가 <literal>Session</literal> 영역의 "
+"외부에서 접근될 경우에, 예를 들어 콜렉션을 소유하거나 프락시에 대한 참조를 가"
+"진 엔티티가 detached 상태에 있을 때, <literal>LazyInitializationException</"
+"literal>이 Hibernate에 의해 던져질 것이다."
 
-#: index.docbook:375
-msgid "Sometimes we need to ensure that a proxy or collection is initialized before closing the <literal>Session</literal>. Of course, we can alway force initialization by calling <literal>cat.getSex()</literal> or <literal>cat.getKittens().size()</literal>, for example. But that is confusing to readers of the code and is not convenient for generic code."
-msgstr "때때로 우리는<literal>Session</literal>을 닫기 전에 프락시 또는 콜렉션이 초기화 됨을 확실히 할 필요가 있다. 물론 우리는 예를 들어 <literal>cat.getSex()</literal> 또는 <literal>cat.getKittens().size()</literal>를 호출하여 항상 초기화를 강제시킬 수 있다. 그러나 그것은 코드의 독자들에게는 혼동스럽고 일반적인 코드로 편의적이지 않다."
+#. Tag: para
+#: performance.xml:375
+#, no-c-format
+msgid ""
+"Sometimes we need to ensure that a proxy or collection is initialized before "
+"closing the <literal>Session</literal>. Of course, we can alway force "
+"initialization by calling <literal>cat.getSex()</literal> or <literal>cat."
+"getKittens().size()</literal>, for example. But that is confusing to readers "
+"of the code and is not convenient for generic code."
+msgstr ""
+"때때로 우리는<literal>Session</literal>을 닫기 전에 프락시 또는 콜렉션이 초기"
+"화 됨을 확실히 할 필요가 있다. 물론 우리는 예를 들어 <literal>cat.getSex()</"
+"literal> 또는 <literal>cat.getKittens().size()</literal>를 호출하여 항상 초기"
+"화를 강제시킬 수 있다. 그러나 그것은 코드의 독자들에게는 혼동스럽고 일반적인 "
+"코드로 편의적이지 않다."
 
-#: index.docbook:382
-msgid "The static methods <literal>Hibernate.initialize()</literal> and <literal>Hibernate.isInitialized()</literal> provide the application with a convenient way of working with lazily initialized collections or proxies. <literal>Hibernate.initialize(cat)</literal> will force the initialization of a proxy, <literal>cat</literal>, as long as its <literal>Session</literal> is still open. <literal>Hibernate.initialize( cat.getKittens() )</literal> has a similar effect for the collection of kittens."
-msgstr "static 메소드들 <literal>Hibernate.initialize()</literal>와 <literal>Hibernate.isInitialized()</literal>는 lazy 초기화 된 콜렉션들이나 프락시들에 대해 작업하는 편리한 방법을 어플리케이션에 제공한다. <literal>Hibernate.initialize(cat)</literal>은 그것의 <literal>Session</literal>이 여전히 열려져 있는 한 프락시 <literal>cat</literal>의 초기화를 강제할 것이다. <literal>Hibernate.initialize( cat.getKittens())</literal>는 kittens의 콜렉션에 대해 유사한 효과를 갖는다."
+#. Tag: para
+#: performance.xml:382
+#, no-c-format
+msgid ""
+"The static methods <literal>Hibernate.initialize()</literal> and "
+"<literal>Hibernate.isInitialized()</literal> provide the application with a "
+"convenient way of working with lazily initialized collections or proxies. "
+"<literal>Hibernate.initialize(cat)</literal> will force the initialization "
+"of a proxy, <literal>cat</literal>, as long as its <literal>Session</"
+"literal> is still open. <literal>Hibernate.initialize( cat.getKittens() )</"
+"literal> has a similar effect for the collection of kittens."
+msgstr ""
+"static 메소드들 <literal>Hibernate.initialize()</literal>와 "
+"<literal>Hibernate.isInitialized()</literal>는 lazy 초기화 된 콜렉션들이나 프"
+"락시들에 대해 작업하는 편리한 방법을 어플리케이션에 제공한다. "
+"<literal>Hibernate.initialize(cat)</literal>은 그것의 <literal>Session</"
+"literal>이 여전히 열려져 있는 한 프락시 <literal>cat</literal>의 초기화를 강"
+"제할 것이다. <literal>Hibernate.initialize( cat.getKittens())</literal>는 "
+"kittens의 콜렉션에 대해 유사한 효과를 갖는다."
 
-#: index.docbook:391
-msgid "Another option is to keep the <literal>Session</literal> open until all needed collections and proxies have been loaded. In some application architectures, particularly where the code that accesses data using Hibernate, and the code that uses it are in different application layers or different physical processes, it can be a problem to ensure that the <literal>Session</literal> is open when a collection is initialized. There are two basic ways to deal with this issue:"
-msgstr "또 다른 옵션은 모든 필요한 콜렉션들과 프락시들이 로드되기 전까지 <literal>Session</literal>을 열린 채로 유지하는 것이다. 몇몇 어플리케이션 아키텍처들, 특히 Hibernate를 사용하여 데이터에 접근하는 코드, 그리고 다른 어플리케이션 계층들이나 다른 물리적 프로세스들 내에서 그것을 사용하는 코드에서, 그것은 콜렉션이 초기화 될 때 <literal>Session</literal>이 열려져 있음을 확실히 하는 문제일 수 있다. 이 쟁점을 다루는 두 가지 기본 방법들이 존재한다:"
+#. Tag: para
+#: performance.xml:391
+#, no-c-format
+msgid ""
+"Another option is to keep the <literal>Session</literal> open until all "
+"needed collections and proxies have been loaded. In some application "
+"architectures, particularly where the code that accesses data using "
+"Hibernate, and the code that uses it are in different application layers or "
+"different physical processes, it can be a problem to ensure that the "
+"<literal>Session</literal> is open when a collection is initialized. There "
+"are two basic ways to deal with this issue:"
+msgstr ""
+"또 다른 옵션은 모든 필요한 콜렉션들과 프락시들이 로드되기 전까지 "
+"<literal>Session</literal>을 열린 채로 유지하는 것이다. 몇몇 어플리케이션 아"
+"키텍처들, 특히 Hibernate를 사용하여 데이터에 접근하는 코드, 그리고 다른 어플"
+"리케이션 계층들이나 다른 물리적 프로세스들 내에서 그것을 사용하는 코드에서, "
+"그것은 콜렉션이 초기화 될 때 <literal>Session</literal>이 열려져 있음을 확실"
+"히 하는 문제일 수 있다. 이 쟁점을 다루는 두 가지 기본 방법들이 존재한다:"
 
-#: index.docbook:402
-msgid "In a web-based application, a servlet filter can be used to close the <literal>Session</literal> only at the very end of a user request, once the rendering of the view is complete (the <emphasis>Open Session in View</emphasis> pattern). Of course, this places heavy demands on the correctness of the exception handling of your application infrastructure. It is vitally important that the <literal>Session</literal> is closed and the transaction ended before returning to the user, even when an exception occurs during rendering of the view. See the Hibernate Wiki for examples of this \"Open Session in View\" pattern."
-msgstr "웹 기반 어플리케이션에서, 서블릿 필터는 뷰 렌더링이 완료되는, 사용자 요청의 바로 끝에서만 <literal>Session</literal>을 닫는데 사용될 수 있다(<emphasis>Open Session in View</emphasis> 패턴). 물론 이것은 당신의 어플리케이션 인프라스트럭처의 예외상황 처리의 정정에 관한 무거운 요구를 부과한다. 뷰 렌더링 동안에 하나의 예외상황이 발생할때에도 사용자에게 반환되기 전에 <literal>Session</literal>이 닫혀지고 트랜잭션이 종료되는 것은 지극히 중요하다. 이 \"Open Session in View\" 패턴에 관한 예제들은 Hibernate 위키를 보라."
+#. Tag: para
+#: performance.xml:402
+#, no-c-format
+msgid ""
+"In a web-based application, a servlet filter can be used to close the "
+"<literal>Session</literal> only at the very end of a user request, once the "
+"rendering of the view is complete (the <emphasis>Open Session in View</"
+"emphasis> pattern). Of course, this places heavy demands on the correctness "
+"of the exception handling of your application infrastructure. It is vitally "
+"important that the <literal>Session</literal> is closed and the transaction "
+"ended before returning to the user, even when an exception occurs during "
+"rendering of the view. See the Hibernate Wiki for examples of this \"Open "
+"Session in View\" pattern."
+msgstr ""
+"웹 기반 어플리케이션에서, 서블릿 필터는 뷰 렌더링이 완료되는, 사용자 요청의 "
+"바로 끝에서만 <literal>Session</literal>을 닫는데 사용될 수 있다"
+"(<emphasis>Open Session in View</emphasis> 패턴). 물론 이것은 당신의 어플리케"
+"이션 인프라스트럭처의 예외상황 처리의 정정에 관한 무거운 요구를 부과한다. 뷰 "
+"렌더링 동안에 하나의 예외상황이 발생할때에도 사용자에게 반환되기 전에 "
+"<literal>Session</literal>이 닫혀지고 트랜잭션이 종료되는 것은 지극히 중요하"
+"다. 이 \"Open Session in View\" 패턴에 관한 예제들은 Hibernate 위키를 보라."
 
-#: index.docbook:415
-msgid "In an application with a separate business tier, the business logic must \"prepare\" all collections that will be needed by the web tier before returning. This means that the business tier should load all the data and return all the data already initialized to the presentation/web tier that is required for a particular use case. Usually, the application calls <literal>Hibernate.initialize()</literal> for each collection that will be needed in the web tier (this call must occur before the session is closed) or retrieves the collection eagerly using a Hibernate query with a <literal>FETCH</literal> clause or a <literal>FetchMode.JOIN</literal> in <literal>Criteria</literal>. This is usually easier if you adopt the <emphasis>Command</emphasis> pattern instead of a <emphasis>Session Facade</emphasis>."
-msgstr "별도의 비지니스 티어를 가진 어플리케이션에서, 비지니스 로직은 반환 전에 웹 티어에 필요한 모든 콜렉션들을 \"준비\"해야 한다. 이것은 비지니스 티어가 모든 데이터를 로드시키고 이미 초기화된 모든 데이터를 특정 쓰임새에 필요한 프리젠테이션/웹 티어로 반환해야 함을 의미한다. 대개 어플리케이션은 웹 티어에 필요하게 될 각각의 콜렉션에 대해 <literal>Hibernate.initialize()</literal>를 호출하거나(이 호출은 세션이 닫히기 전에 발생해야 한다) 또는 <literal>FETCH</literal> 절을 갖거나 또는 <literal>Criteria</literal> 내에 <literal>FetchMode.JOIN</literal>을 가진 Hibernate 질의를 사용하여 콜렉션을 열심히 검색한다. 이것은 대개 당신이 <emphasis>Session Facade</emphasis> 대신 <emphasis>Command</emphasis> 패턴을 채택할 경우에 더 쉽다."
+#. Tag: para
+#: performance.xml:415
+#, no-c-format
+msgid ""
+"In an application with a separate business tier, the business logic must "
+"\"prepare\" all collections that will be needed by the web tier before "
+"returning. This means that the business tier should load all the data and "
+"return all the data already initialized to the presentation/web tier that is "
+"required for a particular use case. Usually, the application calls "
+"<literal>Hibernate.initialize()</literal> for each collection that will be "
+"needed in the web tier (this call must occur before the session is closed) "
+"or retrieves the collection eagerly using a Hibernate query with a "
+"<literal>FETCH</literal> clause or a <literal>FetchMode.JOIN</literal> in "
+"<literal>Criteria</literal>. This is usually easier if you adopt the "
+"<emphasis>Command</emphasis> pattern instead of a <emphasis>Session Facade</"
+"emphasis>."
+msgstr ""
+"별도의 비지니스 티어를 가진 어플리케이션에서, 비지니스 로직은 반환 전에 웹 티"
+"어에 필요한 모든 콜렉션들을 \"준비\"해야 한다. 이것은 비지니스 티어가 모든 데"
+"이터를 로드시키고 이미 초기화된 모든 데이터를 특정 쓰임새에 필요한 프리젠테이"
+"션/웹 티어로 반환해야 함을 의미한다. 대개 어플리케이션은 웹 티어에 필요하게 "
+"될 각각의 콜렉션에 대해 <literal>Hibernate.initialize()</literal>를 호출하거"
+"나(이 호출은 세션이 닫히기 전에 발생해야 한다) 또는 <literal>FETCH</literal> "
+"절을 갖거나 또는 <literal>Criteria</literal> 내에 <literal>FetchMode.JOIN</"
+"literal>을 가진 Hibernate 질의를 사용하여 콜렉션을 열심히 검색한다. 이것은 대"
+"개 당신이 <emphasis>Session Facade</emphasis> 대신 <emphasis>Command</"
+"emphasis> 패턴을 채택할 경우에 더 쉽다."
 
-#: index.docbook:430
-msgid "You may also attach a previously loaded object to a new <literal>Session</literal> with <literal>merge()</literal> or <literal>lock()</literal> before accessing uninitialized collections (or other proxies). No, Hibernate does not, and certainly <emphasis>should</emphasis> not do this automatically, since it would introduce ad hoc transaction semantics!"
-msgstr "당신은 또한 초기화 되지 않은 콜렉션들(또는 다른 프락시들)에 접근하기 전에 <literal>merge()</literal> 또는 <literal>lock()</literal>으로 앞서 로드된 객체를 새로운 <literal>Session</literal>n에 첨부할 수도 있다. 아니다. Hibernate는 이것을 자동적으로 행하지 않고, 확실히 자동적으로 행하지 <emphasis>않을 것이다</emphasis>. 왜냐하면 그것은 특별한 목적을 위한 트랜잭션 의미를 도입할 것이기 때문이다!"
+#. Tag: para
+#: performance.xml:430
+#, no-c-format
+msgid ""
+"You may also attach a previously loaded object to a new <literal>Session</"
+"literal> with <literal>merge()</literal> or <literal>lock()</literal> before "
+"accessing uninitialized collections (or other proxies). No, Hibernate does "
+"not, and certainly <emphasis>should</emphasis> not do this automatically, "
+"since it would introduce ad hoc transaction semantics!"
+msgstr ""
+"당신은 또한 초기화 되지 않은 콜렉션들(또는 다른 프락시들)에 접근하기 전에 "
+"<literal>merge()</literal> 또는 <literal>lock()</literal>으로 앞서 로드된 객"
+"체를 새로운 <literal>Session</literal>n에 첨부할 수도 있다. 아니다. Hibernate"
+"는 이것을 자동적으로 행하지 않고, 확실히 자동적으로 행하지 <emphasis>않을 것"
+"이다</emphasis>. 왜냐하면 그것은 특별한 목적을 위한 트랜잭션 의미를 도입할 것"
+"이기 때문이다!"
 
-#: index.docbook:440
-msgid "Sometimes you don't want to initialize a large collection, but still need some information about it (like its size) or a subset of the data."
-msgstr "때때로 당신은 거대한 콜렉션을 초기화 시키는 것을 원하지 않지만, 여전히 (그것의 사이즈와 같은) 그것에 대한 어떤 정보 또는 데이터의 부분집합을 필요로 한다."
+#. Tag: para
+#: performance.xml:440
+#, no-c-format
+msgid ""
+"Sometimes you don't want to initialize a large collection, but still need "
+"some information about it (like its size) or a subset of the data."
+msgstr ""
+"때때로 당신은 거대한 콜렉션을 초기화 시키는 것을 원하지 않지만, 여전히 (그것"
+"의 사이즈와 같은) 그것에 대한 어떤 정보 또는 데이터의 부분집합을 필요로 한다."
 
-#: index.docbook:445
-msgid "You can use a collection filter to get the size of a collection without initializing it:"
-msgstr "당신은 그것을 초기화 시키지 않고서 콜렉션의 사이즈를 얻는데 콜렉션 필터를 사용할 수 있다:"
+#. Tag: para
+#: performance.xml:445
+#, no-c-format
+msgid ""
+"You can use a collection filter to get the size of a collection without "
+"initializing it:"
+msgstr ""
+"당신은 그것을 초기화 시키지 않고서 콜렉션의 사이즈를 얻는데 콜렉션 필터를 사"
+"용할 수 있다:"
 
-#: index.docbook:449
-msgid "<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\" ).list().get(0) ).intValue()]]>"
-msgstr "<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\" ).list().get(0) ).intValue()]]>"
+#. Tag: programlisting
+#: performance.xml:449
+#, no-c-format
+msgid ""
+"<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\" ).list"
+"().get(0) ).intValue()]]>"
+msgstr ""
 
-#: index.docbook:451
-msgid "The <literal>createFilter()</literal> method is also used to efficiently retrieve subsets of a collection without needing to initialize the whole collection:"
-msgstr "<literal>createFilter()</literal> 메소드는 또한 전체 콜렉션을 초기화 시킬 필요 없이 콜렉션의 부분집합들을 효율적으로 검색하는데 사용된다:"
+#. Tag: para
+#: performance.xml:451
+#, no-c-format
+msgid ""
+"The <literal>createFilter()</literal> method is also used to efficiently "
+"retrieve subsets of a collection without needing to initialize the whole "
+"collection:"
+msgstr ""
+"<literal>createFilter()</literal> 메소드는 또한 전체 콜렉션을 초기화 시킬 필"
+"요 없이 콜렉션의 부분집합들을 효율적으로 검색하는데 사용된다:"
 
-#: index.docbook:456
-msgid "<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0).setMaxResults(10).list();]]>"
-msgstr "<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0).setMaxResults(10).list();]]>"
+#. Tag: programlisting
+#: performance.xml:456
+#, no-c-format
+msgid ""
+"<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0)."
+"setMaxResults(10).list();]]>"
+msgstr ""
 
-#: index.docbook:461
+#. Tag: title
+#: performance.xml:461
+#, no-c-format
 msgid "Using batch fetching"
 msgstr "batch 페칭 사용하기"
 
-#: index.docbook:463
-msgid "Hibernate can make efficient use of batch fetching, that is, Hibernate can load several uninitialized proxies if one proxy is accessed (or collections. Batch fetching is an optimization of the lazy select fetching strategy. There are two ways you can tune batch fetching: on the class and the collection level."
-msgstr "Hibernate는 배치 페칭을 효율적으로 사용할 수 있다. 즉 하나의 프락시가 액세스 될 경우에 Hibernate는 몇몇 초기화 되지 않은 프락시들을 로드시킬 수 있다(또는 콜렉션들). batch 페칭은 lazy select 페칭 방도에 대한 최적화이다. 당신이 batch 페칭을 튜닝시킬 수 있는 두 가지 방법들이 존재한다: 클래스 레벨에서 그리고 콜렉션 레벨에서."
+#. Tag: para
+#: performance.xml:463
+#, no-c-format
+msgid ""
+"Hibernate can make efficient use of batch fetching, that is, Hibernate can "
+"load several uninitialized proxies if one proxy is accessed (or collections. "
+"Batch fetching is an optimization of the lazy select fetching strategy. "
+"There are two ways you can tune batch fetching: on the class and the "
+"collection level."
+msgstr ""
+"Hibernate는 배치 페칭을 효율적으로 사용할 수 있다. 즉 하나의 프락시가 액세스 "
+"될 경우에 Hibernate는 몇몇 초기화 되지 않은 프락시들을 로드시킬 수 있다(또는 "
+"콜렉션들). batch 페칭은 lazy select 페칭 방도에 대한 최적화이다. 당신이 "
+"batch 페칭을 튜닝시킬 수 있는 두 가지 방법들이 존재한다: 클래스 레벨에서 그리"
+"고 콜렉션 레벨에서."
 
-#: index.docbook:469
-msgid "Batch fetching for classes/entities is easier to understand. Imagine you have the following situation at runtime: You have 25 <literal>Cat</literal> instances loaded in a <literal>Session</literal>, each <literal>Cat</literal> has a reference to its <literal>owner</literal>, a <literal>Person</literal>. The <literal>Person</literal> class is mapped with a proxy, <literal>lazy=\"true\"</literal>. If you now iterate through all cats and call <literal>getOwner()</literal> on each, Hibernate will by default execute 25 <literal>SELECT</literal> statements, to retrieve the proxied owners. You can tune this behavior by specifying a <literal>batch-size</literal> in the mapping of <literal>Person</literal>:"
-msgstr "클래스들/엔티티들에 대한 batch 페칭은 이해하기가 더 쉽다. 당신이 실행 시에 다음 상황에 처한다고 상상하라: 당신은 하나의 <literal>Session</literal> 속에 로드된 25개의 <literal>Cat</literal> 인스턴스들을 갖고 있고, 각각의 <literal>Cat</literal>은 그것의 <literal>소유자</literal> 즉, <literal>Person</literal>에 대한 참조를 갖고 있다. <literal>Person</literal> 클래스는 프락시 <literal>lazy=\"true\"</literal>로서 매핑된다. 만일 당신이 이제 모든 cat들을 통해 반복하고 각각의 cat에 대해 <literal>getOwner()</literal>를 호출할 경우, Hibernate는 프락시된 소유자들을 검색하기 위해 25개의 <literal>SELECT</literal> 문장들을 디폴트로 실행시킬 것이다. 당신은 <literal>Person</literal> 매핑에서 <literal>batch-size</literal>를 지정함으로써 이 동작을 튜닝시킬 수 있다:"
+#. Tag: para
+#: performance.xml:469
+#, no-c-format
+msgid ""
+"Batch fetching for classes/entities is easier to understand. Imagine you "
+"have the following situation at runtime: You have 25 <literal>Cat</literal> "
+"instances loaded in a <literal>Session</literal>, each <literal>Cat</"
+"literal> has a reference to its <literal>owner</literal>, a <literal>Person</"
+"literal>. The <literal>Person</literal> class is mapped with a proxy, "
+"<literal>lazy=\"true\"</literal>. If you now iterate through all cats and "
+"call <literal>getOwner()</literal> on each, Hibernate will by default "
+"execute 25 <literal>SELECT</literal> statements, to retrieve the proxied "
+"owners. You can tune this behavior by specifying a <literal>batch-size</"
+"literal> in the mapping of <literal>Person</literal>:"
+msgstr ""
+"클래스들/엔티티들에 대한 batch 페칭은 이해하기가 더 쉽다. 당신이 실행 시에 다"
+"음 상황에 처한다고 상상하라: 당신은 하나의 <literal>Session</literal> 속에 로"
+"드된 25개의 <literal>Cat</literal> 인스턴스들을 갖고 있고, 각각의 "
+"<literal>Cat</literal>은 그것의 <literal>소유자</literal> 즉, "
+"<literal>Person</literal>에 대한 참조를 갖고 있다. <literal>Person</literal> "
+"클래스는 프락시 <literal>lazy=\"true\"</literal>로서 매핑된다. 만일 당신이 이"
+"제 모든 cat들을 통해 반복하고 각각의 cat에 대해 <literal>getOwner()</literal>"
+"를 호출할 경우, Hibernate는 프락시된 소유자들을 검색하기 위해 25개의 "
+"<literal>SELECT</literal> 문장들을 디폴트로 실행시킬 것이다. 당신은 "
+"<literal>Person</literal> 매핑에서 <literal>batch-size</literal>를 지정함으로"
+"써 이 동작을 튜닝시킬 수 있다:"
 
-#: index.docbook:479
+#. Tag: programlisting
+#: performance.xml:479
+#, no-c-format
 msgid "<![CDATA[<class name=\"Person\" batch-size=\"10\">...</class>]]>"
-msgstr "<![CDATA[<class name=\"Person\" batch-size=\"10\">...</class>]]>"
+msgstr ""
 
-#: index.docbook:481
-msgid "Hibernate will now execute only three queries, the pattern is 10, 10, 5."
-msgstr "Hibernate는 이제 세 개의 질의들 만을 실행시킬 것이고, 그 패턴은 10,10, 5 이다."
+#. Tag: para
+#: performance.xml:481
+#, no-c-format
+msgid ""
+"Hibernate will now execute only three queries, the pattern is 10, 10, 5."
+msgstr ""
+"Hibernate는 이제 세 개의 질의들 만을 실행시킬 것이고, 그 패턴은 10,10, 5 이"
+"다."
 
-#: index.docbook:485
-msgid "You may also enable batch fetching of collections. For example, if each <literal>Person</literal> has a lazy collection of <literal>Cat</literal>s, and 10 persons are currently loaded in the <literal>Sesssion</literal>, iterating through all persons will generate 10 <literal>SELECT</literal>s, one for every call to <literal>getCats()</literal>. If you enable batch fetching for the <literal>cats</literal> collection in the mapping of <literal>Person</literal>, Hibernate can pre-fetch collections:"
-msgstr "당신은 또한 콜렉션들에 대해 batch 페칭을 이용 가능하게 할 수도 있다. 예를 들어, 만일 각각의 <literal>Person</literal>이 <literal>Cat</literal>들을 가진 lazy 콜렉션을 갖고, 10개의 person들이 <literal>Sesssion</literal> 내에 현재 로드되어 있을 경우, 모든 person들에 대한 반복은 10개의 <literal>SELECT</literal>들을 생성시킬 것이고, <literal>getCats()</literal>에 대한 매번의 호출에 대해 하나의 <literal>SELECT</literal>를 생성시킬 것이다. 만일 당신이 <literal>Person</literal> 매핑에서 <literal>cats</literal> 콜렉션에 대해 batch 페칭을 사용가능하게 할 경우, Hibernate는 콜렉션들을 미리-페치 시킬 수 있다:"
+#. Tag: para
+#: performance.xml:485
+#, no-c-format
+msgid ""
+"You may also enable batch fetching of collections. For example, if each "
+"<literal>Person</literal> has a lazy collection of <literal>Cat</literal>s, "
+"and 10 persons are currently loaded in the <literal>Sesssion</literal>, "
+"iterating through all persons will generate 10 <literal>SELECT</literal>s, "
+"one for every call to <literal>getCats()</literal>. If you enable batch "
+"fetching for the <literal>cats</literal> collection in the mapping of "
+"<literal>Person</literal>, Hibernate can pre-fetch collections:"
+msgstr ""
+"당신은 또한 콜렉션들에 대해 batch 페칭을 이용 가능하게 할 수도 있다. 예를 들"
+"어, 만일 각각의 <literal>Person</literal>이 <literal>Cat</literal>들을 가진 "
+"lazy 콜렉션을 갖고, 10개의 person들이 <literal>Sesssion</literal> 내에 현재 "
+"로드되어 있을 경우, 모든 person들에 대한 반복은 10개의 <literal>SELECT</"
+"literal>들을 생성시킬 것이고, <literal>getCats()</literal>에 대한 매번의 호출"
+"에 대해 하나의 <literal>SELECT</literal>를 생성시킬 것이다. 만일 당신이 "
+"<literal>Person</literal> 매핑에서 <literal>cats</literal> 콜렉션에 대해 "
+"batch 페칭을 사용가능하게 할 경우, Hibernate는 콜렉션들을 미리-페치 시킬 수 "
+"있다:"
 
-#: index.docbook:494
+#. Tag: programlisting
+#: performance.xml:494
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <set name=\"cats\" batch-size=\"3\">\n"
-      "        ...\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <set name=\"cats\" batch-size=\"3\">\n"
+"        ...\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <set name=\"cats\" batch-size=\"3\">\n"
-      "        ...\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:496
-msgid "With a <literal>batch-size</literal> of 3, Hibernate will load 3, 3, 3, 1 collections in four <literal>SELECT</literal>s. Again, the value of the attribute depends on the expected number of uninitialized collections in a particular <literal>Session</literal>."
-msgstr "<literal>batch-size</literal> 8로서, Hibernate는 4개의 SELECT들에서 3, 3, 3, 1 개의 콜렉션들을 로드시킬 것이다. 다시 그 속성의 값은 특정 <literal>Session</literal> 내에서 초기화 되지 않은 콜렉션들의 예상되는 개수에 의존한다."
+#. Tag: para
+#: performance.xml:496
+#, no-c-format
+msgid ""
+"With a <literal>batch-size</literal> of 3, Hibernate will load 3, 3, 3, 1 "
+"collections in four <literal>SELECT</literal>s. Again, the value of the "
+"attribute depends on the expected number of uninitialized collections in a "
+"particular <literal>Session</literal>."
+msgstr ""
+"<literal>batch-size</literal> 8로서, Hibernate는 4개의 SELECT들에서 3, 3, 3, "
+"1 개의 콜렉션들을 로드시킬 것이다. 다시 그 속성의 값은 특정 "
+"<literal>Session</literal> 내에서 초기화 되지 않은 콜렉션들의 예상되는 개수"
+"에 의존한다."
 
-#: index.docbook:502
-msgid "Batch fetching of collections is particularly useful if you have a nested tree of items, ie. the typical bill-of-materials pattern. (Although a <emphasis>nested set</emphasis> or a <emphasis>materialized path</emphasis> might be a better option for read-mostly trees.)"
-msgstr "만일 당신이 항목들의 포개진 트리를 가질 경우, 예를 들어 전형적인 bill-of-materials 패턴인 경우, (비록 <emphasis>내포된 set</emphasis> 또는 <emphasis>실체화된 경로(materialized path)</emphasis>가 주로-읽기-트리들에 대해 더 좋은 옵션일 수 있을지라도) 콜렉션들에 대한 batch 페칭이 특히 유용하다."
+#. Tag: para
+#: performance.xml:502
+#, no-c-format
+msgid ""
+"Batch fetching of collections is particularly useful if you have a nested "
+"tree of items, ie. the typical bill-of-materials pattern. (Although a "
+"<emphasis>nested set</emphasis> or a <emphasis>materialized path</emphasis> "
+"might be a better option for read-mostly trees.)"
+msgstr ""
+"만일 당신이 항목들의 포개진 트리를 가질 경우, 예를 들어 전형적인 bill-of-"
+"materials 패턴인 경우, (비록 <emphasis>내포된 set</emphasis> 또는 <emphasis>"
+"실체화된 경로(materialized path)</emphasis>가 주로-읽기-트리들에 대해 더 좋"
+"은 옵션일 수 있을지라도) 콜렉션들에 대한 batch 페칭이 특히 유용하다."
 
-#: index.docbook:511
+#. Tag: title
+#: performance.xml:511
+#, no-c-format
 msgid "Using subselect fetching"
 msgstr "subselect 페칭 사용하기"
 
-#: index.docbook:513
-msgid "If one lazy collection or single-valued proxy has to be fetched, Hibernate loads all of them, re-running the original query in a subselect. This works in the same way as batch-fetching, without the piecemeal loading."
-msgstr "만일 한 개의 lazy 콜렉션이나 단일 값 프락시가 페치되어야 한다면, Hibernate는 하나의 subselect 내에서 원래의 질의를 다시 실행하여 그것들 모두를 로드시킨다. 이것은 조각난 로딩 없이 batch 페칭과 동일한 방식으로 동작한다."
+#. Tag: para
+#: performance.xml:513
+#, no-c-format
+msgid ""
+"If one lazy collection or single-valued proxy has to be fetched, Hibernate "
+"loads all of them, re-running the original query in a subselect. This works "
+"in the same way as batch-fetching, without the piecemeal loading."
+msgstr ""
+"만일 한 개의 lazy 콜렉션이나 단일 값 프락시가 페치되어야 한다면, Hibernate는 "
+"하나의 subselect 내에서 원래의 질의를 다시 실행하여 그것들 모두를 로드시킨"
+"다. 이것은 조각난 로딩 없이 batch 페칭과 동일한 방식으로 동작한다."
 
-#: index.docbook:524
+#. Tag: title
+#: performance.xml:524
+#, no-c-format
 msgid "Using lazy property fetching"
 msgstr "lazy 프로퍼티 페칭 사용하기"
 
-#: index.docbook:526
-msgid "Hibernate3 supports the lazy fetching of individual properties. This optimization technique is also known as <emphasis>fetch groups</emphasis>. Please note that this is mostly a marketing feature, as in practice, optimizing row reads is much more important than optimization of column reads. However, only loading some properties of a class might be useful in extreme cases, when legacy tables have hundreds of columns and the data model can not be improved."
-msgstr "Hibernate3은 개별적인 프로퍼티들에 대한 lazy 페칭을 지원한다. 이 최적화 기술은 또한 <emphasis>fetch groups</emphasis> 으로 알려져 있다. 이것이 대개 마케팅 특징임을 노트하길 바란다. 왜냐하면 실제로 행 읽기를 최적화 시키는 것이 컬럼 읽기에 대한 최적화 보다 훨씬 더 중요하기 때문이다. 하지만 리거시 테이블들이 수백 개의 컬럼들을 갖고 데이터 모형이 개선될 수 없을 때, 오직 클래스의 몇몇 프로퍼티들을 로드시키는 것 만이 유용할 수도 있다."
+#. Tag: para
+#: performance.xml:526
+#, no-c-format
+msgid ""
+"Hibernate3 supports the lazy fetching of individual properties. This "
+"optimization technique is also known as <emphasis>fetch groups</emphasis>. "
+"Please note that this is mostly a marketing feature, as in practice, "
+"optimizing row reads is much more important than optimization of column "
+"reads. However, only loading some properties of a class might be useful in "
+"extreme cases, when legacy tables have hundreds of columns and the data "
+"model can not be improved."
+msgstr ""
+"Hibernate3은 개별적인 프로퍼티들에 대한 lazy 페칭을 지원한다. 이 최적화 기술"
+"은 또한 <emphasis>fetch groups</emphasis> 으로 알려져 있다. 이것이 대개 마케"
+"팅 특징임을 노트하길 바란다. 왜냐하면 실제로 행 읽기를 최적화 시키는 것이 컬"
+"럼 읽기에 대한 최적화 보다 훨씬 더 중요하기 때문이다. 하지만 리거시 테이블들"
+"이 수백 개의 컬럼들을 갖고 데이터 모형이 개선될 수 없을 때, 오직 클래스의 몇"
+"몇 프로퍼티들을 로드시키는 것 만이 유용할 수도 있다."
 
-#: index.docbook:535
-msgid "To enable lazy property loading, set the <literal>lazy</literal> attribute on your particular property mappings:"
-msgstr "lazy 프로퍼티 로딩을 이용가능하게 하려면, 당신의 특정 property 매핑들에 대해 <literal>lazy</literal> 속성을 설정하라:"
+#. Tag: para
+#: performance.xml:535
+#, no-c-format
+msgid ""
+"To enable lazy property loading, set the <literal>lazy</literal> attribute "
+"on your particular property mappings:"
+msgstr ""
+"lazy 프로퍼티 로딩을 이용가능하게 하려면, 당신의 특정 property 매핑들에 대해 "
+"<literal>lazy</literal> 속성을 설정하라:"
 
-#: index.docbook:540
+#. Tag: programlisting
+#: performance.xml:540
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Document\">\n"
-      "       <id name=\"id\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"name\" not-null=\"true\" length=\"50\"/>\n"
-      "    <property name=\"summary\" not-null=\"true\" length=\"200\" lazy=\"true\"/>\n"
-      "    <property name=\"text\" not-null=\"true\" length=\"2000\" lazy=\"true\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Document\">\n"
+"       <id name=\"id\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <property name=\"name\" not-null=\"true\" length=\"50\"/>\n"
+"    <property name=\"summary\" not-null=\"true\" length=\"200\" lazy=\"true"
+"\"/>\n"
+"    <property name=\"text\" not-null=\"true\" length=\"2000\" lazy=\"true\"/"
+">\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Document\">\n"
-      "       <id name=\"id\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"name\" not-null=\"true\" length=\"50\"/>\n"
-      "    <property name=\"summary\" not-null=\"true\" length=\"200\" lazy=\"true\"/>\n"
-      "    <property name=\"text\" not-null=\"true\" length=\"2000\" lazy=\"true\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:542
-msgid "Lazy property loading requires buildtime bytecode instrumentation! If your persistent classes are not enhanced, Hibernate will silently ignore lazy property settings and fall back to immediate fetching."
-msgstr "Lazy property 로딩은 빌드 시 바이트코드 수단을 필요로 한다! 만일 당신의 영속 클래스들이 개선되지 않을 경우, Hibernate는 조용하게 lazy 프로퍼티 설정들을 무시하고 즉각적인 페칭으로 후퇴할 것이다."
+#. Tag: para
+#: performance.xml:542
+#, no-c-format
+msgid ""
+"Lazy property loading requires buildtime bytecode instrumentation! If your "
+"persistent classes are not enhanced, Hibernate will silently ignore lazy "
+"property settings and fall back to immediate fetching."
+msgstr ""
+"Lazy property 로딩은 빌드 시 바이트코드 수단을 필요로 한다! 만일 당신의 영속 "
+"클래스들이 개선되지 않을 경우, Hibernate는 조용하게 lazy 프로퍼티 설정들을 무"
+"시하고 즉각적인 페칭으로 후퇴할 것이다."
 
-#: index.docbook:548
+#. Tag: para
+#: performance.xml:548
+#, no-c-format
 msgid "For bytecode instrumentation, use the following Ant task:"
 msgstr "bytecode 수단으로, 다음 Ant 태스크를 사용하라:"
 
-#: index.docbook:552
+#. Tag: programlisting
+#: performance.xml:552
+#, no-c-format
 msgid ""
-      "<![CDATA[<target name=\"instrument\" depends=\"compile\">\n"
-      "    <taskdef name=\"instrument\" classname=\"org.hibernate.tool.instrument.InstrumentTask\">\n"
-      "        <classpath path=\"${jar.path}\"/>\n"
-      "        <classpath path=\"${classes.dir}\"/>\n"
-      "        <classpath refid=\"lib.class.path\"/>\n"
-      "    </taskdef>\n"
-      "\n"
-      "    <instrument verbose=\"true\">\n"
-      "        <fileset dir=\"${testclasses.dir}/org/hibernate/auction/model\">\n"
-      "            <include name=\"*.class\"/>\n"
-      "        </fileset>\n"
-      "    </instrument>\n"
-      "</target>]]>"
+"<![CDATA[<target name=\"instrument\" depends=\"compile\">\n"
+"    <taskdef name=\"instrument\" classname=\"org.hibernate.tool.instrument."
+"InstrumentTask\">\n"
+"        <classpath path=\"${jar.path}\"/>\n"
+"        <classpath path=\"${classes.dir}\"/>\n"
+"        <classpath refid=\"lib.class.path\"/>\n"
+"    </taskdef>\n"
+"\n"
+"    <instrument verbose=\"true\">\n"
+"        <fileset dir=\"${testclasses.dir}/org/hibernate/auction/model\">\n"
+"            <include name=\"*.class\"/>\n"
+"        </fileset>\n"
+"    </instrument>\n"
+"</target>]]>"
 msgstr ""
-      "<![CDATA[<target name=\"instrument\" depends=\"compile\">\n"
-      "    <taskdef name=\"instrument\" classname=\"org.hibernate.tool.instrument.InstrumentTask\">\n"
-      "        <classpath path=\"${jar.path}\"/>\n"
-      "        <classpath path=\"${classes.dir}\"/>\n"
-      "        <classpath refid=\"lib.class.path\"/>\n"
-      "    </taskdef>\n"
-      "\n"
-      "    <instrument verbose=\"true\">\n"
-      "        <fileset dir=\"${testclasses.dir}/org/hibernate/auction/model\">\n"
-      "            <include name=\"*.class\"/>\n"
-      "        </fileset>\n"
-      "    </instrument>\n"
-      "</target>]]>"
 
-#: index.docbook:554
-msgid "A different (better?) way to avoid unnecessary column reads, at least for read-only transactions is to use the projection features of HQL or Criteria queries. This avoids the need for buildtime bytecode processing and is certainly a prefered solution."
-msgstr "불필요한 컬럼 읽기를 피하는 다른 (더 좋은?) 방법은 적어도 읽기 전용 트랜잭션의 경우에 HQL 질의 또는 Criteria 질의의 투사(projection) 특징들을 사용하는 것이다. 이것은 빌드 시 바이트코드 처리에 대한 필요성을 피하게 해주고 확실히 선호되는 해결책이다."
+#. Tag: para
+#: performance.xml:554
+#, no-c-format
+msgid ""
+"A different (better?) way to avoid unnecessary column reads, at least for "
+"read-only transactions is to use the projection features of HQL or Criteria "
+"queries. This avoids the need for buildtime bytecode processing and is "
+"certainly a prefered solution."
+msgstr ""
+"불필요한 컬럼 읽기를 피하는 다른 (더 좋은?) 방법은 적어도 읽기 전용 트랜잭션"
+"의 경우에 HQL 질의 또는 Criteria 질의의 투사(projection) 특징들을 사용하는 것"
+"이다. 이것은 빌드 시 바이트코드 처리에 대한 필요성을 피하게 해주고 확실히 선"
+"호되는 해결책이다."
 
-#: index.docbook:561
-msgid "You may force the usual eager fetching of properties using <literal>fetch all properties</literal> in HQL."
-msgstr "당신은 HQL에서 <literal>fetch all properties</literal>를 사용하여 프로퍼티들에 대한 통상의 eager 페칭을 강제시킬 수 있다."
+#. Tag: para
+#: performance.xml:561
+#, no-c-format
+msgid ""
+"You may force the usual eager fetching of properties using <literal>fetch "
+"all properties</literal> in HQL."
+msgstr ""
+"당신은 HQL에서 <literal>fetch all properties</literal>를 사용하여 프로퍼티들"
+"에 대한 통상의 eager 페칭을 강제시킬 수 있다."
 
-#: index.docbook:571
+#. Tag: title
+#: performance.xml:571
+#, no-c-format
 msgid "The Second Level Cache"
 msgstr "두번째 레벨 캐시"
 
-#: index.docbook:573
-msgid "A Hibernate <literal>Session</literal> is a transaction-level cache of persistent data. It is possible to configure a cluster or JVM-level (<literal>SessionFactory</literal>-level) cache on a class-by-class and collection-by-collection basis. You may even plug in a clustered cache. Be careful. Caches are never aware of changes made to the persistent store by another application (though they may be configured to regularly expire cached data)."
-msgstr "Hibernate <literal>Session</literal>은 영속 데이터에 대한 트랜잭션 레벨 캐시이다. class-by-class와 collection-by-collection 기반 위에 클러스터 또는 JVM-레벨(<literal>SessionFactory</literal>-레벨) 캐시를 구성하는 것이 가능하다. 당신은 클러스터링 된 캐시 속에 플러그인 할 수도 있다. 주의하라. 캐시들은 (비록 그것들이 캐시된 데이터를 정기적으로 만료되도록 구성되어 있을지라도) 또 다른 어플리케이션에 의해 영속 저장소에 대해 행해진 변경들을 결코 알지 못한다."
+#. Tag: para
+#: performance.xml:573
+#, no-c-format
+msgid ""
+"A Hibernate <literal>Session</literal> is a transaction-level cache of "
+"persistent data. It is possible to configure a cluster or JVM-level "
+"(<literal>SessionFactory</literal>-level) cache on a class-by-class and "
+"collection-by-collection basis. You may even plug in a clustered cache. Be "
+"careful. Caches are never aware of changes made to the persistent store by "
+"another application (though they may be configured to regularly expire "
+"cached data)."
+msgstr ""
+"Hibernate <literal>Session</literal>은 영속 데이터에 대한 트랜잭션 레벨 캐시"
+"이다. class-by-class와 collection-by-collection 기반 위에 클러스터 또는 JVM-"
+"레벨(<literal>SessionFactory</literal>-레벨) 캐시를 구성하는 것이 가능하다. "
+"당신은 클러스터링 된 캐시 속에 플러그인 할 수도 있다. 주의하라. 캐시들은 (비"
+"록 그것들이 캐시된 데이터를 정기적으로 만료되도록 구성되어 있을지라도) 또 다"
+"른 어플리케이션에 의해 영속 저장소에 대해 행해진 변경들을 결코 알지 못한다."
 
-#: index.docbook:581
-msgid "You have the option to tell Hibernate which caching implementation to use by specifying the name of a class that implements <literal>org.hibernate.cache.CacheProvider</literal> using the property <literal>hibernate.cache.provider_class</literal>. Hibernate comes bundled with a number of built-in integrations with open-source cache providers (listed below); additionally, you could implement your own and plug it in as outlined above. Note that versions prior to 3.2 defaulted to use EhCache as the default cache provider; that is no longer the case as of 3.2."
-msgstr "디폴트로, Hibernate는 JVM-레벨의 캐싱에 EHCache를 사용한다. (JCS 지원은 이제 진부하게 되었고 Hibernate의 장래 버전에서 제거될 것이다.) 당신은 <literal>hibernate.cache.provider_class</literal> 프로퍼티를 사용하여 <literal>org.hibernate.cache.CacheProvider</literal>를 구현하는 클래스의 이름을 지정함으로써 다른 구현을 선택할 수도 있다. You have the option to tell Hibernate which caching implementation to use by specifying the name of a class that implements <literal>org.hibernate.cache.CacheProvider</literal> using the property <literal>hibernate.cache.provider_class</literal>. Hibernate comes bundled with a number of built-in integrations with open-source cache providers (listed below); additionally, you could implement your own and plug it in as outlined above. Note that versions prior to 3.2 defaulted to use EhCache as the default cache provider; that is no longer the case as of 3.2. !
 당신은 <literal>hibernate.cache.provider_class</literal> 프로퍼티를 사용하여 <literal>org.hibernate.cache.CacheProvider</literal>를 구현하는 클래스의 이름을 지정함으로써 어느 캐싱 구현을 사용할 것인지를 Hibernate에게 알려주는 옵션을 갖는다. Hibernate는 (아래에 열거된) 오픈-소스 프로바이더들을 가진 많은 빌드되어 있는 통합들을 번들로 갖고 있다; 추가적으로 당신은 위에서 언급했듯이 그것에 당신 자신의 것을 구현할 수 있고 그것에 플러그 시킬 수 있다. 3.2 이번 버전들은 디플트 캐시 프로바이더로서 EhCache를 사용하도록 디포릍로 내장되어 있음을 노트하라; 버전 3.2의 경우에 그것은 더이상 디폴트 내장이 아니다."
+#. Tag: para
+#: performance.xml:581
+#, no-c-format
+msgid ""
+"You have the option to tell Hibernate which caching implementation to use by "
+"specifying the name of a class that implements <literal>org.hibernate.cache."
+"CacheProvider</literal> using the property <literal>hibernate.cache."
+"provider_class</literal>. Hibernate comes bundled with a number of built-in "
+"integrations with open-source cache providers (listed below); additionally, "
+"you could implement your own and plug it in as outlined above. Note that "
+"versions prior to 3.2 defaulted to use EhCache as the default cache "
+"provider; that is no longer the case as of 3.2."
+msgstr ""
+"디폴트로, Hibernate는 JVM-레벨의 캐싱에 EHCache를 사용한다. (JCS 지원은 이제 "
+"진부하게 되었고 Hibernate의 장래 버전에서 제거될 것이다.) 당신은 "
+"<literal>hibernate.cache.provider_class</literal> 프로퍼티를 사용하여 "
+"<literal>org.hibernate.cache.CacheProvider</literal>를 구현하는 클래스의 이름"
+"을 지정함으로써 다른 구현을 선택할 수도 있다. You have the option to tell "
+"Hibernate which caching implementation to use by specifying the name of a "
+"class that implements <literal>org.hibernate.cache.CacheProvider</literal> "
+"using the property <literal>hibernate.cache.provider_class</literal>. "
+"Hibernate comes bundled with a number of built-in integrations with open-"
+"source cache providers (listed below); additionally, you could implement "
+"your own and plug it in as outlined above. Note that versions prior to 3.2 "
+"defaulted to use EhCache as the default cache provider; that is no longer "
+"the case as of 3.2. 당신은 <literal>hibernate.cache.provider_class</literal> "
+"프로퍼티를 사용하여 <literal>org.hibernate.cache.CacheProvider</literal>를 구"
+"현하는 클래스의 이름을 지정함으로써 어느 캐싱 구현을 사용할 것인지를 "
+"Hibernate에게 알려주는 옵션을 갖는다. Hibernate는 (아래에 열거된) 오픈-소스 "
+"프로바이더들을 가진 많은 빌드되어 있는 통합들을 번들로 갖고 있다; 추가적으로 "
+"당신은 위에서 언급했듯이 그것에 당신 자신의 것을 구현할 수 있고 그것에 플러"
+"그 시킬 수 있다. 3.2 이번 버전들은 디플트 캐시 프로바이더로서 EhCache를 사용"
+"하도록 디포릍로 내장되어 있음을 노트하라; 버전 3.2의 경우에 그것은 더이상 디"
+"폴트 내장이 아니다."
 
-#: index.docbook:592
+#. Tag: title
+#: performance.xml:592
+#, no-c-format
 msgid "Cache Providers"
 msgstr "캐시 프로바이더들"
 
-#: index.docbook:601, index.docbook:774
+#. Tag: entry
+#: performance.xml:601 performance.xml:774
+#, no-c-format
 msgid "Cache"
-msgstr "<entry>캐시</entry>"
+msgstr "캐시"
 
-#: index.docbook:602
+#. Tag: entry
+#: performance.xml:602
+#, no-c-format
 msgid "Provider class"
 msgstr "프로바이더 클래스"
 
-#: index.docbook:603
+#. Tag: entry
+#: performance.xml:603
+#, no-c-format
 msgid "Type"
-msgstr "<entry>타입</entry>"
+msgstr "타입"
 
-#: index.docbook:604
+#. Tag: entry
+#: performance.xml:604
+#, no-c-format
 msgid "Cluster Safe"
 msgstr "클러스터 안전"
 
-#: index.docbook:605
+#. Tag: entry
+#: performance.xml:605
+#, no-c-format
 msgid "Query Cache Supported"
 msgstr "질의 캐시 지원"
 
-#: index.docbook:610, index.docbook:783
+#. Tag: entry
+#: performance.xml:610 performance.xml:783
+#, fuzzy, no-c-format
 msgid "Hashtable (not intended for production use)"
-msgstr "Hashtable (제품 용도로 고안되어 있지 않음)"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Hashtable (제품 용도로 고안되어 있지 않음)\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Hashtable (제품용으로 고안되지 않음)"
 
-#: index.docbook:611
+#. Tag: literal
+#: performance.xml:611
+#, no-c-format
 msgid "org.hibernate.cache.HashtableCacheProvider"
 msgstr "org.hibernate.cache.HashtableCacheProvider"
 
-#: index.docbook:612
+#. Tag: entry
+#: performance.xml:612
+#, no-c-format
 msgid "memory"
 msgstr "memory"
 
-#: index.docbook:614, index.docbook:621, index.docbook:628, index.docbook:784, index.docbook:785, index.docbook:786, index.docbook:791, index.docbook:792, index.docbook:793, index.docbook:798, index.docbook:799, index.docbook:800, index.docbook:805, index.docbook:806, index.docbook:812, index.docbook:815
+#. Tag: entry
+#: performance.xml:614 performance.xml:621 performance.xml:628
+#: performance.xml:784 performance.xml:785 performance.xml:786
+#: performance.xml:791 performance.xml:792 performance.xml:793
+#: performance.xml:798 performance.xml:799 performance.xml:800
+#: performance.xml:805 performance.xml:806 performance.xml:812
+#: performance.xml:815
+#, no-c-format
 msgid "<entry>yes</entry>"
-msgstr "<entry>yes</entry>"
+msgstr ""
 
-#: index.docbook:617, index.docbook:790
+#. Tag: entry
+#: performance.xml:617 performance.xml:790
+#, no-c-format
 msgid "EHCache"
 msgstr "EHCache"
 
-#: index.docbook:618
+#. Tag: literal
+#: performance.xml:618
+#, no-c-format
 msgid "org.hibernate.cache.EhCacheProvider"
 msgstr "org.hibernate.cache.EhCacheProvider"
 
-#: index.docbook:619, index.docbook:626
+#. Tag: entry
+#: performance.xml:619 performance.xml:626
+#, no-c-format
 msgid "memory, disk"
 msgstr "memory, disk"
 
-#: index.docbook:624, index.docbook:797
+#. Tag: entry
+#: performance.xml:624 performance.xml:797
+#, no-c-format
 msgid "OSCache"
 msgstr "OSCache"
 
-#: index.docbook:625
+#. Tag: literal
+#: performance.xml:625
+#, no-c-format
 msgid "org.hibernate.cache.OSCacheProvider"
 msgstr "org.hibernate.cache.OSCacheProvider"
 
-#: index.docbook:631, index.docbook:804
+#. Tag: entry
+#: performance.xml:631 performance.xml:804
+#, no-c-format
 msgid "SwarmCache"
-msgstr "<entry>yes</entry>"
+msgstr "SwarmCache"
 
-#: index.docbook:632
+#. Tag: literal
+#: performance.xml:632
+#, no-c-format
 msgid "org.hibernate.cache.SwarmCacheProvider"
-msgstr "SwarmCache"
+msgstr "org.hibernate.cache.SwarmCacheProvider"
 
-#: index.docbook:633
+#. Tag: entry
+#: performance.xml:633
+#, no-c-format
 msgid "clustered (ip multicast)"
-msgstr "org.hibernate.cache.SwarmCacheProvider"
+msgstr "clustered (ip multicast)"
 
-#: index.docbook:634
+#. Tag: entry
+#: performance.xml:634
+#, no-c-format
 msgid "yes (clustered invalidation)"
-msgstr "clustered (ip multicast)"
+msgstr "yes (clustered invalidation)"
 
-#: index.docbook:638, index.docbook:811
+#. Tag: entry
+#: performance.xml:638 performance.xml:811
+#, no-c-format
 msgid "JBoss TreeCache"
-msgstr "yes (clustered invalidation)"
+msgstr "JBoss TreeCache"
 
-#: index.docbook:639
+#. Tag: literal
+#: performance.xml:639
+#, no-c-format
 msgid "org.hibernate.cache.TreeCacheProvider"
-msgstr "JBoss TreeCache"
+msgstr "org.hibernate.cache.TreeCacheProvider"
 
-#: index.docbook:640
+#. Tag: entry
+#: performance.xml:640
+#, no-c-format
 msgid "clustered (ip multicast), transactional"
-msgstr "org.hibernate.cache.TreeCacheProvider"
+msgstr "clustered (ip multicast), transactional"
 
-#: index.docbook:641
+#. Tag: entry
+#: performance.xml:641
+#, no-c-format
 msgid "yes (replication)"
-msgstr "clustered (ip multicast), transactional"
+msgstr "yes (replication)"
 
-#: index.docbook:642
+#. Tag: entry
+#: performance.xml:642
+#, no-c-format
 msgid "yes (clock sync req.)"
-msgstr "yes (replication)"
+msgstr "yes (clock sync req.)"
 
-#: index.docbook:649
+#. Tag: title
+#: performance.xml:649
+#, no-c-format
 msgid "Cache mappings"
-msgstr "yes (clock sync req.)"
-
-#: index.docbook:651
-msgid "The <literal>&lt;cache&gt;</literal> element of a class or collection mapping has the following form:"
 msgstr "Cache 매핑들"
 
-#: index.docbook:662
+#. Tag: para
+#: performance.xml:651
+#, no-c-format
 msgid ""
-      "<![CDATA[<cache \n"
-      "    usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
-      "    region=\"RegionName\"\n"
-      "    include=\"all|non-lazy\"\n"
-      "/>]]>"
-msgstr "클래스 또는 콜렉션 매핑의 <literal>&lt;cache&gt;</literal> 요소는 다음 형식을 갖는다:"
+"The <literal>&lt;cache&gt;</literal> element of a class or collection "
+"mapping has the following form:"
+msgstr ""
+"클래스 또는 콜렉션 매핑의 <literal>&lt;cache&gt;</literal> 요소는 다음 형식"
+"을 갖는다:"
 
-#: index.docbook:665
-msgid "<literal>usage</literal> (required) specifies the caching strategy: <literal>transactional</literal>, <literal>read-write</literal>, <literal>nonstrict-read-write</literal> or <literal>read-only</literal>"
+#. Tag: programlisting
+#: performance.xml:662
+#, no-c-format
+msgid ""
+"<![CDATA[<cache \n"
+"    usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
+"    region=\"RegionName\"\n"
+"    include=\"all|non-lazy\"\n"
+"/>]]>"
 msgstr ""
-      "<![CDATA[<cache \n"
-      "    usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
-      "    region=\"RegionName\"\n"
-      "    include=\"all|non-lazy\"\n"
-      "/>]]>"
 
-#: index.docbook:674
-msgid "<literal>region</literal> (optional, defaults to the class or collection role name) specifies the name of the second level cache region"
-msgstr "<literal>usage</literal>(필수) 캐싱 방도를 지정한다: <literal>transactional</literal>, <literal>read-write</literal>, <literal>nonstrict-read-write</literal> 또는 <literal>read-only</literal>"
+#. Tag: para
+#: performance.xml:665
+#, no-c-format
+msgid ""
+"<literal>usage</literal> (required) specifies the caching strategy: "
+"<literal>transactional</literal>, <literal>read-write</literal>, "
+"<literal>nonstrict-read-write</literal> or <literal>read-only</literal>"
+msgstr ""
+"<literal>usage</literal>(필수) 캐싱 방도를 지정한다: <literal>transactional</"
+"literal>, <literal>read-write</literal>, <literal>nonstrict-read-write</"
+"literal> 또는 <literal>read-only</literal>"
 
-#: index.docbook:681
-msgid "<literal>include</literal> (optional, defaults to <literal>all</literal>) <literal>non-lazy</literal> specifies that properties of the entity mapped with <literal>lazy=\"true\"</literal> may not be cached when attribute-level lazy fetching is enabled"
-msgstr "<literal>region</literal> (옵션, 디폴트는 class 또는 콜렉션 role 이름) second level 캐시 영역의 이름을 지정한다"
+#. Tag: para
+#: performance.xml:674
+#, no-c-format
+msgid ""
+"<literal>region</literal> (optional, defaults to the class or collection "
+"role name) specifies the name of the second level cache region"
+msgstr ""
+"<literal>region</literal> (옵션, 디폴트는 class 또는 콜렉션 role 이름) "
+"second level 캐시 영역의 이름을 지정한다"
 
-#: index.docbook:691
-msgid "Alternatively (preferrably?), you may specify <literal>&lt;class-cache&gt;</literal> and <literal>&lt;collection-cache&gt;</literal> elements in <literal>hibernate.cfg.xml</literal>."
-msgstr "<literal>include</literal> (옵션, 디폴트는 <literal>all</literal>) <literal>non-lazy</literal>는 <literal>lazy=\"true\"</literal>로 매핑된 엔티티의 프로퍼티들을 지정하며 속성-레벨 lazy 페칭이 이용 가능할 때 키시될 수 없다"
+#. Tag: para
+#: performance.xml:681
+#, no-c-format
+msgid ""
+"<literal>include</literal> (optional, defaults to <literal>all</literal>) "
+"<literal>non-lazy</literal> specifies that properties of the entity mapped "
+"with <literal>lazy=\"true\"</literal> may not be cached when attribute-level "
+"lazy fetching is enabled"
+msgstr ""
+"<literal>include</literal> (옵션, 디폴트는 <literal>all</literal>) "
+"<literal>non-lazy</literal>는 <literal>lazy=\"true\"</literal>로 매핑된 엔티"
+"티의 프로퍼티들을 지정하며 속성-레벨 lazy 페칭이 이용 가능할 때 키시될 수 없"
+"다"
 
-#: index.docbook:696
-msgid "The <literal>usage</literal> attribute specifies a <emphasis>cache concurrency strategy</emphasis>."
-msgstr "다른 방법으로 (선호적으로?), 당신은 <literal>hibernate.cfg.xml</literal> 내에 <literal>&lt;class-cache&gt;</literal>와 <literal>&lt;collection-cache&gt;</literal> 요소들을 지정할 수도 있다."
+#. Tag: para
+#: performance.xml:691
+#, no-c-format
+msgid ""
+"Alternatively (preferrably?), you may specify <literal>&lt;class-cache&gt;</"
+"literal> and <literal>&lt;collection-cache&gt;</literal> elements in "
+"<literal>hibernate.cfg.xml</literal>."
+msgstr ""
+"다른 방법으로 (선호적으로?), 당신은 <literal>hibernate.cfg.xml</literal> 내"
+"에 <literal>&lt;class-cache&gt;</literal>와 <literal>&lt;collection-cache&gt;"
+"</literal> 요소들을 지정할 수도 있다."
 
-#: index.docbook:703
+#. Tag: para
+#: performance.xml:696
+#, no-c-format
+msgid ""
+"The <literal>usage</literal> attribute specifies a <emphasis>cache "
+"concurrency strategy</emphasis>."
+msgstr ""
+"<literal>usage</literal> 속성은 <emphasis> 캐시 동시성 방도</emphasis>를 지정"
+"한다."
+
+#. Tag: title
+#: performance.xml:703
+#, no-c-format
 msgid "Strategy: read only"
-msgstr "<literal>usage</literal> 속성은 <emphasis> 캐시 동시성 방도</emphasis>를 지정한다."
-
-#: index.docbook:705
-msgid "If your application needs to read but never modify instances of a persistent class, a <literal>read-only</literal> cache may be used. This is the simplest and best performing strategy. It's even perfectly safe for use in a cluster."
 msgstr "방도: 읽기 전용"
 
-#: index.docbook:711
+#. Tag: para
+#: performance.xml:705
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"eg.Immutable\" mutable=\"false\">\n"
-      "    <cache usage=\"read-only\"/>\n"
-      "    ....\n"
-      "</class>]]>"
-msgstr "당신의 어플리케이션이 영속 클래스의 인스턴스들을 읽어들일 필요가 있지만 결코 변경할 필요가 없을 경우에 <literal>read-only</literal> 캐시가 사용될 수 있다. 이것은 가장 간단한 최상의 퍼포먼스를 위한 방도이다. 그것은 클러스터 내 사용에는 완벽하게 안전하다."
+"If your application needs to read but never modify instances of a persistent "
+"class, a <literal>read-only</literal> cache may be used. This is the "
+"simplest and best performing strategy. It's even perfectly safe for use in a "
+"cluster."
+msgstr ""
+"당신의 어플리케이션이 영속 클래스의 인스턴스들을 읽어들일 필요가 있지만 결코 "
+"변경할 필요가 없을 경우에 <literal>read-only</literal> 캐시가 사용될 수 있"
+"다. 이것은 가장 간단한 최상의 퍼포먼스를 위한 방도이다. 그것은 클러스터 내 사"
+"용에는 완벽하게 안전하다."
 
-#: index.docbook:717
-msgid "Strategy: read/write"
+#. Tag: programlisting
+#: performance.xml:711
+#, no-c-format
+msgid ""
+"<![CDATA[<class name=\"eg.Immutable\" mutable=\"false\">\n"
+"    <cache usage=\"read-only\"/>\n"
+"    ....\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"eg.Immutable\" mutable=\"false\">\n"
-      "    <cache usage=\"read-only\"/>\n"
-      "    ....\n"
-      "</class>]]>"
 
-#: index.docbook:719
-msgid "If the application needs to update data, a <literal>read-write</literal> cache might be appropriate. This cache strategy should never be used if serializable transaction isolation level is required. If the cache is used in a JTA environment, you must specify the property <literal>hibernate.transaction.manager_lookup_class</literal>, naming a strategy for obtaining the JTA <literal>TransactionManager</literal>. In other environments, you should ensure that the transaction is completed when <literal>Session.close()</literal> or <literal>Session.disconnect()</literal> is called. If you wish to use this strategy in a cluster, you should ensure that the underlying cache implementation supports locking. The built-in cache providers do <emphasis>not</emphasis>."
+#. Tag: title
+#: performance.xml:717
+#, no-c-format
+msgid "Strategy: read/write"
 msgstr "방도: 읽기/쓰기"
 
-#: index.docbook:730
+#. Tag: para
+#: performance.xml:719
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"eg.Cat\" .... >\n"
-      "    <cache usage=\"read-write\"/>\n"
-      "    ....\n"
-      "    <set name=\"kittens\" ... >\n"
-      "        <cache usage=\"read-write\"/>\n"
-      "        ....\n"
-      "    </set>\n"
-      "</class>]]>"
-msgstr "어플리케이션이 데이터를 업데이트 í•  필요가 있을 경우, <literal>read-write</literal> 캐시가 적절하다. 만일 직렬화 가능한(serializable) 트랜잭션 격리 레벨이 필요한 경우에는 이 캐시 방도가 ê²°ì½” 사용되지 말아야 한다. 만일 캐시가 JTA 환경에서 사용될 경우, 당신은 JTA <literal>TransactionManager</literal>를 얻는 방도를 명명하는 <literal>hibernate.transaction.manager_lookup_class</literal> 프로퍼티를 지정해야 한다. 다른 환경들에서, 당신은<literal>Session.close()</literal> 또는 <literal>Session.disconnect()</literal>ê°€ 호출될 ë•Œ 트랜잭션이 완료되는 것을 확실히 해야 한다. 만일 당신이 클러스터 내에 이 방도를 사용하고자 원할 경우, 당신은 기본 캐시 구현이 잠금을 지원하도록 하는 것을 확실히 해야 한다. 미리 만들어진 캐시 프로바이더들은 그렇게 행하지 <emphasis>않는ë!
 ‹¤</emphasis>."
+"If the application needs to update data, a <literal>read-write</literal> "
+"cache might be appropriate. This cache strategy should never be used if "
+"serializable transaction isolation level is required. If the cache is used "
+"in a JTA environment, you must specify the property <literal>hibernate."
+"transaction.manager_lookup_class</literal>, naming a strategy for obtaining "
+"the JTA <literal>TransactionManager</literal>. In other environments, you "
+"should ensure that the transaction is completed when <literal>Session.close()"
+"</literal> or <literal>Session.disconnect()</literal> is called. If you wish "
+"to use this strategy in a cluster, you should ensure that the underlying "
+"cache implementation supports locking. The built-in cache providers do "
+"<emphasis>not</emphasis>."
+msgstr ""
+"어플리케이션이 데이터를 업데이트 할 필요가 있을 경우, <literal>read-write</"
+"literal> 캐시가 적절하다. 만일 직렬화 가능한(serializable) 트랜잭션 격리 레벨"
+"이 필요한 경우에는 이 캐시 방도가 결코 사용되지 말아야 한다. 만일 캐시가 JTA "
+"환경에서 사용될 경우, 당신은 JTA <literal>TransactionManager</literal>를 얻"
+"는 방도를 명명하는 <literal>hibernate.transaction.manager_lookup_class</"
+"literal> 프로퍼티를 지정해야 한다. 다른 환경들에서, 당신은<literal>Session."
+"close()</literal> 또는 <literal>Session.disconnect()</literal>가 호출될 때 트"
+"랜잭션이 완료되는 것을 확실히 해야 한다. 만일 당신이 클러스터 내에 이 방도를 "
+"사용하고자 원할 경우, 당신은 기본 캐시 구현이 잠금을 지원하도록 하는 것을 확"
+"실히 해야 한다. 미리 만들어진 캐시 프로바이더들은 그렇게 행하지 <emphasis>않"
+"는다</emphasis>."
 
-#: index.docbook:735
-msgid "Strategy: nonstrict read/write"
+#. Tag: programlisting
+#: performance.xml:730
+#, no-c-format
+msgid ""
+"<![CDATA[<class name=\"eg.Cat\" .... >\n"
+"    <cache usage=\"read-write\"/>\n"
+"    ....\n"
+"    <set name=\"kittens\" ... >\n"
+"        <cache usage=\"read-write\"/>\n"
+"        ....\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"eg.Cat\" .... >\n"
-      "    <cache usage=\"read-write\"/>\n"
-      "    ....\n"
-      "    <set name=\"kittens\" ... >\n"
-      "        <cache usage=\"read-write\"/>\n"
-      "        ....\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:737
-msgid "If the application only occasionally needs to update data (ie. if it is extremely unlikely that two transactions would try to update the same item simultaneously) and strict transaction isolation is not required, a <literal>nonstrict-read-write</literal> cache might be appropriate. If the cache is used in a JTA environment, you must specify <literal>hibernate.transaction.manager_lookup_class</literal>. In other environments, you should ensure that the transaction is completed when <literal>Session.close()</literal> or <literal>Session.disconnect()</literal> is called."
+#. Tag: title
+#: performance.xml:735
+#, no-c-format
+msgid "Strategy: nonstrict read/write"
 msgstr "방도: 엄격하지 않은 읽기/쓰기"
 
-#: index.docbook:749
+#. Tag: para
+#: performance.xml:737
+#, no-c-format
+msgid ""
+"If the application only occasionally needs to update data (ie. if it is "
+"extremely unlikely that two transactions would try to update the same item "
+"simultaneously) and strict transaction isolation is not required, a "
+"<literal>nonstrict-read-write</literal> cache might be appropriate. If the "
+"cache is used in a JTA environment, you must specify <literal>hibernate."
+"transaction.manager_lookup_class</literal>. In other environments, you "
+"should ensure that the transaction is completed when <literal>Session.close()"
+"</literal> or <literal>Session.disconnect()</literal> is called."
+msgstr ""
+"만일 어플리케이션이 오직 데이터를 자주 업데이트할 필요가 있고(예를 들어, 만"
+"일 두 개의 트랜잭션들이 동시에 동일한 항목을 업데이트 하려고 시도하는 정말 있"
+"음직하지 않은 경우) 그리고 엄격한 트랜잭션 격리가 필요하지 않은 경우, "
+"<literal>nonstrict-read-write</literal> 캐시가 적절할 수 있다. 만일 그 캐시"
+"가 JTA 환경에서 사용될 경우, 당신은 <literal>hibernate.transaction."
+"manager_lookup_class</literal>를 지정해야 한다. 다른 환경들에서, 당신은 "
+"<literal>Session.close()</literal> 또는 <literal>Session.disconnect()</"
+"literal>가 호출될 때 트랜잭션이 완료되도록 확실히 해야 한다."
+
+#. Tag: title
+#: performance.xml:749
+#, no-c-format
 msgid "Strategy: transactional"
-msgstr "만일 어플리케이션이 오직 데이터를 자주 업데이트할 필요가 있고(예를 들어, 만일 두 개의 트랜잭션들이 동시에 동일한 항목을 업데이트 하려고 시도하는 정말 있음직하지 않은 경우) 그리고 엄격한 트랜잭션 격리가 필요하지 않은 경우, <literal>nonstrict-read-write</literal> 캐시가 적절할 수 있다. 만일 그 캐시가 JTA 환경에서 사용될 경우, 당신은 <literal>hibernate.transaction.manager_lookup_class</literal>를 지정해야 한다. 다른 환경들에서, 당신은 <literal>Session.close()</literal> 또는 <literal>Session.disconnect()</literal>가 호출될 때 트랜잭션이 완료되도록 확실히 해야 한다."
-
-#: index.docbook:751
-msgid "The <literal>transactional</literal> cache strategy provides support for fully transactional cache providers such as JBoss TreeCache. Such a cache may only be used in a JTA environment and you must specify <literal>hibernate.transaction.manager_lookup_class</literal>."
 msgstr "방도: transactional"
 
-#: index.docbook:759
-msgid "None of the cache providers support all of the cache concurrency strategies. The following table shows which providers are compatible with which concurrency strategies."
-msgstr "<literal>transactional</literal> 캐시 방도는 JBoss TreeCache와 같은 전체 트랜잭션적인 캐시 프로바이더들에 대한 지원을 제공한다. 그런 캐시는 오직 JTA 환경 내에서 사용될 수 있고 당신은 <literal>hibernate.transaction.manager_lookup_class</literal>를 지정해야 한다."
+#. Tag: para
+#: performance.xml:751
+#, no-c-format
+msgid ""
+"The <literal>transactional</literal> cache strategy provides support for "
+"fully transactional cache providers such as JBoss TreeCache. Such a cache "
+"may only be used in a JTA environment and you must specify "
+"<literal>hibernate.transaction.manager_lookup_class</literal>."
+msgstr ""
+"<literal>transactional</literal> 캐시 방도는 JBoss TreeCache와 같은 전체 트랜"
+"잭션적인 캐시 프로바이더들에 대한 지원을 제공한다. 그런 캐시는 오직 JTA 환경 "
+"내에서 사용될 수 있고 당신은 <literal>hibernate.transaction."
+"manager_lookup_class</literal>를 지정해야 한다."
 
-#: index.docbook:765
+#. Tag: para
+#: performance.xml:759
+#, no-c-format
+msgid ""
+"None of the cache providers support all of the cache concurrency strategies. "
+"The following table shows which providers are compatible with which "
+"concurrency strategies."
+msgstr ""
+"캐시 프로바이더들 중 어느 것도 모든 캐시 동시성 방도들을 지원하지 않는다. 다"
+"음 테이블은 어느 프로바이더들이 어느 동시성 방도들과 호환되는지를 보여준다."
+
+#. Tag: title
+#: performance.xml:765
+#, no-c-format
 msgid "Cache Concurrency Strategy Support"
-msgstr "캐시 프로바이더들 중 어느 것도 모든 캐시 동시성 방도들을 지원하지 않는다. 다음 테이블은 어느 프로바이더들이 어느 동시성 방도들과 호환되는지를 보여준다."
+msgstr "캐시 동시성 방도 지원"
 
-#: index.docbook:775
+#. Tag: entry
+#: performance.xml:775
+#, no-c-format
 msgid "read-only"
-msgstr "<entry>캐시</entry>"
+msgstr "읽기 전용"
 
-#: index.docbook:776
+#. Tag: entry
+#: performance.xml:776
+#, no-c-format
 msgid "nonstrict-read-write"
-msgstr "읽기 전용"
+msgstr "엄격하지 않은 읽기-쓰기"
 
-#: index.docbook:777
+#. Tag: entry
+#: performance.xml:777
+#, no-c-format
 msgid "read-write"
-msgstr "엄격하지 않은 읽기-쓰기"
+msgstr "읽기-쓰기"
 
-#: index.docbook:778
+#. Tag: entry
+#: performance.xml:778
+#, no-c-format
 msgid "transactional"
-msgstr "읽기-쓰기"
+msgstr "transactional"
 
-#: index.docbook:824
+#. Tag: title
+#: performance.xml:824
+#, no-c-format
 msgid "Managing the caches"
-msgstr "<entry>예</entry>"
-
-#: index.docbook:826
-msgid "Whenever you pass an object to <literal>save()</literal>, <literal>update()</literal> or <literal>saveOrUpdate()</literal> and whenever you retrieve an object using <literal>load()</literal>, <literal>get()</literal>, <literal>list()</literal>, <literal>iterate()</literal> or <literal>scroll()</literal>, that object is added to the internal cache of the <literal>Session</literal>."
 msgstr "캐시들을 관리하기"
 
-#: index.docbook:833
-msgid "When <literal>flush()</literal> is subsequently called, the state of that object will be synchronized with the database. If you do not want this synchronization to occur or if you are processing a huge number of objects and need to manage memory efficiently, the <literal>evict()</literal> method may be used to remove the object and its collections from the first-level cache."
-msgstr "당신이 객체를 <literal>save()</literal>, <literal>update()</literal> 또는 <literal>saveOrUpdate()</literal>에 전달할 때마다 그리고 당신이 <literal>load()</literal>, <literal>get()</literal>, <literal>list()</literal>, <literal>iterate()</literal> 또는 <literal>scroll()</literal>을 사용하여 객체를 검색할 때마다, 그 객체는 <literal>Session</literal>의 내부 캐시에 추가된다."
+#. Tag: para
+#: performance.xml:826
+#, no-c-format
+msgid ""
+"Whenever you pass an object to <literal>save()</literal>, <literal>update()</"
+"literal> or <literal>saveOrUpdate()</literal> and whenever you retrieve an "
+"object using <literal>load()</literal>, <literal>get()</literal>, "
+"<literal>list()</literal>, <literal>iterate()</literal> or <literal>scroll()"
+"</literal>, that object is added to the internal cache of the "
+"<literal>Session</literal>."
+msgstr ""
+"당신이 객체를 <literal>save()</literal>, <literal>update()</literal> 또는 "
+"<literal>saveOrUpdate()</literal>에 전달할 때마다 그리고 당신이 <literal>load"
+"()</literal>, <literal>get()</literal>, <literal>list()</literal>, "
+"<literal>iterate()</literal> 또는 <literal>scroll()</literal>을 사용하여 객체"
+"를 검색할 때마다, 그 객체는 <literal>Session</literal>의 내부 캐시에 추가된"
+"다."
 
-#: index.docbook:841
+#. Tag: para
+#: performance.xml:833
+#, no-c-format
 msgid ""
-      "<![CDATA[ScrollableResult cats = sess.createQuery(\"from Cat as cat\").scroll(); //a huge result set\n"
-      "while ( cats.next() ) {\n"
-      "    Cat cat = (Cat) cats.get(0);\n"
-      "    doSomethingWithACat(cat);\n"
-      "    sess.evict(cat);\n"
-      "}]]>"
-msgstr "<literal>flush()</literal>가 차후적으로 호출될 때, 그 객체의 상태는 데이터베이스와 동기화 될 것이다. 만일 당신이 이 동기화가 발생되는 것을 원하지 않거나 만일 당신이 대량의 객체들을 처리 중이고 메모리를 효율적으로 관리할 필요가 있을 경우, <literal>evict()</literal> 메소드는 first-level 캐시로부터 그 객체와 그것의 콜렉션들을 제거하는데 사용될 수 있다."
+"When <literal>flush()</literal> is subsequently called, the state of that "
+"object will be synchronized with the database. If you do not want this "
+"synchronization to occur or if you are processing a huge number of objects "
+"and need to manage memory efficiently, the <literal>evict()</literal> method "
+"may be used to remove the object and its collections from the first-level "
+"cache."
+msgstr ""
+"<literal>flush()</literal>가 차후적으로 호출될 때, 그 객체의 상태는 데이터베"
+"이스와 동기화 될 것이다. 만일 당신이 이 동기화가 발생되는 것을 원하지 않거나 "
+"만일 당신이 대량의 객체들을 처리 중이고 메모리를 효율적으로 관리할 필요가 있"
+"을 경우, <literal>evict()</literal> 메소드는 first-level 캐시로부터 그 객체"
+"와 그것의 콜렉션들을 제거하는데 사용될 수 있다."
 
-#: index.docbook:843
-msgid "The <literal>Session</literal> also provides a <literal>contains()</literal> method to determine if an instance belongs to the session cache."
+#. Tag: programlisting
+#: performance.xml:841
+#, no-c-format
+msgid ""
+"<![CDATA[ScrollableResult cats = sess.createQuery(\"from Cat as cat\").scroll"
+"(); //a huge result set\n"
+"while ( cats.next() ) {\n"
+"    Cat cat = (Cat) cats.get(0);\n"
+"    doSomethingWithACat(cat);\n"
+"    sess.evict(cat);\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[ScrollableResult cats = sess.createQuery(\"from Cat as cat\").scroll(); //a huge result set\n"
-      "while ( cats.next() ) {\n"
-      "    Cat cat = (Cat) cats.get(0);\n"
-      "    doSomethingWithACat(cat);\n"
-      "    sess.evict(cat);\n"
-      "}]]>"
 
-#: index.docbook:848
-msgid "To completely evict all objects from the session cache, call <literal>Session.clear()</literal>"
-msgstr "<literal>Session</literal>은 또한 인스턴스가 세션 캐시에 속하는지 여부를 결정하는데 <literal>contains()</literal> 메소드를 제공한다."
+#. Tag: para
+#: performance.xml:843
+#, no-c-format
+msgid ""
+"The <literal>Session</literal> also provides a <literal>contains()</literal> "
+"method to determine if an instance belongs to the session cache."
+msgstr ""
+"<literal>Session</literal>은 또한 인스턴스가 세션 캐시에 속하는지 여부를 결정"
+"하는데 <literal>contains()</literal> 메소드를 제공한다."
 
-#: index.docbook:852
-msgid "For the second-level cache, there are methods defined on <literal>SessionFactory</literal> for evicting the cached state of an instance, entire class, collection instance or entire collection role."
-msgstr "세션 캐시로부터 모든 객체들을 완전하게 퇴거시키기 위해, <literal>Session.clear()</literal>를 호출하라."
+#. Tag: para
+#: performance.xml:848
+#, no-c-format
+msgid ""
+"To completely evict all objects from the session cache, call "
+"<literal>Session.clear()</literal>"
+msgstr ""
+"세션 캐시로부터 모든 객체들을 완전하게 퇴거시키기 위해, <literal>Session."
+"clear()</literal>를 호출하라."
 
-#: index.docbook:858
+#. Tag: para
+#: performance.xml:852
+#, no-c-format
 msgid ""
-      "<![CDATA[sessionFactory.evict(Cat.class, catId); //evict a particular Cat\n"
-      "sessionFactory.evict(Cat.class);  //evict all Cats\n"
-      "sessionFactory.evictCollection(\"Cat.kittens\", catId); //evict a particular collection of kittens\n"
-      "sessionFactory.evictCollection(\"Cat.kittens\"); //evict all kitten collections]]>"
-msgstr "second-level 캐시의 경우, 하나의 인스턴스, 전체 클래스, 콜렉션 인스턴스 또는 전체 콜렉션 role의 캐시된 상태를 퇴거시키는 <literal>SessionFactory</literal> 상에 정의된 메소드들이 존재한다."
+"For the second-level cache, there are methods defined on "
+"<literal>SessionFactory</literal> for evicting the cached state of an "
+"instance, entire class, collection instance or entire collection role."
+msgstr ""
+"second-level 캐시의 경우, 하나의 인스턴스, 전체 클래스, 콜렉션 인스턴스 또는 "
+"전체 콜렉션 role의 캐시된 상태를 퇴거시키는 <literal>SessionFactory</"
+"literal> 상에 정의된 메소드들이 존재한다."
 
-#: index.docbook:860
-msgid "The <literal>CacheMode</literal> controls how a particular session interacts with the second-level cache."
+#. Tag: programlisting
+#: performance.xml:858
+#, no-c-format
+msgid ""
+"<![CDATA[sessionFactory.evict(Cat.class, catId); //evict a particular Cat\n"
+"sessionFactory.evict(Cat.class);  //evict all Cats\n"
+"sessionFactory.evictCollection(\"Cat.kittens\", catId); //evict a particular "
+"collection of kittens\n"
+"sessionFactory.evictCollection(\"Cat.kittens\"); //evict all kitten "
+"collections]]>"
 msgstr ""
-      "<![CDATA[sessionFactory.evict(Cat.class, catId); //evict a particular Cat\n"
-      "sessionFactory.evict(Cat.class);  //evict all Cats\n"
-      "sessionFactory.evictCollection(\"Cat.kittens\", catId); //evict a particular collection of kittens\n"
-      "sessionFactory.evictCollection(\"Cat.kittens\"); //evict all kitten collections]]>"
 
-#: index.docbook:867
-msgid "<literal>CacheMode.NORMAL</literal> - read items from and write items to the second-level cache"
-msgstr "<literal>CacheMode</literal>는 특정 세션이 second-level 캐시와 어떻게 상호작용하는지를 제어한다"
+#. Tag: para
+#: performance.xml:860
+#, no-c-format
+msgid ""
+"The <literal>CacheMode</literal> controls how a particular session interacts "
+"with the second-level cache."
+msgstr ""
+"<literal>CacheMode</literal>는 특정 세션이 second-level 캐시와 어떻게 상호작"
+"용하는지를 제어한다"
 
-#: index.docbook:872
-msgid "<literal>CacheMode.GET</literal> - read items from the second-level cache, but don't write to the second-level cache except when updating data"
-msgstr "<literal>CacheMode.NORMAL</literal> - second-level 캐시로부터 아이템들을 읽어들이고 second-level 캐시로 아이템들을 기록한다"
+#. Tag: para
+#: performance.xml:867
+#, no-c-format
+msgid ""
+"<literal>CacheMode.NORMAL</literal> - read items from and write items to the "
+"second-level cache"
+msgstr ""
+"<literal>CacheMode.NORMAL</literal> - second-level 캐시로부터 아이템들을 읽어"
+"들이고 second-level 캐시로 아이템들을 기록한다"
 
-#: index.docbook:878
-msgid "<literal>CacheMode.PUT</literal> - write items to the second-level cache, but don't read from the second-level cache"
-msgstr "<literal>CacheMode.GET</literal> - second-level 캐시로부터 아이템들을 읽어들이지만, 데이터를 업데이트할 때를 제외하면 second-level 캐시로 기록하지 않는다"
+#. Tag: para
+#: performance.xml:872
+#, no-c-format
+msgid ""
+"<literal>CacheMode.GET</literal> - read items from the second-level cache, "
+"but don't write to the second-level cache except when updating data"
+msgstr ""
+"<literal>CacheMode.GET</literal> - second-level 캐시로부터 아이템들을 읽어들"
+"이지만, 데이터를 업데이트할 때를 제외하면 second-level 캐시로 기록하지 않는다"
 
-#: index.docbook:884
-msgid "<literal>CacheMode.REFRESH</literal> - write items to the second-level cache, but don't read from the second-level cache, bypass the effect of <literal>hibernate.cache.use_minimal_puts</literal>, forcing a refresh of the second-level cache for all items read from the database"
-msgstr "<literal>CacheMode.PUT</literal> - 아이템들을 second-level 캐시에 기록하지만, second-level 캐시로부터 읽어들이지 않는다"
+#. Tag: para
+#: performance.xml:878
+#, no-c-format
+msgid ""
+"<literal>CacheMode.PUT</literal> - write items to the second-level cache, "
+"but don't read from the second-level cache"
+msgstr ""
+"<literal>CacheMode.PUT</literal> - 아이템들을 second-level 캐시에 기록하지"
+"만, second-level 캐시로부터 읽어들이지 않는다"
 
-#: index.docbook:892
-msgid "To browse the contents of a second-level or query cache region, use the <literal>Statistics</literal> API:"
-msgstr "<literal>CacheMode.REFRESH</literal> - 아이템들을 second-level 캐시로기록하지만, second-level 캐시로부터 읽어들이지 않고, 데이터베이스로부터 읽어들인 모든 아이템들에 대한 second-level 캐시의 갱신을 강제시켜, <literal>hibernate.cache.use_minimal_puts</literal>의 효과를 무시한다"
+#. Tag: para
+#: performance.xml:884
+#, no-c-format
+msgid ""
+"<literal>CacheMode.REFRESH</literal> - write items to the second-level "
+"cache, but don't read from the second-level cache, bypass the effect of "
+"<literal>hibernate.cache.use_minimal_puts</literal>, forcing a refresh of "
+"the second-level cache for all items read from the database"
+msgstr ""
+"<literal>CacheMode.REFRESH</literal> - 아이템들을 second-level 캐시로기록하지"
+"만, second-level 캐시로부터 읽어들이지 않고, 데이터베이스로부터 읽어들인 모"
+"든 아이템들에 대한 second-level 캐시의 갱신을 강제시켜, <literal>hibernate."
+"cache.use_minimal_puts</literal>의 효과를 무시한다"
 
-#: index.docbook:897
+#. Tag: para
+#: performance.xml:892
+#, no-c-format
 msgid ""
-      "<![CDATA[Map cacheEntries = sessionFactory.getStatistics()\n"
-      "        .getSecondLevelCacheStatistics(regionName)\n"
-      "        .getEntries();]]>"
-msgstr "second-level 캐시 또는 질의 캐시 영역의 내용물을 브라우징하려면 <literal>Statistics</literal> API를 사용하라:"
+"To browse the contents of a second-level or query cache region, use the "
+"<literal>Statistics</literal> API:"
+msgstr ""
+"second-level 캐시 또는 질의 캐시 영역의 내용물을 브라우징하려면 "
+"<literal>Statistics</literal> API를 사용하라:"
 
-#: index.docbook:899
-msgid "You'll need to enable statistics, and, optionally, force Hibernate to keep the cache entries in a more human-understandable format:"
+#. Tag: programlisting
+#: performance.xml:897
+#, no-c-format
+msgid ""
+"<![CDATA[Map cacheEntries = sessionFactory.getStatistics()\n"
+"        .getSecondLevelCacheStatistics(regionName)\n"
+"        .getEntries();]]>"
 msgstr ""
-      "<![CDATA[Map cacheEntries = sessionFactory.getStatistics()\n"
-      "        .getSecondLevelCacheStatistics(regionName)\n"
-      "        .getEntries();]]>"
 
-#: index.docbook:904
+#. Tag: para
+#: performance.xml:899
+#, no-c-format
 msgid ""
-      "<![CDATA[hibernate.generate_statistics true\n"
-      "hibernate.cache.use_structured_entries true]]>"
-msgstr "당신은 통계를 이용 가능하게 하고, 선택적으로 Hibernate로 하여금 캐시 엔트리들을 보다 인간에게 이해가능한 형식으로 유지시키도록 강제시키는 것이 필요할 것이다:"
+"You'll need to enable statistics, and, optionally, force Hibernate to keep "
+"the cache entries in a more human-understandable format:"
+msgstr ""
+"당신은 통계를 이용 가능하게 하고, 선택적으로 Hibernate로 하여금 캐시 엔트리들"
+"을 보다 인간에게 이해가능한 형식으로 유지시키도록 강제시키는 것이 필요할 것이"
+"다:"
 
-#: index.docbook:909
-msgid "The Query Cache"
+#. Tag: programlisting
+#: performance.xml:904
+#, no-c-format
+msgid ""
+"<![CDATA[hibernate.generate_statistics true\n"
+"hibernate.cache.use_structured_entries true]]>"
 msgstr ""
-      "<![CDATA[hibernate.generate_statistics true\n"
-      "hibernate.cache.use_structured_entries true]]>"
 
-#: index.docbook:911
-msgid "Query result sets may also be cached. This is only useful for queries that are run frequently with the same parameters. To use the query cache you must first enable it:"
+#. Tag: title
+#: performance.xml:909
+#, no-c-format
+msgid "The Query Cache"
 msgstr "질의 캐시"
 
-#: index.docbook:916
+#. Tag: para
+#: performance.xml:911
+#, no-c-format
+msgid ""
+"Query result sets may also be cached. This is only useful for queries that "
+"are run frequently with the same parameters. To use the query cache you must "
+"first enable it:"
+msgstr ""
+"질의 결과 셋들이 또한 캐시될 수도 있다. 이것은 동일한 파라미터들을 가지고 자"
+"주 실행되는 질의들에만 유용하다. 질의 캐시를 사용하기 위해 당신은 먼저 그것"
+"을 이용 가능하도록 해야 한다:"
+
+#. Tag: programlisting
+#: performance.xml:916
+#, no-c-format
 msgid "<![CDATA[hibernate.cache.use_query_cache true]]>"
-msgstr "질의 결과 셋들이 또한 캐시될 수도 있다. 이것은 동일한 파라미터들을 가지고 자주 실행되는 질의들에만 유용하다. 질의 캐시를 사용하기 위해 당신은 먼저 그것을 이용 가능하도록 해야 한다:"
+msgstr ""
 
-#: index.docbook:918
-msgid "This setting causes the creation of two new cache regions - one holding cached query result sets (<literal>org.hibernate.cache.StandardQueryCache</literal>), the other holding timestamps of the most recent updates to queryable tables (<literal>org.hibernate.cache.UpdateTimestampsCache</literal>). Note that the query cache does not cache the state of the actual entities in the result set; it caches only identifier values and results of value type. So the query cache should always be used in conjunction with the second-level cache."
-msgstr "<![CDATA[hibernate.cache.use_query_cache true]]>"
+#. Tag: para
+#: performance.xml:918
+#, no-c-format
+msgid ""
+"This setting causes the creation of two new cache regions - one holding "
+"cached query result sets (<literal>org.hibernate.cache.StandardQueryCache</"
+"literal>), the other holding timestamps of the most recent updates to "
+"queryable tables (<literal>org.hibernate.cache.UpdateTimestampsCache</"
+"literal>). Note that the query cache does not cache the state of the actual "
+"entities in the result set; it caches only identifier values and results of "
+"value type. So the query cache should always be used in conjunction with the "
+"second-level cache."
+msgstr ""
+"이 설정은 두 개의 새로운 캐시 영역들 - 캐시된 질의 결과 셋들을 보관하는 것 "
+"(<literal>org.hibernate.cache.StandardQueryCache</literal>), 질의 가능한 테이"
+"블들에 대한 가장 최신 업데이트들에 대한 timestamp들을 보관하는 다른 것 "
+"(<literal>org.hibernate.cache.UpdateTimestampsCache</literal>)-의 생성을 강제"
+"한다 . 질의 캐시는 결과 셋 내에 실제 엔티티들의 상태를 캐시시키지 않음을 노트"
+"하라; 그것은 오직 식별자 값들과 값 타입의 결과들 만을 캐시시킨다. 따라서 질"
+"의 캐시는 항상 second-level 캐시와 함께 사용되어야 한다."
 
-#: index.docbook:928
-msgid "Most queries do not benefit from caching, so by default queries are not cached. To enable caching, call <literal>Query.setCacheable(true)</literal>. This call allows the query to look for existing cache results or add its results to the cache when it is executed."
-msgstr "이 설정은 두 개의 새로운 캐시 영역들 - 캐시된 질의 결과 셋들을 보관하는 것 (<literal>org.hibernate.cache.StandardQueryCache</literal>), 질의 가능한 테이블들에 대한 가장 최신 업데이트들에 대한 timestamp들을 보관하는 다른 것 (<literal>org.hibernate.cache.UpdateTimestampsCache</literal>)-의 생성을 강제한다 . 질의 캐시는 결과 셋 내에 실제 엔티티들의 상태를 캐시시키지 않음을 노트하라; 그것은 오직 식별자 값들과 값 타입의 결과들 만을 캐시시킨다. 따라서 질의 캐시는 항상 second-level 캐시와 함께 사용되어야 한다."
+#. Tag: para
+#: performance.xml:928
+#, no-c-format
+msgid ""
+"Most queries do not benefit from caching, so by default queries are not "
+"cached. To enable caching, call <literal>Query.setCacheable(true)</literal>. "
+"This call allows the query to look for existing cache results or add its "
+"results to the cache when it is executed."
+msgstr ""
+"대부분의 질의들은 캐싱으로부터 이점이 없기에, 디폴트로 질의들은 캐시되지 않는"
+"다. 캐싱을 이용 가능하도록 하려면, <literal>Query.setCacheable(true)</"
+"literal>를 호출하라. 이 호출은 기존 캐시 결과들을 찾는 것을 질의에게 허용해주"
+"거나 질의가 실행될 때 그것의 결과들을 캐시에 추가하는 것을 허용해준다."
 
-#: index.docbook:935
-msgid "If you require fine-grained control over query cache expiration policies, you may specify a named cache region for a particular query by calling <literal>Query.setCacheRegion()</literal>."
-msgstr "대부분의 질의들은 캐싱으로부터 이점이 없기에, 디폴트로 질의들은 캐시되지 않는다. 캐싱을 이용 가능하도록 하려면, <literal>Query.setCacheable(true)</literal>를 호출하라. 이 호출은 기존 캐시 결과들을 찾는 것을 질의에게 허용해주거나 질의가 실행될 때 그것의 결과들을 캐시에 추가하는 것을 허용해준다."
+#. Tag: para
+#: performance.xml:935
+#, no-c-format
+msgid ""
+"If you require fine-grained control over query cache expiration policies, "
+"you may specify a named cache region for a particular query by calling "
+"<literal>Query.setCacheRegion()</literal>."
+msgstr ""
+"만일 당신이 질의 캐시 만료 정책들에 대한 세밀한 제어를 필요로 할 경우, 당신"
+"은 <literal>Query.setCacheRegion()</literal>을 호출함으로써 특별한 질의에 대"
+"해 명명되니 캐시 영역을 지정할 수도 있다."
 
-#: index.docbook:941
+#. Tag: programlisting
+#: performance.xml:941
+#, no-c-format
 msgid ""
-      "<![CDATA[List blogs = sess.createQuery(\"from Blog blog where blog.blogger = :blogger\")\n"
-      "    .setEntity(\"blogger\", blogger)\n"
-      "    .setMaxResults(15)\n"
-      "    .setCacheable(true)\n"
-      "    .setCacheRegion(\"frontpages\")\n"
-      "    .list();]]>"
-msgstr "만일 당신이 질의 캐시 만료 정책들에 대한 세밀한 제어를 필요로 할 경우, 당신은 <literal>Query.setCacheRegion()</literal>을 호출함으로써 특별한 질의에 대해 명명되니 캐시 영역을 지정할 수도 있다."
+"<![CDATA[List blogs = sess.createQuery(\"from Blog blog where blog.blogger "
+"= :blogger\")\n"
+"    .setEntity(\"blogger\", blogger)\n"
+"    .setMaxResults(15)\n"
+"    .setCacheable(true)\n"
+"    .setCacheRegion(\"frontpages\")\n"
+"    .list();]]>"
+msgstr ""
 
-#: index.docbook:943
-msgid "If the query should force a refresh of its query cache region, you should call <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. This is particularly useful in cases where underlying data may have been updated via a separate process (i.e., not modified through Hibernate) and allows the application to selectively refresh particular query result sets. This is a more efficient alternative to eviction of a query cache region via <literal>SessionFactory.evictQueries()</literal>."
+#. Tag: para
+#: performance.xml:943
+#, no-c-format
+msgid ""
+"If the query should force a refresh of its query cache region, you should "
+"call <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. This is "
+"particularly useful in cases where underlying data may have been updated via "
+"a separate process (i.e., not modified through Hibernate) and allows the "
+"application to selectively refresh particular query result sets. This is a "
+"more efficient alternative to eviction of a query cache region via "
+"<literal>SessionFactory.evictQueries()</literal>."
 msgstr ""
-      "<![CDATA[List blogs = sess.createQuery(\"from Blog blog where blog.blogger = :blogger\")\n"
-      "    .setEntity(\"blogger\", blogger)\n"
-      "    .setMaxResults(15)\n"
-      "    .setCacheable(true)\n"
-      "    .setCacheRegion(\"frontpages\")\n"
-      "    .list();]]>"
+"만일 질의가 그것의 질의 캐시 영역의 갱신을 강제시켜야 하는 경우에, 당신은 "
+"<literal>Query.setCacheMode(CacheMode.REFRESH)</literal>를 호출해야 한다. 이"
+"것은 기본 데이터가 별도의 프로세스를 통해 업데이트되었고(예를 들면, Hibernate"
+"를 통해 변경되지 않았고) 특정 질의 결과 셋들을 선택적으로 갱신하는 것을 어플"
+"리케이션에게 허용해주는 경우들에서 특별히 유용하다. 이것은 "
+"<literal>SessionFactory.evictQueries()</literal>를 통해 질의 캐시 영역을 퇴거"
+"시키는 보다 효과적인 대안이다."
 
-#: index.docbook:955
+#. Tag: title
+#: performance.xml:955
+#, no-c-format
 msgid "Understanding Collection performance"
-msgstr "만일 질의가 그것의 질의 캐시 영역의 갱신을 강제시켜야 하는 경우에, 당신은 <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>를 호출해야 한다. 이것은 기본 데이터가 별도의 프로세스를 통해 업데이트되었고(예를 들면, Hibernate를 통해 변경되지 않았고) 특정 질의 결과 셋들을 선택적으로 갱신하는 것을 어플리케이션에게 허용해주는 경우들에서 특별히 유용하다. 이것은 <literal>SessionFactory.evictQueries()</literal>를 통해 질의 캐시 영역을 퇴거시키는 보다 효과적인 대안이다."
-
-#: index.docbook:957
-msgid "We've already spent quite some time talking about collections. In this section we will highlight a couple more issues about how collections behave at runtime."
 msgstr "콜렉션 퍼포먼스 이해하기"
 
-#: index.docbook:964
+#. Tag: para
+#: performance.xml:957
+#, no-c-format
+msgid ""
+"We've already spent quite some time talking about collections. In this "
+"section we will highlight a couple more issues about how collections behave "
+"at runtime."
+msgstr ""
+"우리는이미 콜렉션들에 관해 얘기하는데 꽤 많은 시간을 소요했다. 이 절에서 우리"
+"는 콜렉션들이 실행 시에 어떻게 행위하는지에 관한 한 쌍의 쟁점들을 조명할 것이"
+"다."
+
+#. Tag: title
+#: performance.xml:964
+#, no-c-format
 msgid "Taxonomy"
-msgstr "우리는이미 콜렉션들에 관해 얘기하는데 꽤 많은 시간을 소요했다. 이 절에서 우리는 콜렉션들이 실행 시에 어떻게 행위하는지에 관한 한 쌍의 쟁점들을 조명할 것이다."
+msgstr "분류"
 
-#: index.docbook:966
+#. Tag: para
+#: performance.xml:966
+#, no-c-format
 msgid "Hibernate defines three basic kinds of collections:"
-msgstr "<title>분류</title>"
+msgstr "Hibernate는 세 가지 기본적인 종류의 콜렉션들을 정의한다:"
 
-#: index.docbook:970
+#. Tag: para
+#: performance.xml:970
+#, no-c-format
 msgid "collections of values"
-msgstr "Hibernate는 세 가지 기본적인 종류의 콜렉션들을 정의한다:"
+msgstr "값들을 가진 콜렉션들"
 
-#: index.docbook:973
+#. Tag: para
+#: performance.xml:973
+#, no-c-format
 msgid "one to many associations"
-msgstr "값들을 가진 콜렉션들"
+msgstr "one to many 연관들"
 
-#: index.docbook:976
+#. Tag: para
+#: performance.xml:976
+#, no-c-format
 msgid "many to many associations"
-msgstr "one to many 연관들"
-
-#: index.docbook:980
-msgid "This classification distinguishes the various table and foreign key relationships but does not tell us quite everything we need to know about the relational model. To fully understand the relational structure and performance characteristics, we must also consider the structure of the primary key that is used by Hibernate to update or delete collection rows. This suggests the following classification:"
 msgstr "many to many 연관들"
 
-#: index.docbook:991
+#. Tag: para
+#: performance.xml:980
+#, no-c-format
+msgid ""
+"This classification distinguishes the various table and foreign key "
+"relationships but does not tell us quite everything we need to know about "
+"the relational model. To fully understand the relational structure and "
+"performance characteristics, we must also consider the structure of the "
+"primary key that is used by Hibernate to update or delete collection rows. "
+"This suggests the following classification:"
+msgstr ""
+"이 분류는 여러 가지 테이블과 foreign key 관계들을 구별짓지만 우리가 관계형 모"
+"형에 대해 알 필요가 있는 모든 것을 우리에게 말해주지 않는다. 관계형 구조와 퍼"
+"포먼스 특징들을 완전하게 이해하기 위해, 우리는 또한 콜렉션 행들을 업데이트하"
+"거나 삭제하기 위해 Hibernate에 의해 사용되는 프라이머리 키의 구조를 검토해야 "
+"한다. 이것은 다음 분류를 제안한다:"
+
+#. Tag: para
+#: performance.xml:991
+#, no-c-format
 msgid "indexed collections"
-msgstr "이 분류는 여러 가지 테이블과 foreign key 관계들을 구별짓지만 우리가 관계형 모형에 대해 알 필요가 있는 모든 것을 우리에게 말해주지 않는다. 관계형 구조와 퍼포먼스 특징들을 완전하게 이해하기 위해, 우리는 또한 콜렉션 행들을 업데이트하거나 삭제하기 위해 Hibernate에 의해 사용되는 프라이머리 키의 구조를 검토해야 한다. 이것은 다음 분류를 제안한다:"
+msgstr "인덱싱 된 콜렉션들"
 
-#: index.docbook:994
+#. Tag: para
+#: performance.xml:994
+#, no-c-format
 msgid "sets"
-msgstr "인덱싱 된 콜렉션들"
+msgstr "set들"
 
-#: index.docbook:997
+#. Tag: para
+#: performance.xml:997
+#, no-c-format
 msgid "bags"
-msgstr "set들"
-
-#: index.docbook:1001
-msgid "All indexed collections (maps, lists, arrays) have a primary key consisting of the <literal>&lt;key&gt;</literal> and <literal>&lt;index&gt;</literal> columns. In this case collection updates are usually extremely efficient - the primary key may be efficiently indexed and a particular row may be efficiently located when Hibernate tries to update or delete it."
 msgstr "bag들"
 
-#: index.docbook:1009
-msgid "Sets have a primary key consisting of <literal>&lt;key&gt;</literal> and element columns. This may be less efficient for some types of collection element, particularly composite elements or large text or binary fields; the database may not be able to index a complex primary key as efficently. On the other hand, for one to many or many to many associations, particularly in the case of synthetic identifiers, it is likely to be just as efficient. (Side-note: if you want <literal>SchemaExport</literal> to actually create the primary key of a <literal>&lt;set&gt;</literal> for you, you must declare all columns as <literal>not-null=\"true\"</literal>.)"
-msgstr "모든 인덱싱된 콜렉션들(map들, list들, array들)은 <literal>&lt;key&gt;</literal>와 <literal>&lt;index&gt;</literal> 컬럼들로 이루어진 프라이머리 키를 갖는다. 이 경우에 콜렉션 업데이트들은 대개 극히 효율적이다 - Hibernate가 그것을 업데이트나 삭제를 시도할 때 프라이머리 키는 효율적으로 인덱싱될 수 있고 특정 행은 효율적으로 위치지워질 수 있다."
+#. Tag: para
+#: performance.xml:1001
+#, no-c-format
+msgid ""
+"All indexed collections (maps, lists, arrays) have a primary key consisting "
+"of the <literal>&lt;key&gt;</literal> and <literal>&lt;index&gt;</literal> "
+"columns. In this case collection updates are usually extremely efficient - "
+"the primary key may be efficiently indexed and a particular row may be "
+"efficiently located when Hibernate tries to update or delete it."
+msgstr ""
+"모든 인덱싱된 콜렉션들(map들, list들, array들)은 <literal>&lt;key&gt;</"
+"literal>와 <literal>&lt;index&gt;</literal> 컬럼들로 이루어진 프라이머리 키"
+"를 갖는다. 이 경우에 콜렉션 업데이트들은 대개 극히 효율적이다 - Hibernate가 "
+"그것을 업데이트나 삭제를 시도할 때 프라이머리 키는 효율적으로 인덱싱될 수 있"
+"고 특정 행은 효율적으로 위치지워질 수 있다."
 
-#: index.docbook:1020
-msgid "<literal>&lt;idbag&gt;</literal> mappings define a surrogate key, so they are always very efficient to update. In fact, they are the best case."
-msgstr "Set들은 <literal>&lt;key&gt;</literal>와 요소 컬럼들로 구성된 프라이머리 키를 갖는다. 이것은 몇몇 유형의 콜렉션 요소, 특히 composite 요소들 또는 대형 텍스트 또는 바이너리 필드들에 대해 덜 효율적일 수 있다; 데이터베이스는 복잡한 프라이머리 키를 효율적으로 인덱싱하는 것이 불가능할 수도 있다. 반면에 one to many 또는 many to many 연관들의 경우, 특히 합성 식별자들의 경우에는 효율적일 수 있을 것 같다.(부수-노트: 만일 당신이 당신을 위한 <literal>&lt;set&gt;</literal>의 프라이머리 키를 실제로 생성시키기 위해 <literal>SchemaExport</literal>를 원한다면 당신은 모든 컬럼들을 <literal>not-null=\"true\"</literal>로 선언해야 한다.)"
+#. Tag: para
+#: performance.xml:1009
+#, no-c-format
+msgid ""
+"Sets have a primary key consisting of <literal>&lt;key&gt;</literal> and "
+"element columns. This may be less efficient for some types of collection "
+"element, particularly composite elements or large text or binary fields; the "
+"database may not be able to index a complex primary key as efficently. On "
+"the other hand, for one to many or many to many associations, particularly "
+"in the case of synthetic identifiers, it is likely to be just as efficient. "
+"(Side-note: if you want <literal>SchemaExport</literal> to actually create "
+"the primary key of a <literal>&lt;set&gt;</literal> for you, you must "
+"declare all columns as <literal>not-null=\"true\"</literal>.)"
+msgstr ""
+"Set들은 <literal>&lt;key&gt;</literal>와 요소 컬럼들로 구성된 프라이머리 키"
+"를 갖는다. 이것은 몇몇 유형의 콜렉션 요소, 특히 composite 요소들 또는 대형 텍"
+"스트 또는 바이너리 필드들에 대해 덜 효율적일 수 있다; 데이터베이스는 복잡한 "
+"프라이머리 키를 효율적으로 인덱싱하는 것이 불가능할 수도 있다. 반면에 one to "
+"many 또는 many to many 연관들의 경우, 특히 합성 식별자들의 경우에는 효율적일 "
+"수 있을 것 같다.(부수-노트: 만일 당신이 당신을 위한 <literal>&lt;set&gt;</"
+"literal>의 프라이머리 키를 실제로 생성시키기 위해 <literal>SchemaExport</"
+"literal>를 원한다면 당신은 모든 컬럼들을 <literal>not-null=\"true\"</literal>"
+"로 선언해야 한다.)"
 
-#: index.docbook:1025
-msgid "Bags are the worst case. Since a bag permits duplicate element values and has no index column, no primary key may be defined. Hibernate has no way of distinguishing between duplicate rows. Hibernate resolves this problem by completely removing (in a single <literal>DELETE</literal>) and recreating the collection whenever it changes. This might be very inefficient."
-msgstr "<literal>&lt;idbag&gt;</literal> 매핑들은 대용 키를 정의하여서, 그것들은 항상 업데이트에 매우 효율적이다. 사실, 그것들은 최상의 경우이다."
+#. Tag: para
+#: performance.xml:1020
+#, no-c-format
+msgid ""
+"<literal>&lt;idbag&gt;</literal> mappings define a surrogate key, so they "
+"are always very efficient to update. In fact, they are the best case."
+msgstr ""
+"<literal>&lt;idbag&gt;</literal> 매핑들은 대용 키를 정의하여서, 그것들은 항"
+"상 업데이트에 매우 효율적이다. 사실, 그것들은 최상의 경우이다."
 
-#: index.docbook:1033
-msgid "Note that for a one-to-many association, the \"primary key\" may not be the physical primary key of the database table - but even in this case, the above classification is still useful. (It still reflects how Hibernate \"locates\" individual rows of the collection.)"
-msgstr "Bag들은 가장 나쁜 경우이다. 왜냐하면 하나의 bag은 중복 요소 값들을 허용하고 인덱스 컬럼을 갖지 않기 때문에, 프라이머리 키가 정의될 수 없다. Hibernate는 중복 행들 사이를 구분 짓는 방법을 갖고 있지 않다. Hibernate는 그것이 변경될 때마다 (한 개의 DELETE로) 콜렉션을 완전하게 제거하고 다시 생성시킴으로써 이 문제를 해결한다. 이것은 매우 비효율적이다."
+#. Tag: para
+#: performance.xml:1025
+#, no-c-format
+msgid ""
+"Bags are the worst case. Since a bag permits duplicate element values and "
+"has no index column, no primary key may be defined. Hibernate has no way of "
+"distinguishing between duplicate rows. Hibernate resolves this problem by "
+"completely removing (in a single <literal>DELETE</literal>) and recreating "
+"the collection whenever it changes. This might be very inefficient."
+msgstr ""
+"Bag들은 가장 나쁜 경우이다. 왜냐하면 하나의 bag은 중복 요소 값들을 허용하고 "
+"인덱스 컬럼을 갖지 않기 때문에, 프라이머리 키가 정의될 수 없다. Hibernate는 "
+"중복 행들 사이를 구분 짓는 방법을 갖고 있지 않다. Hibernate는 그것이 변경될 "
+"때마다 (한 개의 DELETE로) 콜렉션을 완전하게 제거하고 다시 생성시킴으로써 이 "
+"문제를 해결한다. 이것은 매우 비효율적이다."
 
-#: index.docbook:1043
-msgid "Lists, maps, idbags and sets are the most efficient collections to update"
-msgstr "one-to-many 연관의 경우, \"프라이머리 키\"는 데이터베이스 테이블의 물리적인 프라이머리 키가 아닐 수도 있지만- 이 경우에서도 위의 분류는 여전히 유용하다. (그것은 여전히 Hibernate가 콜렉션의 개별 행들을 어떻게 \"위치지우는\"지를 반영한다.)"
+#. Tag: para
+#: performance.xml:1033
+#, no-c-format
+msgid ""
+"Note that for a one-to-many association, the \"primary key\" may not be the "
+"physical primary key of the database table - but even in this case, the "
+"above classification is still useful. (It still reflects how Hibernate "
+"\"locates\" individual rows of the collection.)"
+msgstr ""
+"one-to-many 연관의 경우, \"프라이머리 키\"는 데이터베이스 테이블의 물리적인 "
+"프라이머리 키가 아닐 수도 있지만- 이 경우에서도 위의 분류는 여전히 유용하다. "
+"(그것은 여전히 Hibernate가 콜렉션의 개별 행들을 어떻게 \"위치지우는\"지를 반"
+"영한다.)"
 
-#: index.docbook:1045
-msgid "From the discussion above, it should be clear that indexed collections and (usually) sets allow the most efficient operation in terms of adding, removing and updating elements."
+#. Tag: title
+#: performance.xml:1043
+#, no-c-format
+msgid ""
+"Lists, maps, idbags and sets are the most efficient collections to update"
 msgstr "List, map, idbag, set들은 update에 가장 효율적인 콜렉션들이다"
 
-#: index.docbook:1051
-msgid "There is, arguably, one more advantage that indexed collections have over sets for many to many associations or collections of values. Because of the structure of a <literal>Set</literal>, Hibernate doesn't ever <literal>UPDATE</literal> a row when an element is \"changed\". Changes to a <literal>Set</literal> always work via <literal>INSERT</literal> and <literal>DELETE</literal> (of individual rows). Once again, this consideration does not apply to one to many associations."
-msgstr "위의 논의에서, 인덱싱된 콜렉션들과 (대개) set들이 요소들을 추가하고, 제거하고 업데이트함에 있어 가장 효율적인 오퍼레이션을 허용해준다."
+#. Tag: para
+#: performance.xml:1045
+#, no-c-format
+msgid ""
+"From the discussion above, it should be clear that indexed collections and "
+"(usually) sets allow the most efficient operation in terms of adding, "
+"removing and updating elements."
+msgstr ""
+"위의 논의에서, 인덱싱된 콜렉션들과 (대개) set들이 요소들을 추가하고, 제거하"
+"고 업데이트함에 있어 가장 효율적인 오퍼레이션을 허용해준다."
 
-#: index.docbook:1060
-msgid "After observing that arrays cannot be lazy, we would conclude that lists, maps and idbags are the most performant (non-inverse) collection types, with sets not far behind. Sets are expected to be the most common kind of collection in Hibernate applications. This is because the \"set\" semantics are most natural in the relational model."
-msgstr "아마 인덱싱 된 콜렉션들이 many to many 연관들을 위한 또는 값들을 가진 콜렉션들을 위한 set들에 대해 갖고 있는 하나 이상의 장점들이 존재한다. <literal>Set</literal>의 구조 때문에, Hibernate는 요소가 \"변경\"될 때 행을 <literal>UPDATE</literal> 하지 않는다. <literal>Set</literal>에 대한 변경들은 항상 (개별 행들에 대한) <literal>INSERT</literal>와 <literal>DELETE</literal>를 통해 동작한다. 다시 이 검토는 one to many 연관들에 적용되지 않는다."
+#. Tag: para
+#: performance.xml:1051
+#, no-c-format
+msgid ""
+"There is, arguably, one more advantage that indexed collections have over "
+"sets for many to many associations or collections of values. Because of the "
+"structure of a <literal>Set</literal>, Hibernate doesn't ever "
+"<literal>UPDATE</literal> a row when an element is \"changed\". Changes to a "
+"<literal>Set</literal> always work via <literal>INSERT</literal> and "
+"<literal>DELETE</literal> (of individual rows). Once again, this "
+"consideration does not apply to one to many associations."
+msgstr ""
+"아마 인덱싱 된 콜렉션들이 many to many 연관들을 위한 또는 값들을 가진 콜렉션"
+"들을 위한 set들에 대해 갖고 있는 하나 이상의 장점들이 존재한다. "
+"<literal>Set</literal>의 구조 때문에, Hibernate는 요소가 \"변경\"될 때 행을 "
+"<literal>UPDATE</literal> 하지 않는다. <literal>Set</literal>에 대한 변경들"
+"은 항상 (개별 행들에 대한) <literal>INSERT</literal>와 <literal>DELETE</"
+"literal>를 통해 동작한다. 다시 이 검토는 one to many 연관들에 적용되지 않는"
+"다."
 
-#: index.docbook:1068
-msgid "However, in well-designed Hibernate domain models, we usually see that most collections are in fact one-to-many associations with <literal>inverse=\"true\"</literal>. For these associations, the update is handled by the many-to-one end of the association, and so considerations of collection update performance simply do not apply."
-msgstr "배열들이 lazy 될 수 없음을 관찰 한 후에, 우리는 list들, map들, 그리고 idbag들이 단독이 아닌 set들을 가진 가장 퍼포먼스가 좋은(non-inverse) 콜렉션 타입들임을 결론 지을 것이다. Set들은 Hibernate 어플리케이션들에서 가장 공통된 종류의 콜렉션이 될 것이라 예상된다. 이것은 \"set\" 의미가 관계형 모형에서 가장 고유한 것이기 때문이다."
+#. Tag: para
+#: performance.xml:1060
+#, no-c-format
+msgid ""
+"After observing that arrays cannot be lazy, we would conclude that lists, "
+"maps and idbags are the most performant (non-inverse) collection types, with "
+"sets not far behind. Sets are expected to be the most common kind of "
+"collection in Hibernate applications. This is because the \"set\" semantics "
+"are most natural in the relational model."
+msgstr ""
+"배열들이 lazy 될 수 없음을 관찰 한 후에, 우리는 list들, map들, 그리고 idbag들"
+"이 단독이 아닌 set들을 가진 가장 퍼포먼스가 좋은(non-inverse) 콜렉션 타입들임"
+"을 결론 지을 것이다. Set들은 Hibernate 어플리케이션들에서 가장 공통된 종류의 "
+"콜렉션이 될 것이라 예상된다. 이것은 \"set\" 의미가 관계형 모형에서 가장 고유"
+"한 것이기 때문이다."
 
-#: index.docbook:1078
+#. Tag: para
+#: performance.xml:1068
+#, no-c-format
+msgid ""
+"However, in well-designed Hibernate domain models, we usually see that most "
+"collections are in fact one-to-many associations with <literal>inverse=\"true"
+"\"</literal>. For these associations, the update is handled by the many-to-"
+"one end of the association, and so considerations of collection update "
+"performance simply do not apply."
+msgstr ""
+"하지만, 잘 설계된 Hibernate 도메인 모형들에서, 우리는 대개 대부분의 콜렉션들"
+"이 사실 <literal>inverse=\"true\"</literal>를 가진 one-to-many 연관들임을 보"
+"게 된다. 이들 연관들의 경우, 업데이트는 연관의 many-to-one 엔드에 의해 처리되"
+"고, 따라서 콜렉션 업데이트 퍼포먼스에 대한 검토들은 단순히 적용되지 않는다."
+
+#. Tag: title
+#: performance.xml:1078
+#, no-c-format
 msgid "Bags and lists are the most efficient inverse collections"
-msgstr "하지만, 잘 설계된 Hibernate 도메인 모형들에서, 우리는 대개 대부분의 콜렉션들이 사실 <literal>inverse=\"true\"</literal>를 가진 one-to-many 연관들임을 보게 된다. 이들 연관들의 경우, 업데이트는 연관의 many-to-one 엔드에 의해 처리되고, 따라서 콜렉션 업데이트 퍼포먼스에 대한 검토들은 단순히 적용되지 않는다."
-
-#: index.docbook:1080
-msgid "Just before you ditch bags forever, there is a particular case in which bags (and also lists) are much more performant than sets. For a collection with <literal>inverse=\"true\"</literal> (the standard bidirectional one-to-many relationship idiom, for example) we can add elements to a bag or list without needing to initialize (fetch) the bag elements! This is because <literal>Collection.add()</literal> or <literal>Collection.addAll()</literal> must always return true for a bag or <literal>List</literal> (unlike a <literal>Set</literal>). This can make the following common code much faster."
 msgstr "Bag들과 list들은 가장 효율적인 inverse 콜렉션들이다"
 
-#: index.docbook:1090
+#. Tag: para
+#: performance.xml:1080
+#, no-c-format
 msgid ""
-      "<![CDATA[Parent p = (Parent) sess.load(Parent.class, id);\n"
-      "Child c = new Child();\n"
-      "c.setParent(p);\n"
-      "p.getChildren().add(c);  //no need to fetch the collection!\n"
-      "sess.flush();]]>"
-msgstr "단지 당신이 영원히 bag들을 버리기 전에, bag들(과 또한 list들)이 set들보다 훨씬 더 성능이 좋은 특별한 경우들이 존재한다. <literal>inverse=\"true\"</literal>를 가진 콜렉션들(예를 들어, 표준 양방향 one-to-many 관계 특질)의 경우, 우리는 bag 요소들을 초기화(페치) 시킬 필요 없이 bag 또는 list에 요소들을 추가시킬 수 있다! 이것은 <literal>Collection.add()</literal> 또는 <literal>Collection.addAll()</literal>이 (<literal>Set</literal>과는 달리) 항상 bag 또는 <literal>List</literal>에 대해 true를 반환해야하기 때문이다. 이것은 훨씬 다음 공통적인 코드를 더 빠르게 만들 수 있다."
+"Just before you ditch bags forever, there is a particular case in which bags "
+"(and also lists) are much more performant than sets. For a collection with "
+"<literal>inverse=\"true\"</literal> (the standard bidirectional one-to-many "
+"relationship idiom, for example) we can add elements to a bag or list "
+"without needing to initialize (fetch) the bag elements! This is because "
+"<literal>Collection.add()</literal> or <literal>Collection.addAll()</"
+"literal> must always return true for a bag or <literal>List</literal> "
+"(unlike a <literal>Set</literal>). This can make the following common code "
+"much faster."
+msgstr ""
+"단지 당신이 영원히 bag들을 버리기 전에, bag들(과 또한 list들)이 set들보다 훨"
+"씬 더 성능이 좋은 특별한 경우들이 존재한다. <literal>inverse=\"true\"</"
+"literal>를 가진 콜렉션들(예를 들어, 표준 양방향 one-to-many 관계 특질)의 경"
+"우, 우리는 bag 요소들을 초기화(페치) 시킬 필요 없이 bag 또는 list에 요소들을 "
+"추가시킬 수 있다! 이것은 <literal>Collection.add()</literal> 또는 "
+"<literal>Collection.addAll()</literal>이 (<literal>Set</literal>과는 달리) 항"
+"상 bag 또는 <literal>List</literal>에 대해 true를 반환해야하기 때문이다. 이것"
+"은 훨씬 다음 공통적인 코드를 더 빠르게 만들 수 있다."
 
-#: index.docbook:1095
-msgid "One shot delete"
+#. Tag: programlisting
+#: performance.xml:1090
+#, no-c-format
+msgid ""
+"<![CDATA[Parent p = (Parent) sess.load(Parent.class, id);\n"
+"Child c = new Child();\n"
+"c.setParent(p);\n"
+"p.getChildren().add(c);  //no need to fetch the collection!\n"
+"sess.flush();]]>"
 msgstr ""
-      "<![CDATA[Parent p = (Parent) sess.load(Parent.class, id);\n"
-      "Child c = new Child();\n"
-      "c.setParent(p);\n"
-      "p.getChildren().add(c);  //no need to fetch the collection!\n"
-      "sess.flush();]]>"
 
-#: index.docbook:1097
-msgid "Occasionally, deleting collection elements one by one can be extremely inefficient. Hibernate isn't completely stupid, so it knows not to do that in the case of an newly-empty collection (if you called <literal>list.clear()</literal>, for example). In this case, Hibernate will issue a single <literal>DELETE</literal> and we are done!"
+#. Tag: title
+#: performance.xml:1095
+#, no-c-format
+msgid "One shot delete"
 msgstr "원 샷 delete"
 
-#: index.docbook:1104
-msgid "Suppose we add a single element to a collection of size twenty and then remove two elements. Hibernate will issue one <literal>INSERT</literal> statement and two <literal>DELETE</literal> statements (unless the collection is a bag). This is certainly desirable."
-msgstr "종종 콜렉션 요소들을 하나씩 삭제하는 것은 극히 비효율적일 수 있다! Hibernate는 완전하게 바보가 아니어서, 그것은 새로운 공백의 콜렉션의 경우(예를 들어 당신이 <literal>list.clear()</literal>를 호출했을 경우)에 그것을 행하지 않을 것임을 알고 있다. 이 경우에, Hibernate는 하나의 <literal>DELETE</literal> 명령을 내릴 것이고 우리는 모두 행했다!"
+#. Tag: para
+#: performance.xml:1097
+#, no-c-format
+msgid ""
+"Occasionally, deleting collection elements one by one can be extremely "
+"inefficient. Hibernate isn't completely stupid, so it knows not to do that "
+"in the case of an newly-empty collection (if you called <literal>list.clear()"
+"</literal>, for example). In this case, Hibernate will issue a single "
+"<literal>DELETE</literal> and we are done!"
+msgstr ""
+"종종 콜렉션 요소들을 하나씩 삭제하는 것은 극히 비효율적일 수 있다! Hibernate"
+"는 완전하게 바보가 아니어서, 그것은 새로운 공백의 콜렉션의 경우(예를 들어 당"
+"신이 <literal>list.clear()</literal>를 호출했을 경우)에 그것을 행하지 않을 것"
+"임을 알고 있다. 이 경우에, Hibernate는 하나의 <literal>DELETE</literal> 명령"
+"을 내릴 것이고 우리는 모두 행했다!"
 
-#: index.docbook:1110
-msgid "However, suppose that we remove eighteen elements, leaving two and then add thee new elements. There are two possible ways to proceed"
-msgstr "우리가 길이 20인 하나의 콜렉션에 한 개의 요소를 추가하고 그런 다음 두 개의 요소들을 제거한다고 가정하자. Hibernate는 (콜렉션이 bag가 아닌 한) 한 개의 <literal>INSERT</literal> 문장과 두 개의 <literal>DELETE</literal> 문장을 명령 내릴 것이다. 이것은 확실히 마음에 든다."
+#. Tag: para
+#: performance.xml:1104
+#, no-c-format
+msgid ""
+"Suppose we add a single element to a collection of size twenty and then "
+"remove two elements. Hibernate will issue one <literal>INSERT</literal> "
+"statement and two <literal>DELETE</literal> statements (unless the "
+"collection is a bag). This is certainly desirable."
+msgstr ""
+"우리가 길이 20인 하나의 콜렉션에 한 개의 요소를 추가하고 그런 다음 두 개의 요"
+"소들을 제거한다고 가정하자. Hibernate는 (콜렉션이 bag가 아닌 한) 한 개의 "
+"<literal>INSERT</literal> 문장과 두 개의 <literal>DELETE</literal> 문장을 명"
+"령 내릴 것이다. 이것은 확실히 마음에 든다."
 
-#: index.docbook:1117
+#. Tag: para
+#: performance.xml:1110
+#, no-c-format
+msgid ""
+"However, suppose that we remove eighteen elements, leaving two and then add "
+"thee new elements. There are two possible ways to proceed"
+msgstr ""
+"하지만, 우리가 두 개의 요소들을 남겨둔채 18 개의 요소들을 제거하고 나서 세 개"
+"의 새로운 요소들을 추가한다고 가정하자. 두 가지 가능한 처리 방법들이 존재한"
+"다."
+
+#. Tag: para
+#: performance.xml:1117
+#, no-c-format
 msgid "delete eighteen rows one by one and then insert three rows"
-msgstr "하지만, 우리가 두 개의 요소들을 남겨둔채 18 개의 요소들을 제거하고 나서 세 개의 새로운 요소들을 추가한다고 가정하자. 두 가지 가능한 처리 방법들이 존재한다."
-
-#: index.docbook:1120
-msgid "remove the whole collection (in one SQL <literal>DELETE</literal>) and insert all five current elements (one by one)"
 msgstr "하나씩 열 여덟 개의 행들을 삭제한 다음에 세 개의 행들을 삽입시킨다"
 
-#: index.docbook:1125
-msgid "Hibernate isn't smart enough to know that the second option is probably quicker in this case. (And it would probably be undesirable for Hibernate to be that smart; such behaviour might confuse database triggers, etc.)"
-msgstr "(한 개의 SQL <literal>DELETE</literal>로)전체 콜렉션을 삭제하고 모든 다섯개의 현재 요소들을 (하나씩) insert 시킨다"
+#. Tag: para
+#: performance.xml:1120
+#, no-c-format
+msgid ""
+"remove the whole collection (in one SQL <literal>DELETE</literal>) and "
+"insert all five current elements (one by one)"
+msgstr ""
+"(한 개의 SQL <literal>DELETE</literal>로)전체 콜렉션을 삭제하고 모든 다섯개"
+"의 현재 요소들을 (하나씩) insert 시킨다"
 
-#: index.docbook:1131
-msgid "Fortunately, you can force this behaviour (ie. the second strategy) at any time by discarding (ie. dereferencing) the original collection and returning a newly instantiated collection with all the current elements. This can be very useful and powerful from time to time."
-msgstr "Hibernate는 두 번째 옵션이 아마 이 경우에 더 빠르다는 점을 알 만큼 충분히 영리하지 않다.(그리고 Hibernate가 그렇게 영리해지는 것을 희망 하는 것은 가능하지 않을 것이다; 그런 특징은 데이터베이스 트리거들 등을 혼동스럽게 할 수도 있다.)"
+#. Tag: para
+#: performance.xml:1125
+#, no-c-format
+msgid ""
+"Hibernate isn't smart enough to know that the second option is probably "
+"quicker in this case. (And it would probably be undesirable for Hibernate to "
+"be that smart; such behaviour might confuse database triggers, etc.)"
+msgstr ""
+"Hibernate는 두 번째 옵션이 아마 이 경우에 더 빠르다는 점을 알 만큼 충분히 영"
+"리하지 않다.(그리고 Hibernate가 그렇게 영리해지는 것을 희망 하는 것은 가능하"
+"지 않을 것이다; 그런 특징은 데이터베이스 트리거들 등을 혼동스럽게 할 수도 있"
+"다.)"
 
-#: index.docbook:1137
-msgid "Of course, one-shot-delete does not apply to collections mapped <literal>inverse=\"true\"</literal>."
-msgstr "다행히, 당신은 원래의 콜렉션을 폐기시키고(예를 들어 참조 해제하고) 모든 현재 요소들을 가진 새로이 초기화된 콜렉션을 반환함으로써 아무때든지 이 특징을 강제시킬 수 있다. 이것은 시간이 흐름에 따라 매우 유용하고 강력해질 수 있다."
+#. Tag: para
+#: performance.xml:1131
+#, no-c-format
+msgid ""
+"Fortunately, you can force this behaviour (ie. the second strategy) at any "
+"time by discarding (ie. dereferencing) the original collection and returning "
+"a newly instantiated collection with all the current elements. This can be "
+"very useful and powerful from time to time."
+msgstr ""
+"다행히, 당신은 원래의 콜렉션을 폐기시키고(예를 들어 참조 해제하고) 모든 현재 "
+"요소들을 가진 새로이 초기화된 콜렉션을 반환함으로써 아무때든지 이 특징을 강제"
+"시킬 수 있다. 이것은 시간이 흐름에 따라 매우 유용하고 강력해질 수 있다."
 
-#: index.docbook:1146
+#. Tag: para
+#: performance.xml:1137
+#, no-c-format
+msgid ""
+"Of course, one-shot-delete does not apply to collections mapped "
+"<literal>inverse=\"true\"</literal>."
+msgstr ""
+"물론 단 한번의 삭제(one-shot-delete)는 <literal>inverse=\"true\"</literal>로 "
+"매핑된 콜렉션들에 적용되지 않는다."
+
+#. Tag: title
+#: performance.xml:1146
+#, no-c-format
 msgid "Monitoring performance"
-msgstr "물론 단 한번의 삭제(one-shot-delete)는 <literal>inverse=\"true\"</literal>로 매핑된 콜렉션들에 적용되지 않는다."
-
-#: index.docbook:1148
-msgid "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 <literal>SessionFactory</literal>."
 msgstr "퍼포먼스 모니터링하기"
 
-#: index.docbook:1155
+#. Tag: para
+#: performance.xml:1148
+#, no-c-format
+msgid ""
+"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 "
+"<literal>SessionFactory</literal>."
+msgstr ""
+"최적화는 퍼포먼스 관련 숫자들에 대한 모니터링과 접근 없이는 많이 사용되지 않"
+"는다. Hibernate는 그것의 내부적인 오퍼레이션들에 대한 전체 영역의 특징들을 제"
+"공한다. Hibernate에서 Statistics는 <literal>SessionFactory</literal>에 대해 "
+"이용 가능하다."
+
+#. Tag: title
+#: performance.xml:1155
+#, no-c-format
 msgid "Monitoring a SessionFactory"
-msgstr "최적화는 퍼포먼스 관련 숫자들에 대한 모니터링과 접근 없이는 많이 사용되지 않는다. Hibernate는 그것의 내부적인 오퍼레이션들에 대한 전체 영역의 특징들을 제공한다. Hibernate에서 Statistics는 <literal>SessionFactory</literal>에 대해 이용 가능하다."
-
-#: index.docbook:1157
-msgid "You can access <literal>SessionFactory</literal> metrics in two ways. Your first option is to call <literal>sessionFactory.getStatistics()</literal> and read or display the <literal>Statistics</literal> yourself."
 msgstr "SessionFactory 모니터링 하기"
 
-#: index.docbook:1163
-msgid "Hibernate can also use JMX to publish metrics if you enable the <literal>StatisticsService</literal> MBean. You may enable a single MBean for all your <literal>SessionFactory</literal> or one per factory. See the following code for minimalistic configuration examples:"
-msgstr "당신은 두 가지 방법들로 <literal>SessionFactory</literal> metrics에 접근할 수 있다. 당신의 첫 번째 옵션은 <literal>sessionFactory.getStatistics()</literal>를 호출하고 당신 스스로 <literal>Statistics</literal>를 읽거나 디스플레이 하는 것이다."
+#. Tag: para
+#: performance.xml:1157
+#, no-c-format
+msgid ""
+"You can access <literal>SessionFactory</literal> metrics in two ways. Your "
+"first option is to call <literal>sessionFactory.getStatistics()</literal> "
+"and read or display the <literal>Statistics</literal> yourself."
+msgstr ""
+"당신은 두 가지 방법들로 <literal>SessionFactory</literal> metrics에 접근할 "
+"수 있다. 당신의 첫 번째 옵션은 <literal>sessionFactory.getStatistics()</"
+"literal>를 호출하고 당신 스스로 <literal>Statistics</literal>를 읽거나 디스플"
+"레이 하는 것이다."
 
-#: index.docbook:1170
+#. Tag: para
+#: performance.xml:1163
+#, no-c-format
 msgid ""
-      "<![CDATA[// MBean service registration for a specific SessionFactory\n"
-      "Hashtable tb = new Hashtable();\n"
-      "tb.put(\"type\", \"statistics\");\n"
-      "tb.put(\"sessionFactory\", \"myFinancialApp\");\n"
-      "ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object name\n"
-      "\n"
-      "StatisticsService stats = new StatisticsService(); // MBean implementation\n"
-      "stats.setSessionFactory(sessionFactory); // Bind the stats to a SessionFactory\n"
-      "server.registerMBean(stats, on); // Register the Mbean on the server]]>"
-msgstr "만일 당신이 <literal>StatisticsService</literal> MBean을 이용 가능하도록 할 경우 Hibernate는 또한 metrics를 발표하는데 JMX를 사용할 수 있다. 당신은 모든 당신의<literal>SessionFactory</literal>에 대해 한 개의 MBean 또는 팩토리 당 한 개를 이용 가능하게 할 수 있다. 최소한의 구성 예제들은 다음 코드를 보라:"
+"Hibernate can also use JMX to publish metrics if you enable the "
+"<literal>StatisticsService</literal> MBean. You may enable a single MBean "
+"for all your <literal>SessionFactory</literal> or one per factory. See the "
+"following code for minimalistic configuration examples:"
+msgstr ""
+"만일 당신이 <literal>StatisticsService</literal> MBean을 이용 가능하도록 할 "
+"경우 Hibernate는 또한 metrics를 발표하는데 JMX를 사용할 수 있다. 당신은 모든 "
+"당신의<literal>SessionFactory</literal>에 대해 한 개의 MBean 또는 팩토리 당 "
+"한 개를 이용 가능하게 할 수 있다. 최소한의 구성 예제들은 다음 코드를 보라:"
 
-#: index.docbook:1173
+#. Tag: programlisting
+#: performance.xml:1170
+#, no-c-format
 msgid ""
-      "<![CDATA[// MBean service registration for all SessionFactory's\n"
-      "Hashtable tb = new Hashtable();\n"
-      "tb.put(\"type\", \"statistics\");\n"
-      "tb.put(\"sessionFactory\", \"all\");\n"
-      "ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object name\n"
-      "\n"
-      "StatisticsService stats = new StatisticsService(); // MBean implementation\n"
-      "server.registerMBean(stats, on); // Register the MBean on the server]]>"
+"<![CDATA[// MBean service registration for a specific SessionFactory\n"
+"Hashtable tb = new Hashtable();\n"
+"tb.put(\"type\", \"statistics\");\n"
+"tb.put(\"sessionFactory\", \"myFinancialApp\");\n"
+"ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object name\n"
+"\n"
+"StatisticsService stats = new StatisticsService(); // MBean implementation\n"
+"stats.setSessionFactory(sessionFactory); // Bind the stats to a "
+"SessionFactory\n"
+"server.registerMBean(stats, on); // Register the Mbean on the server]]>"
 msgstr ""
-      "<![CDATA[// MBean service registration for a specific SessionFactory\n"
-      "Hashtable tb = new Hashtable();\n"
-      "tb.put(\"type\", \"statistics\");\n"
-      "tb.put(\"sessionFactory\", \"myFinancialApp\");\n"
-      "ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object name\n"
-      "\n"
-      "StatisticsService stats = new StatisticsService(); // MBean implementation\n"
-      "stats.setSessionFactory(sessionFactory); // Bind the stats to a SessionFactory\n"
-      "server.registerMBean(stats, on); // Register the Mbean on the server]]>"
 
-#: index.docbook:1175
-msgid "TODO: This doesn't make sense: In the first case, we retrieve and use the MBean directly. In the second one, we must give the JNDI name in which the session factory is held before using it. Use <literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name\")</literal>"
+#. Tag: programlisting
+#: performance.xml:1173
+#, no-c-format
+msgid ""
+"<![CDATA[// MBean service registration for all SessionFactory's\n"
+"Hashtable tb = new Hashtable();\n"
+"tb.put(\"type\", \"statistics\");\n"
+"tb.put(\"sessionFactory\", \"all\");\n"
+"ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object name\n"
+"\n"
+"StatisticsService stats = new StatisticsService(); // MBean implementation\n"
+"server.registerMBean(stats, on); // Register the MBean on the server]]>"
 msgstr ""
-      "<![CDATA[// MBean service registration for all SessionFactory's\n"
-      "Hashtable tb = new Hashtable();\n"
-      "tb.put(\"type\", \"statistics\");\n"
-      "tb.put(\"sessionFactory\", \"all\");\n"
-      "ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object name\n"
-      "\n"
-      "StatisticsService stats = new StatisticsService(); // MBean implementation\n"
-      "server.registerMBean(stats, on); // Register the MBean on the server]]>"
 
-#: index.docbook:1180
-msgid "You can (de)activate the monitoring for a <literal>SessionFactory</literal>"
-msgstr "TODO: 이것은 의미가 없다: 첫번째 경우에, 우리는 직접 MBean을 검색하고 사용한다. 두 번째 경우에 우리는 JNDI 이름을 사용하기 전에 세션 팩토리가 보관하고 있는 JNDI 이름을 부여해야 한다. <literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name\")</literal>을 사용하라."
+#. Tag: para
+#: performance.xml:1175
+#, no-c-format
+msgid ""
+"TODO: This doesn't make sense: In the first case, we retrieve and use the "
+"MBean directly. In the second one, we must give the JNDI name in which the "
+"session factory is held before using it. Use <literal>hibernateStatsBean."
+"setSessionFactoryJNDIName(\"my/JNDI/Name\")</literal>"
+msgstr ""
+"TODO: 이것은 의미가 없다: 첫번째 경우에, 우리는 직접 MBean을 검색하고 사용한"
+"다. 두 번째 경우에 우리는 JNDI 이름을 사용하기 전에 세션 팩토리가 보관하고 있"
+"는 JNDI 이름을 부여해야 한다. <literal>hibernateStatsBean."
+"setSessionFactoryJNDIName(\"my/JNDI/Name\")</literal>을 사용하라."
 
-#: index.docbook:1185
-msgid "at configuration time, set <literal>hibernate.generate_statistics</literal> to <literal>false</literal>"
-msgstr "당신은 <literal>SessionFactory</literal>에 대한 모니터링을 (비)활성화 시킬 수 있다"
+#. Tag: para
+#: performance.xml:1180
+#, no-c-format
+msgid ""
+"You can (de)activate the monitoring for a <literal>SessionFactory</literal>"
+msgstr ""
+"당신은 <literal>SessionFactory</literal>에 대한 모니터링을 (비)활성화 시킬 "
+"수 있다"
 
-#: index.docbook:1192
-msgid "at runtime: <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> or <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
-msgstr "구성 시 : <literal>hibernate.generate_statistics</literal>, 디폴트는 <literal>false</literal>"
+#. Tag: para
+#: performance.xml:1185
+#, no-c-format
+msgid ""
+"at configuration time, set <literal>hibernate.generate_statistics</literal> "
+"to <literal>false</literal>"
+msgstr ""
+"구성 시 : <literal>hibernate.generate_statistics</literal>, 디폴트는 "
+"<literal>false</literal>"
 
-#: index.docbook:1199
-msgid "Statistics can be reset programatically using the <literal>clear()</literal> method. A summary can be sent to a logger (info level) using the <literal>logSummary()</literal> method."
-msgstr "실행 시 : <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> 또는 <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
+#. Tag: para
+#: performance.xml:1192
+#, no-c-format
+msgid ""
+"at runtime: <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> "
+"or <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
+msgstr ""
+"실행 시 : <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> 또"
+"는 <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
 
-#: index.docbook:1208
+#. Tag: para
+#: performance.xml:1199
+#, no-c-format
+msgid ""
+"Statistics can be reset programatically using the <literal>clear()</literal> "
+"method. A summary can be sent to a logger (info level) using the "
+"<literal>logSummary()</literal> method."
+msgstr ""
+"Statistics(통계량들)은 <literal>clear()</literal> 메소드를 사용하여 프로그래"
+"밍 방식으로 재설정 될 수 있다. 요약은 <literal>logSummary()</literal> 메소드"
+"를 사용하여 logger(info 레벨)에게 전송될 수 있다."
+
+#. Tag: title
+#: performance.xml:1208
+#, no-c-format
 msgid "Metrics"
-msgstr "Statistics(통계량들)은 <literal>clear()</literal> 메소드를 사용하여 프로그래밍 방식으로 재설정 될 수 있다. 요약은 <literal>logSummary()</literal> 메소드를 사용하여 logger(info 레벨)에게 전송될 수 있다."
-
-#: index.docbook:1210
-msgid "Hibernate provides a number of metrics, from very basic to the specialized information only relevant in certain scenarios. All available counters are described in the <literal>Statistics</literal> interface API, in three categories:"
 msgstr "Metrics"
 
-#: index.docbook:1217
-msgid "Metrics related to the general <literal>Session</literal> usage, such as number of open sessions, retrieved JDBC connections, etc."
-msgstr "Hibernate는 매우 기본적인 것에서부터 어떤 시나리오들에만 관련된 전문 정보에 이르는 많은 metrics를 제공한다. 모든 이용 가능한 카운터들은 <literal>Statistics</literal> interface API에서 3개의 카테고리로 설명되어 있다:"
+#. Tag: para
+#: performance.xml:1210
+#, no-c-format
+msgid ""
+"Hibernate provides a number of metrics, from very basic to the specialized "
+"information only relevant in certain scenarios. All available counters are "
+"described in the <literal>Statistics</literal> interface API, in three "
+"categories:"
+msgstr ""
+"Hibernate는 매우 기본적인 것에서부터 어떤 시나리오들에만 관련된 전문 정보에 "
+"이르는 많은 metrics를 제공한다. 모든 이용 가능한 카운터들은 "
+"<literal>Statistics</literal> interface API에서 3개의 카테고리로 설명되어 있"
+"다:"
 
-#: index.docbook:1223
-msgid "Metrics related to he entities, collections, queries, and caches as a whole (aka global metrics),"
-msgstr "열려진 세션들의 개수, 검색된 JDBC 커넥션들의 개수 등과 같은 일반적인 <literal>Session</literal> 사용에 관련된 metrics."
+#. Tag: para
+#: performance.xml:1217
+#, no-c-format
+msgid ""
+"Metrics related to the general <literal>Session</literal> usage, such as "
+"number of open sessions, retrieved JDBC connections, etc."
+msgstr ""
+"열려진 세션들의 개수, 검색된 JDBC 커넥션들의 개수 등과 같은 일반적인 "
+"<literal>Session</literal> 사용에 관련된 metrics."
 
-#: index.docbook:1229
-msgid "Detailed metrics related to a particular entity, collection, query or cache region."
-msgstr "전체적으로 엔티티들, 콜렉션들, 질의들, 그리고 캐시들에 관련된 metrics(전역 metrics로 알려져 있음),"
+#. Tag: para
+#: performance.xml:1223
+#, no-c-format
+msgid ""
+"Metrics related to he entities, collections, queries, and caches as a whole "
+"(aka global metrics),"
+msgstr ""
+"전체적으로 엔티티들, 콜렉션들, 질의들, 그리고 캐시들에 관련된 metrics(전역 "
+"metrics로 알려져 있음),"
 
-#: index.docbook:1236
-msgid "For exampl,e you can check the cache hit, miss, and put ratio of entities, collections and queries, and the average time a query needs. Beware that the number of milliseconds is subject to approximation in Java. Hibernate is tied to the JVM precision, on some platforms this might even only be accurate to 10 seconds."
+#. Tag: para
+#: performance.xml:1229
+#, no-c-format
+msgid ""
+"Detailed metrics related to a particular entity, collection, query or cache "
+"region."
 msgstr "특정한 엔티티, 콜렉션, 질의 또는 캐시 영역에 관련된 상세 metrics."
 
-#: index.docbook:1243
-msgid "Simple getters are used to access the global metrics (i.e. not tied to a particular entity, collection, cache region, etc.). You can access the metrics of a particular entity, collection or cache region through its name, and through its HQL or SQL representation for queries. Please refer to the <literal>Statistics</literal>, <literal>EntityStatistics</literal>, <literal>CollectionStatistics</literal>, <literal>SecondLevelCacheStatistics</literal>, and <literal>QueryStatistics</literal> API Javadoc for more information. The following code shows a simple example:"
-msgstr "예를 들어 당신은 엔티티, 콜렉션, 질의들의 캐시 성공율 및 실패율, put(역자 주, 캐시 시도, putt) 비율, 콜렉션들과 질의들, 그리고 평균 질의 요구 시간 등을 찾을 수 있다. 수 밀리초들가 자바에서 근사치에 종속됨을 의식하라. Hibernate는 JVM 정밀도에 묶여 있고, 몇몇 플랫폼들에서 이것은 심지어 약 10초가 될 수도 있다."
+#. Tag: para
+#: performance.xml:1236
+#, no-c-format
+msgid ""
+"For exampl,e you can check the cache hit, miss, and put ratio of entities, "
+"collections and queries, and the average time a query needs. Beware that the "
+"number of milliseconds is subject to approximation in Java. Hibernate is "
+"tied to the JVM precision, on some platforms this might even only be "
+"accurate to 10 seconds."
+msgstr ""
+"예를 들어 당신은 엔티티, 콜렉션, 질의들의 캐시 성공율 및 실패율, put(역자 "
+"주, 캐시 시도, putt) 비율, 콜렉션들과 질의들, 그리고 평균 질의 요구 시간 등"
+"을 찾을 수 있다. 수 밀리초들가 자바에서 근사치에 종속됨을 의식하라. Hibernate"
+"는 JVM 정밀도에 묶여 있고, 몇몇 플랫폼들에서 이것은 심지어 약 10초가 될 수도 "
+"있다."
 
-#: index.docbook:1253
+#. Tag: para
+#: performance.xml:1243
+#, no-c-format
 msgid ""
-      "<![CDATA[Statistics stats = HibernateUtil.sessionFactory.getStatistics();\n"
-      "\n"
-      "double queryCacheHitCount  = stats.getQueryCacheHitCount();\n"
-      "double queryCacheMissCount = stats.getQueryCacheMissCount();\n"
-      "double queryCacheHitRatio =\n"
-      "  queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount);\n"
-      "\n"
-      "log.info(\"Query Hit ratio:\" + queryCacheHitRatio);\n"
-      "\n"
-      "EntityStatistics entityStats =\n"
-      "  stats.getEntityStatistics( Cat.class.getName() );\n"
-      "long changes =\n"
-      "        entityStats.getInsertCount()\n"
-      "        + entityStats.getUpdateCount()\n"
-      "        + entityStats.getDeleteCount();\n"
-      "log.info(Cat.class.getName() + \" changed \" + changes + \"times\"  );]]>"
-msgstr "간단한 getter들은 (예를 들어 특정 엔티티, 콜렉션, 캐시 영역에 묶이지 않은) 전역 metrics에 접근하는데 사용된다. 당신은 그것(특정 엔티티, 콜렉션, 또는 캐시 영역)의 이름을 통해, 그리고 질의들에 대한 그것의 HQL 또는 SQL 표현을 통해 특정 엔티티, 콜렉션, 또는 캐시 영역의 metrics에 접근할수 있다. 추가 정보는 <literal>Statistics</literal>, <literal>EntityStatistics</literal>, <literal>CollectionStatistics</literal>, <literal>SecondLevelCacheStatistics</literal>, 그리고 <literal>QueryStatistics</literal>를 참조하라. 다음 코드는 간단한 예제를 보여준다:"
+"Simple getters are used to access the global metrics (i.e. not tied to a "
+"particular entity, collection, cache region, etc.). You can access the "
+"metrics of a particular entity, collection or cache region through its name, "
+"and through its HQL or SQL representation for queries. Please refer to the "
+"<literal>Statistics</literal>, <literal>EntityStatistics</literal>, "
+"<literal>CollectionStatistics</literal>, "
+"<literal>SecondLevelCacheStatistics</literal>, and <literal>QueryStatistics</"
+"literal> API Javadoc for more information. The following code shows a simple "
+"example:"
+msgstr ""
+"간단한 getter들은 (예를 들어 특정 엔티티, 콜렉션, 캐시 영역에 묶이지 않은) 전"
+"역 metrics에 접근하는데 사용된다. 당신은 그것(특정 엔티티, 콜렉션, 또는 캐시 "
+"영역)의 이름을 통해, 그리고 질의들에 대한 그것의 HQL 또는 SQL 표현을 통해 특"
+"정 엔티티, 콜렉션, 또는 캐시 영역의 metrics에 접근할수 있다. 추가 정보는 "
+"<literal>Statistics</literal>, <literal>EntityStatistics</literal>, "
+"<literal>CollectionStatistics</literal>, "
+"<literal>SecondLevelCacheStatistics</literal>, 그리고 "
+"<literal>QueryStatistics</literal>를 참조하라. 다음 코드는 간단한 예제를 보여"
+"준다:"
 
-#: index.docbook:1255
-msgid "To work on all entities, collections, queries and region caches, you can retrieve the list of names of entities, collections, queries and region caches with the following methods: <literal>getQueries()</literal>, <literal>getEntityNames()</literal>, <literal>getCollectionRoleNames()</literal>, and <literal>getSecondLevelCacheRegionNames()</literal>."
+#. Tag: programlisting
+#: performance.xml:1253
+#, no-c-format
+msgid ""
+"<![CDATA[Statistics stats = HibernateUtil.sessionFactory.getStatistics();\n"
+"\n"
+"double queryCacheHitCount  = stats.getQueryCacheHitCount();\n"
+"double queryCacheMissCount = stats.getQueryCacheMissCount();\n"
+"double queryCacheHitRatio =\n"
+"  queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount);\n"
+"\n"
+"log.info(\"Query Hit ratio:\" + queryCacheHitRatio);\n"
+"\n"
+"EntityStatistics entityStats =\n"
+"  stats.getEntityStatistics( Cat.class.getName() );\n"
+"long changes =\n"
+"        entityStats.getInsertCount()\n"
+"        + entityStats.getUpdateCount()\n"
+"        + entityStats.getDeleteCount();\n"
+"log.info(Cat.class.getName() + \" changed \" + changes + \"times\"  );]]>"
 msgstr ""
-      "<![CDATA[Statistics stats = HibernateUtil.sessionFactory.getStatistics();\n"
-      "\n"
-      "double queryCacheHitCount  = stats.getQueryCacheHitCount();\n"
-      "double queryCacheMissCount = stats.getQueryCacheMissCount();\n"
-      "double queryCacheHitRatio =\n"
-      "  queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount);\n"
-      "\n"
-      "log.info(\"Query Hit ratio:\" + queryCacheHitRatio);\n"
-      "\n"
-      "EntityStatistics entityStats =\n"
-      "  stats.getEntityStatistics( Cat.class.getName() );\n"
-      "long changes =\n"
-      "        entityStats.getInsertCount()\n"
-      "        + entityStats.getUpdateCount()\n"
-      "        + entityStats.getDeleteCount();\n"
-      "log.info(Cat.class.getName() + \" changed \" + changes + \"times\"  );]]>"
 
-#: index.docbook:1161
-msgid "appended paragraph 1"
-msgstr "모든 엔티티들, 콜렉션들, 콜렉션들,질의들 그리고 영역 캐시들에 대해 작업하기 위해, 당신은 다음 메소드들로서 엔티티들, 콜렉션들, 질의들, 그리고 영역 캐시들에 대한 이름들의 목록을 검색할 수 있다: <literal>getQueries()</literal>, <literal>getEntityNames()</literal>, <literal>getCollectionRoleNames()</literal>, 그리고 <literal>getSecondLevelCacheRegionNames()</literal>."
+#. Tag: para
+#: performance.xml:1255
+#, no-c-format
+msgid ""
+"To work on all entities, collections, queries and region caches, you can "
+"retrieve the list of names of entities, collections, queries and region "
+"caches with the following methods: <literal>getQueries()</literal>, "
+"<literal>getEntityNames()</literal>, <literal>getCollectionRoleNames()</"
+"literal>, and <literal>getSecondLevelCacheRegionNames()</literal>."
+msgstr ""
+"모든 엔티티들, 콜렉션들, 콜렉션들,질의들 그리고 영역 캐시들에 대해 작업하기 "
+"위해, 당신은 다음 메소드들로서 엔티티들, 콜렉션들, 질의들, 그리고 영역 캐시들"
+"에 대한 이름들의 목록을 검색할 수 있다: <literal>getQueries()</literal>, "
+"<literal>getEntityNames()</literal>, <literal>getCollectionRoleNames()</"
+"literal>, 그리고 <literal>getSecondLevelCacheRegionNames()</literal>."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#, fuzzy
+#~ msgid "yes"
+#~ msgstr ""
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "yes\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "yes\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "yes\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "예"

Modified: core/trunk/documentation/manual/translations/ko-KR/content/persistent_classes.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/persistent_classes.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/persistent_classes.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,664 +1,857 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: persistent_classes.xml:5
+#, no-c-format
 msgid "Persistent Classes"
 msgstr "영속 클래스들"
 
-#: index.docbook:7
-msgid "Persistent classes are classes in an application that implement the entities of the business problem (e.g. Customer and Order in an E-commerce application). Not all instances of a persistent class are considered to be in the persistent state - an instance may instead be transient or detached."
-msgstr "영속 클래스들은 비지니스 문제의 엔티티들(예를 들어 E-Commerce 어플리케이션에서 고객이나 주문)을 구현하는 어플리케이션 내의 클래스들이다. 영속 클래스들의 인스턴스들은 영속 상태에 있는 것으로 전혀 간주되지 않는다 - 대신에 하나의 인스턴스는 transient 또는 detached 상태일 수 있다."
+#. Tag: para
+#: persistent_classes.xml:7
+#, no-c-format
+msgid ""
+"Persistent classes are classes in an application that implement the entities "
+"of the business problem (e.g. Customer and Order in an E-commerce "
+"application). Not all instances of a persistent class are considered to be "
+"in the persistent state - an instance may instead be transient or detached."
+msgstr ""
+"영속 클래스들은 비지니스 문제의 엔티티들(예를 들어 E-Commerce 어플리케이션에"
+"서 고객이나 주문)을 구현하는 어플리케이션 내의 클래스들이다. 영속 클래스들의 "
+"인스턴스들은 영속 상태에 있는 것으로 전혀 간주되지 않는다 - 대신에 하나의 인"
+"스턴스는 transient 또는 detached 상태일 수 있다."
 
-#: index.docbook:14
-msgid "Hibernate works best if these classes follow some simple rules, also known as the Plain Old Java Object (POJO) programming model. However, none of these rules are hard requirements. Indeed, Hibernate3 assumes very little about the nature of your persistent objects. You may express a domain model in other ways: using trees of <literal>Map</literal> instances, for example."
-msgstr "Hibernate는 이들 클래스들이 Plain Old Java Object (POJO) 프로그래밍 모형으로서 알려진, 몇몇 간단한 규칙들을 따를 경우에 가장 잘 동작한다. 하지만 이들 규칙들 중 어떤 것도 어려운 사양들이 아니다. 진정 Hibernate3는 당신의 영속 객체들의 특징에 대해 매우 적은 것을 가정한다. 당신은 다른 방법들로 도메인 모형을 표현할 수 있다 : 예를 들어 <literal>Map</literal> 인스턴스의 트리들을 사용하기."
+#. Tag: para
+#: persistent_classes.xml:14
+#, no-c-format
+msgid ""
+"Hibernate works best if these classes follow some simple rules, also known "
+"as the Plain Old Java Object (POJO) programming model. However, none of "
+"these rules are hard requirements. Indeed, Hibernate3 assumes very little "
+"about the nature of your persistent objects. You may express a domain model "
+"in other ways: using trees of <literal>Map</literal> instances, for example."
+msgstr ""
+"Hibernate는 이들 클래스들이 Plain Old Java Object (POJO) 프로그래밍 모형으로"
+"서 알려진, 몇몇 간단한 규칙들을 따를 경우에 가장 잘 동작한다. 하지만 이들 규"
+"칙들 중 어떤 것도 어려운 사양들이 아니다. 진정 Hibernate3는 당신의 영속 객체"
+"들의 특징에 대해 매우 적은 것을 가정한다. 당신은 다른 방법들로 도메인 모형을 "
+"표현할 수 있다 : 예를 들어 <literal>Map</literal> 인스턴스의 트리들을 사용하"
+"기."
 
-#: index.docbook:23
+#. Tag: title
+#: persistent_classes.xml:23
+#, no-c-format
 msgid "A simple POJO example"
 msgstr "간단한 POJO 예제"
 
-#: index.docbook:25
+#. Tag: para
+#: persistent_classes.xml:25
+#, no-c-format
 msgid "Most Java applications require a persistent class representing felines."
-msgstr "대부분의 자바 어플리케이션들은 고양이과들을 표현하는 영속 클래스를 필요로 한다."
+msgstr ""
+"대부분의 자바 어플리케이션들은 고양이과들을 표현하는 영속 클래스를 필요로 한"
+"다."
 
-#: index.docbook:29
+#. Tag: programlisting
+#: persistent_classes.xml:29
+#, no-c-format
 msgid ""
-      "<![CDATA[package eg;\n"
-      "import java.util.Set;\n"
-      "import java.util.Date;\n"
-      "\n"
-      "public class Cat {\n"
-      "    private Long id; // identifier\n"
-      "\n"
-      "    private Date birthdate;\n"
-      "    private Color color;\n"
-      "    private char sex;\n"
-      "    private float weight;\n"
-      "    private int litterId;\n"
-      "\n"
-      "    private Cat mother;\n"
-      "    private Set kittens = new HashSet();\n"
-      "\n"
-      "    private void setId(Long id) {\n"
-      "        this.id=id;\n"
-      "    }\n"
-      "    public Long getId() {\n"
-      "        return id;\n"
-      "    }\n"
-      "\n"
-      "    void setBirthdate(Date date) {\n"
-      "        birthdate = date;\n"
-      "    }\n"
-      "    public Date getBirthdate() {\n"
-      "        return birthdate;\n"
-      "    }\n"
-      "\n"
-      "    void setWeight(float weight) {\n"
-      "        this.weight = weight;\n"
-      "    }\n"
-      "    public float getWeight() {\n"
-      "        return weight;\n"
-      "    }\n"
-      "\n"
-      "    public Color getColor() {\n"
-      "        return color;\n"
-      "    }\n"
-      "    void setColor(Color color) {\n"
-      "        this.color = color;\n"
-      "    }\n"
-      "\n"
-      "    void setSex(char sex) {\n"
-      "        this.sex=sex;\n"
-      "    }\n"
-      "    public char getSex() {\n"
-      "        return sex;\n"
-      "    }\n"
-      "\n"
-      "    void setLitterId(int id) {\n"
-      "        this.litterId = id;\n"
-      "    }\n"
-      "    public int getLitterId() {\n"
-      "        return litterId;\n"
-      "    }\n"
-      "\n"
-      "    void setMother(Cat mother) {\n"
-      "        this.mother = mother;\n"
-      "    }\n"
-      "    public Cat getMother() {\n"
-      "        return mother;\n"
-      "    }\n"
-      "    void setKittens(Set kittens) {\n"
-      "        this.kittens = kittens;\n"
-      "    }\n"
-      "    public Set getKittens() {\n"
-      "        return kittens;\n"
-      "    }\n"
-      "    \n"
-      "    // addKitten not needed by Hibernate\n"
-      "    public void addKitten(Cat kitten) {\n"
-      "            kitten.setMother(this);\n"
-      "        kitten.setLitterId( kittens.size() ); \n"
-      "        kittens.add(kitten);\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"import java.util.Date;\n"
+"\n"
+"public class Cat {\n"
+"    private Long id; // identifier\n"
+"\n"
+"    private Date birthdate;\n"
+"    private Color color;\n"
+"    private char sex;\n"
+"    private float weight;\n"
+"    private int litterId;\n"
+"\n"
+"    private Cat mother;\n"
+"    private Set kittens = new HashSet();\n"
+"\n"
+"    private void setId(Long id) {\n"
+"        this.id=id;\n"
+"    }\n"
+"    public Long getId() {\n"
+"        return id;\n"
+"    }\n"
+"\n"
+"    void setBirthdate(Date date) {\n"
+"        birthdate = date;\n"
+"    }\n"
+"    public Date getBirthdate() {\n"
+"        return birthdate;\n"
+"    }\n"
+"\n"
+"    void setWeight(float weight) {\n"
+"        this.weight = weight;\n"
+"    }\n"
+"    public float getWeight() {\n"
+"        return weight;\n"
+"    }\n"
+"\n"
+"    public Color getColor() {\n"
+"        return color;\n"
+"    }\n"
+"    void setColor(Color color) {\n"
+"        this.color = color;\n"
+"    }\n"
+"\n"
+"    void setSex(char sex) {\n"
+"        this.sex=sex;\n"
+"    }\n"
+"    public char getSex() {\n"
+"        return sex;\n"
+"    }\n"
+"\n"
+"    void setLitterId(int id) {\n"
+"        this.litterId = id;\n"
+"    }\n"
+"    public int getLitterId() {\n"
+"        return litterId;\n"
+"    }\n"
+"\n"
+"    void setMother(Cat mother) {\n"
+"        this.mother = mother;\n"
+"    }\n"
+"    public Cat getMother() {\n"
+"        return mother;\n"
+"    }\n"
+"    void setKittens(Set kittens) {\n"
+"        this.kittens = kittens;\n"
+"    }\n"
+"    public Set getKittens() {\n"
+"        return kittens;\n"
+"    }\n"
+"    \n"
+"    // addKitten not needed by Hibernate\n"
+"    public void addKitten(Cat kitten) {\n"
+"            kitten.setMother(this);\n"
+"        kitten.setLitterId( kittens.size() ); \n"
+"        kittens.add(kitten);\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package eg;\n"
-      "import java.util.Set;\n"
-      "import java.util.Date;\n"
-      "\n"
-      "public class Cat {\n"
-      "    private Long id; // identifier\n"
-      "\n"
-      "    private Date birthdate;\n"
-      "    private Color color;\n"
-      "    private char sex;\n"
-      "    private float weight;\n"
-      "    private int litterId;\n"
-      "\n"
-      "    private Cat mother;\n"
-      "    private Set kittens = new HashSet();\n"
-      "\n"
-      "    private void setId(Long id) {\n"
-      "        this.id=id;\n"
-      "    }\n"
-      "    public Long getId() {\n"
-      "        return id;\n"
-      "    }\n"
-      "\n"
-      "    void setBirthdate(Date date) {\n"
-      "        birthdate = date;\n"
-      "    }\n"
-      "    public Date getBirthdate() {\n"
-      "        return birthdate;\n"
-      "    }\n"
-      "\n"
-      "    void setWeight(float weight) {\n"
-      "        this.weight = weight;\n"
-      "    }\n"
-      "    public float getWeight() {\n"
-      "        return weight;\n"
-      "    }\n"
-      "\n"
-      "    public Color getColor() {\n"
-      "        return color;\n"
-      "    }\n"
-      "    void setColor(Color color) {\n"
-      "        this.color = color;\n"
-      "    }\n"
-      "\n"
-      "    void setSex(char sex) {\n"
-      "        this.sex=sex;\n"
-      "    }\n"
-      "    public char getSex() {\n"
-      "        return sex;\n"
-      "    }\n"
-      "\n"
-      "    void setLitterId(int id) {\n"
-      "        this.litterId = id;\n"
-      "    }\n"
-      "    public int getLitterId() {\n"
-      "        return litterId;\n"
-      "    }\n"
-      "\n"
-      "    void setMother(Cat mother) {\n"
-      "        this.mother = mother;\n"
-      "    }\n"
-      "    public Cat getMother() {\n"
-      "        return mother;\n"
-      "    }\n"
-      "    void setKittens(Set kittens) {\n"
-      "        this.kittens = kittens;\n"
-      "    }\n"
-      "    public Set getKittens() {\n"
-      "        return kittens;\n"
-      "    }\n"
-      "    \n"
-      "    // addKitten not needed by Hibernate\n"
-      "    public void addKitten(Cat kitten) {\n"
-      "            kitten.setMother(this);\n"
-      "        kitten.setLitterId( kittens.size() ); \n"
-      "        kittens.add(kitten);\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:31
+#. Tag: para
+#: persistent_classes.xml:31
+#, no-c-format
 msgid "There are four main rules to follow here:"
 msgstr "준수할 네 개의 주요 규칙들이 다음에 있다:"
 
-#: index.docbook:37
+#. Tag: title
+#: persistent_classes.xml:37
+#, no-c-format
 msgid "Implement a no-argument constructor"
 msgstr "아규먼트 없는 생성자를 구현하라"
 
-#: index.docbook:39
-msgid "<literal>Cat</literal> has a no-argument constructor. All persistent classes must have a default constructor (which may be non-public) so that Hibernate can instantiate them using <literal>Constructor.newInstance()</literal>. We strongly recommend having a default constructor with at least <emphasis>package</emphasis> visibility for runtime proxy generation in Hibernate."
-msgstr "<literal>Cat</literal>은 아규먼트 없는 생성자를 갖는다. 모든 영속 클래스들은 Hibernate는 <literal>Constructor.newInstance()</literal>를 사용하여 그것들을 초기화 시킬 수 있도록 디폴트 생성자 (public이 아닐 수 있다)를 가져야 한다. 우리는 Hibernate 내에서 런타임 프락시 생성을 위한 최소한의 <emphasis>패키지</emphasis> 가시성(visibility)를 가진 디폴트 생성자를 가질 것을 강력하게 권장한다."
+#. Tag: para
+#: persistent_classes.xml:39
+#, no-c-format
+msgid ""
+"<literal>Cat</literal> has a no-argument constructor. All persistent classes "
+"must have a default constructor (which may be non-public) so that Hibernate "
+"can instantiate them using <literal>Constructor.newInstance()</literal>. We "
+"strongly recommend having a default constructor with at least "
+"<emphasis>package</emphasis> visibility for runtime proxy generation in "
+"Hibernate."
+msgstr ""
+"<literal>Cat</literal>은 아규먼트 없는 생성자를 갖는다. 모든 영속 클래스들은 "
+"Hibernate는 <literal>Constructor.newInstance()</literal>를 사용하여 그것들을 "
+"초기화 시킬 수 있도록 디폴트 생성자 (public이 아닐 수 있다)를 가져야 한다. 우"
+"리는 Hibernate 내에서 런타임 프락시 생성을 위한 최소한의 <emphasis>패키지</"
+"emphasis> 가시성(visibility)를 가진 디폴트 생성자를 가질 것을 강력하게 권장한"
+"다."
 
-#: index.docbook:49
+#. Tag: title
+#: persistent_classes.xml:49
+#, no-c-format
 msgid "Provide an identifier property (optional)"
 msgstr "identifier 프로퍼티를 제공하라(옵션)"
 
-#: index.docbook:51
-msgid "<literal>Cat</literal> has a property called <literal>id</literal>. This property maps to the primary key column of a database table. The property might have been called anything, and its type might have been any primitive type, any primitive \"wrapper\" type, <literal>java.lang.String</literal> or <literal>java.util.Date</literal>. (If your legacy database table has composite keys, you can even use a user-defined class with properties of these types - see the section on composite identifiers later.)"
-msgstr "<literal>Cat</literal>은 <literal>id</literal>로 명명된 하나의 프로퍼티를 갖는다. 이 프로퍼티는 데이터베이스 테이블의 프라이머리 키 컬럼으로 매핑된다. 이 프로퍼티는 어떤 것으로 명명될 수도 있고, 그것의 타입은 임의의 원시 타입, 원시 \"wrapper\" 타입, <literal>java.lang.String</literal> 또는 <literal>java.util.Date</literal>일 수 있다. (만일 당신의 리거시 데이터베이스 테이블이 composite 키들을 갖고 있다면, 당신은 이들 타입들을 가진 사용자 정의 클래스를 사용할 수도 있다 - 나중에 composite 식별자들에 대한 절을 보라)"
+#. Tag: para
+#: persistent_classes.xml:51
+#, no-c-format
+msgid ""
+"<literal>Cat</literal> has a property called <literal>id</literal>. This "
+"property maps to the primary key column of a database table. The property "
+"might have been called anything, and its type might have been any primitive "
+"type, any primitive \"wrapper\" type, <literal>java.lang.String</literal> or "
+"<literal>java.util.Date</literal>. (If your legacy database table has "
+"composite keys, you can even use a user-defined class with properties of "
+"these types - see the section on composite identifiers later.)"
+msgstr ""
+"<literal>Cat</literal>은 <literal>id</literal>로 명명된 하나의 프로퍼티를 갖"
+"는다. 이 프로퍼티는 데이터베이스 테이블의 프라이머리 키 컬럼으로 매핑된다. "
+"이 프로퍼티는 어떤 것으로 명명될 수도 있고, 그것의 타입은 임의의 원시 타입, "
+"원시 \"wrapper\" 타입, <literal>java.lang.String</literal> 또는 "
+"<literal>java.util.Date</literal>일 수 있다. (만일 당신의 리거시 데이터베이"
+"스 테이블이 composite 키들을 갖고 있다면, 당신은 이들 타입들을 가진 사용자 정"
+"의 클래스를 사용할 수도 있다 - 나중에 composite 식별자들에 대한 절을 보라)"
 
-#: index.docbook:60
-msgid "The identifier property is strictly optional. You can leave them off and let Hibernate keep track of object identifiers internally. We do not recommend this, however."
-msgstr "identifier 프로퍼티는 엄격하게 옵션이다. 당신은 그것을 생략할 수도 있고, Hibernate로 하여금 내부적으로 객체 식별자들을 추적하도록 할 수 있다. 하지만 우리는 이것을 권장하지 않는다."
+#. Tag: para
+#: persistent_classes.xml:60
+#, no-c-format
+msgid ""
+"The identifier property is strictly optional. You can leave them off and let "
+"Hibernate keep track of object identifiers internally. We do not recommend "
+"this, however."
+msgstr ""
+"identifier 프로퍼티는 엄격하게 옵션이다. 당신은 그것을 생략할 수도 있고, "
+"Hibernate로 하여금 내부적으로 객체 식별자들을 추적하도록 할 수 있다. 하지만 "
+"우리는 이것을 권장하지 않는다."
 
-#: index.docbook:65
-msgid "In fact, some functionality is available only to classes which declare an identifier property:"
-msgstr "사실, 어떤 기능은 identifier 프로퍼티를 선언하는 클래스들에 대해서만 이용 가능하다:"
+#. Tag: para
+#: persistent_classes.xml:65
+#, no-c-format
+msgid ""
+"In fact, some functionality is available only to classes which declare an "
+"identifier property:"
+msgstr ""
+"사실, 어떤 기능은 identifier 프로퍼티를 선언하는 클래스들에 대해서만 이용 가"
+"능하다:"
 
-#: index.docbook:72
-msgid "Transitive reattachment for detached objects (cascade update or cascade merge) - see"
-msgstr "detached 객체들에 대한 Transitive reattachment(cascade update 또는 cascade merge) -"
+#. Tag: para
+#: persistent_classes.xml:72
+#, fuzzy, no-c-format
+msgid ""
+"Transitive reattachment for detached objects (cascade update or cascade "
+"merge) - see"
+msgstr ""
+"detached 객체들에 대한 Transitive reattachment(cascade update 또는 cascade "
+"merge) - <xref linkend=\"objectstate-transitive\"/>"
 
-#: index.docbook:79
+#. Tag: literal
+#: persistent_classes.xml:79
+#, no-c-format
 msgid "Session.saveOrUpdate()"
 msgstr "Session.saveOrUpdate()"
 
-#: index.docbook:84
+#. Tag: literal
+#: persistent_classes.xml:84
+#, no-c-format
 msgid "Session.merge()"
 msgstr "Session.merge()"
 
-#: index.docbook:89
-msgid "We recommend you declare consistently-named identifier properties on persistent classes. We further recommend that you use a nullable (ie. non-primitive) type."
-msgstr "를 보라"
+#. Tag: para
+#: persistent_classes.xml:89
+#, no-c-format
+msgid ""
+"We recommend you declare consistently-named identifier properties on "
+"persistent classes. We further recommend that you use a nullable (ie. non-"
+"primitive) type."
+msgstr ""
+"우리는 당신이 영속 클래스들에 대해 일관되게 명명된 identifier 프로퍼티들을 선"
+"언할 것을 권장한다. 게다가 우리는 당신이 nullable 타입(예를 들어 non-"
+"primitive)을 사용할 것을 권장한다."
 
-#: index.docbook:96
+#. Tag: title
+#: persistent_classes.xml:96
+#, no-c-format
 msgid "Prefer non-final classes (optional)"
-msgstr "우리는 당신이 영속 클래스들에 대해 일관되게 명명된 identifier 프로퍼티들을 선언할 것을 권장한다. 게다가 우리는 당신이 nullable 타입(예를 들어 non-primitive)을 사용할 것을 권장한다."
-
-#: index.docbook:97
-msgid "A central feature of Hibernate, <emphasis>proxies</emphasis>, depends upon the persistent class being either non-final, or the implementation of an interface that declares all public methods."
 msgstr "final이 아닌 클래스들을 선호하라(옵션)"
 
-#: index.docbook:102
-msgid "You can persist <literal>final</literal> classes that do not implement an interface with Hibernate, but you won't be able to use proxies for lazy association fetching - which will limit your options for performance tuning."
-msgstr "Hibernate의 중심 특징인, 프락시(<emphasis>proxies</emphasis>)들은 final이 아닌 영속 클래스들 또는 모두 public 메소드들로 선언된 인터페이스의 구현인 영속 클래스들에 의존한다."
+#. Tag: para
+#: persistent_classes.xml:97
+#, no-c-format
+msgid ""
+"A central feature of Hibernate, <emphasis>proxies</emphasis>, depends upon "
+"the persistent class being either non-final, or the implementation of an "
+"interface that declares all public methods."
+msgstr ""
+"Hibernate의 중심 특징인, 프락시(<emphasis>proxies</emphasis>)들은 final이 아"
+"닌 영속 클래스들 또는 모두 public 메소드들로 선언된 인터페이스의 구현인 영속 "
+"클래스들에 의존한다."
 
-#: index.docbook:107
-msgid "You should also avoid declaring <literal>public final</literal> methods on the non-final classes. If you want to use a class with a <literal>public final</literal> method, you must explicitly disable proxying by setting <literal>lazy=\"false\"</literal>."
-msgstr "당신은 Hibernate로 인터페이스를 구현하지 않은 <literal>final</literal> 클래스들을 영속화 시킬 수 있지만 당신은 lazy 연관 페칭(lazy association fetching)에 대해 프락시들을 사용할 수 없을 것이다 -그것은 퍼포먼스 튜닝을 위한 당신의 옵션들을 제한시킬 것이다."
+#. Tag: para
+#: persistent_classes.xml:102
+#, no-c-format
+msgid ""
+"You can persist <literal>final</literal> classes that do not implement an "
+"interface with Hibernate, but you won't be able to use proxies for lazy "
+"association fetching - which will limit your options for performance tuning."
+msgstr ""
+"당신은 Hibernate로 인터페이스를 구현하지 않은 <literal>final</literal> 클래스"
+"들을 영속화 시킬 수 있지만 당신은 lazy 연관 페칭(lazy association fetching)"
+"에 대해 프락시들을 사용할 수 없을 것이다 -그것은 퍼포먼스 튜닝을 위한 당신의 "
+"옵션들을 제한시킬 것이다."
 
-#: index.docbook:115
+#. Tag: para
+#: persistent_classes.xml:107
+#, no-c-format
+msgid ""
+"You should also avoid declaring <literal>public final</literal> methods on "
+"the non-final classes. If you want to use a class with a <literal>public "
+"final</literal> method, you must explicitly disable proxying by setting "
+"<literal>lazy=\"false\"</literal>."
+msgstr ""
+"당신은 또한 non-final 클래스들 상에 <literal>public final</literal> 메소드들"
+"을 선언하는 것을 피해야 한다. 만일 당신이 <literal>public final</literal> 메"
+"소드를 가진 클래스를 사용하고자 원할 경우, 당신은 <literal>lazy=\"false\"</"
+"literal>를 설정함으로써 명시적으로 프락싱을 사용 불가능하도록 해야 한다."
+
+#. Tag: title
+#: persistent_classes.xml:115
+#, no-c-format
 msgid "Declare accessors and mutators for persistent fields (optional)"
-msgstr "당신은 또한 non-final 클래스들 상에 <literal>public final</literal> 메소드들을 선언하는 것을 피해야 한다. 만일 당신이 <literal>public final</literal> 메소드를 가진 클래스를 사용하고자 원할 경우, 당신은 <literal>lazy=\"false\"</literal>를 설정함으로써 명시적으로 프락싱을 사용 불가능하도록 해야 한다."
-
-#: index.docbook:117
-msgid "<literal>Cat</literal> declares accessor methods for all its persistent fields. Many other ORM tools directly persist instance variables. We believe it is better to provide an indirection between the relational schema and internal data structures of the class. By default, Hibernate persists JavaBeans style properties, and recognizes method names of the form <literal>getFoo</literal>, <literal>isFoo</literal> and <literal>setFoo</literal>. You may switch to direct field access for particular properties, if needed."
 msgstr "영속 필드들을 위한 accessor들과 mutator들을 선언하라(옵션)"
 
-#: index.docbook:127
-msgid "Properties need <emphasis>not</emphasis> be declared public - Hibernate can persist a property with a default, <literal>protected</literal> or <literal>private</literal> get / set pair."
-msgstr "<literal>Cat</literal>은 그것의 모든 영속 필드들에 대해 accessor 메소드들을 선언한다. 많은 다른 ORM 도구들은 인스턴스 변수들을 직접 영속화 시킨다. 우리는 관계형 스키마와 클래스의 내부적인 데이터 구조들 사이에 간접적인 수단을 제공하는 것이 더 좋다고 믿고 있다. 디폴트로 Hibernate는 자바빈즈 스타일 프로퍼티들을 영속화 시키고, <literal>getFoo</literal>, <literal>isFoo</literal>와 <literal>setFoo</literal> 형식의 메소드 이름들을 인지한다. 당신은 진정으로 특정 프로퍼티에 대한 직접적인 필드 접근으로 전환할 수도 있다."
+#. Tag: para
+#: persistent_classes.xml:117
+#, no-c-format
+msgid ""
+"<literal>Cat</literal> declares accessor methods for all its persistent "
+"fields. Many other ORM tools directly persist instance variables. We believe "
+"it is better to provide an indirection between the relational schema and "
+"internal data structures of the class. By default, Hibernate persists "
+"JavaBeans style properties, and recognizes method names of the form "
+"<literal>getFoo</literal>, <literal>isFoo</literal> and <literal>setFoo</"
+"literal>. You may switch to direct field access for particular properties, "
+"if needed."
+msgstr ""
+"<literal>Cat</literal>은 그것의 모든 영속 필드들에 대해 accessor 메소드들을 "
+"선언한다. 많은 다른 ORM 도구들은 인스턴스 변수들을 직접 영속화 시킨다. 우리"
+"는 관계형 스키마와 클래스의 내부적인 데이터 구조들 사이에 간접적인 수단을 제"
+"공하는 것이 더 좋다고 믿고 있다. 디폴트로 Hibernate는 자바빈즈 스타일 프로퍼"
+"티들을 영속화 시키고, <literal>getFoo</literal>, <literal>isFoo</literal>와 "
+"<literal>setFoo</literal> 형식의 메소드 이름들을 인지한다. 당신은 진정으로 특"
+"정 프로퍼티에 대한 직접적인 필드 접근으로 전환할 수도 있다."
 
-#: index.docbook:138
+#. Tag: para
+#: persistent_classes.xml:127
+#, no-c-format
+msgid ""
+"Properties need <emphasis>not</emphasis> be declared public - Hibernate can "
+"persist a property with a default, <literal>protected</literal> or "
+"<literal>private</literal> get / set pair."
+msgstr ""
+"프로퍼티들은 public으로 선언될 필요가 <emphasis>없다</emphasis> - Hibernate"
+"는 디폴트로 <literal>protected</literal> get/set 쌍 또는 <literal>private</"
+"literal> get/set 쌍을 가진 프로퍼티를 영속화 시킬 수 있다."
+
+#. Tag: title
+#: persistent_classes.xml:138
+#, no-c-format
 msgid "Implementing inheritance"
-msgstr "프로퍼티들은 public으로 선언될 필요가 <emphasis>없다</emphasis> - Hibernate는 디폴트로 <literal>protected</literal> get/set 쌍 또는 <literal>private</literal> get/set 쌍을 가진 프로퍼티를 영속화 시킬 수 있다."
-
-#: index.docbook:140
-msgid "A subclass must also observe the first and second rules. It inherits its identifier property from the superclass, <literal>Cat</literal>."
 msgstr "상속 구현하기"
 
-#: index.docbook:145
+#. Tag: para
+#: persistent_classes.xml:140
+#, no-c-format
 msgid ""
-      "<![CDATA[package eg;\n"
-      "\n"
-      "public class DomesticCat extends Cat {\n"
-      "        private String name;\n"
-      "\n"
-      "        public String getName() {\n"
-      "                return name;\n"
-      "        }\n"
-      "        protected void setName(String name) {\n"
-      "                this.name=name;\n"
-      "        }\n"
-      "}]]>"
-msgstr "서브클래스는 또한 첫 번째 규칙들과 두 번째 규칙들을 주시해야 한다. 그것은 슈퍼클래스 <literal>Cat</literal>으로부터 그것의 identifier 프로퍼티를 상속받는다."
+"A subclass must also observe the first and second rules. It inherits its "
+"identifier property from the superclass, <literal>Cat</literal>."
+msgstr ""
+"서브클래스는 또한 첫 번째 규칙들과 두 번째 규칙들을 주시해야 한다. 그것은 슈"
+"퍼클래스 <literal>Cat</literal>으로부터 그것의 identifier 프로퍼티를 상속받는"
+"다."
 
-#: index.docbook:149
-msgid "Implementing <literal>equals()</literal> and <literal>hashCode()</literal>"
+#. Tag: programlisting
+#: persistent_classes.xml:145
+#, no-c-format
+msgid ""
+"<![CDATA[package eg;\n"
+"\n"
+"public class DomesticCat extends Cat {\n"
+"        private String name;\n"
+"\n"
+"        public String getName() {\n"
+"                return name;\n"
+"        }\n"
+"        protected void setName(String name) {\n"
+"                this.name=name;\n"
+"        }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package eg;\n"
-      "\n"
-      "public class DomesticCat extends Cat {\n"
-      "        private String name;\n"
-      "\n"
-      "        public String getName() {\n"
-      "                return name;\n"
-      "        }\n"
-      "        protected void setName(String name) {\n"
-      "                this.name=name;\n"
-      "        }\n"
-      "}]]>"
 
-#: index.docbook:151
-msgid "You have to override the <literal>equals()</literal> and <literal>hashCode()</literal> methods if you"
+#. Tag: title
+#: persistent_classes.xml:149
+#, no-c-format
+msgid ""
+"Implementing <literal>equals()</literal> and <literal>hashCode()</literal>"
 msgstr "<literal>equals()</literal>와 <literal>hashCode()</literal> 구현하기"
 
-#: index.docbook:157
-msgid "intend to put instances of persistent classes in a <literal>Set</literal> (the recommended way to represent many-valued associations) <emphasis>and</emphasis>"
-msgstr "만일 당신이 다음의 경우라면, 당신은 <literal>equals()</literal>와 <literal>hashCode()</literal> 메소드들을 오버라이드 시켜야 한다."
+#. Tag: para
+#: persistent_classes.xml:151
+#, no-c-format
+msgid ""
+"You have to override the <literal>equals()</literal> and <literal>hashCode()"
+"</literal> methods if you"
+msgstr ""
+"만일 당신이 다음의 경우라면, 당신은 <literal>equals()</literal>와 "
+"<literal>hashCode()</literal> 메소드들을 오버라이드 시켜야 한다."
 
-#: index.docbook:164
+#. Tag: para
+#: persistent_classes.xml:157
+#, no-c-format
+msgid ""
+"intend to put instances of persistent classes in a <literal>Set</literal> "
+"(the recommended way to represent many-valued associations) <emphasis>and</"
+"emphasis>"
+msgstr ""
+"하나의 <literal>Set</literal> 속에 영속 클래스들의 인스턴스들을 집어넣고자 의"
+"도하고 (many-valued 연관들에 대해 권장되는 방법) <emphasis>그리고</emphasis>"
+
+#. Tag: para
+#: persistent_classes.xml:164
+#, no-c-format
 msgid "intend to use reattachment of detached instances"
-msgstr "하나의 <literal>Set</literal> 속에 영속 클래스들의 인스턴스들을 집어넣고자 의도하고 (many-valued 연관들에 대해 권장되는 방법) <emphasis>그리고</emphasis>"
-
-#: index.docbook:170
-msgid "Hibernate guarantees equivalence of persistent identity (database row) and Java identity only inside a particular session scope. So as soon as we mix instances retrieved in different sessions, we must implement <literal>equals()</literal> and <literal>hashCode()</literal> if we wish to have meaningful semantics for <literal>Set</literal>s."
 msgstr "detached 인스턴스들의 reattachment(재첨부)를 사용하고자 의도하는"
 
-#: index.docbook:178
-msgid "The most obvious way is to implement <literal>equals()</literal>/<literal>hashCode()</literal> by comparing the identifier value of both objects. If the value is the same, both must be the same database row, they are therefore equal (if both are added to a <literal>Set</literal>, we will only have one element in the <literal>Set</literal>). Unfortunately, we can't use that approach with generated identifiers! Hibernate will only assign identifier values to objects that are persistent, a newly created instance will not have any identifier value! Furthermore, if an instance is unsaved and currently in a <literal>Set</literal>, saving it will assign an identifier value to the object. If <literal>equals()</literal> and <literal>hashCode()</literal> are based on the identifier value, the hash code would change, breaking the contract of the <literal>Set</literal>. See the Hibernate website for a full discussion of this problem. Note that this is not a Hibernate issue, but !
 normal Java semantics of object identity and equality."
-msgstr "Hibernate는 특정 session 범위 내에서만 persistent identity(데이터베이스 행)과 Java identity의 같음을 보장한다. 따라서 우리가 다른 세션들에서 검색된 인스턴스들을 혼합시키자마자, 우리가 <literal>Set</literal>들에 대해 유의미하게 만들고자 원할 경우, 우리는 <literal>equals()</literal>와 <literal>hashCode()</literal>를 구현해야 한다."
+#. Tag: para
+#: persistent_classes.xml:170
+#, no-c-format
+msgid ""
+"Hibernate guarantees equivalence of persistent identity (database row) and "
+"Java identity only inside a particular session scope. So as soon as we mix "
+"instances retrieved in different sessions, we must implement <literal>equals"
+"()</literal> and <literal>hashCode()</literal> if we wish to have meaningful "
+"semantics for <literal>Set</literal>s."
+msgstr ""
+"Hibernate는 특정 session 범위 내에서만 persistent identity(데이터베이스 행)"
+"과 Java identity의 같음을 보장한다. 따라서 우리가 다른 세션들에서 검색된 인스"
+"턴스들을 혼합시키자마자, 우리가 <literal>Set</literal>들에 대해 유의미하게 만"
+"들고자 원할 경우, 우리는 <literal>equals()</literal>와 <literal>hashCode()</"
+"literal>를 구현해야 한다."
 
-#: index.docbook:192
-msgid "We recommend implementing <literal>equals()</literal> and <literal>hashCode()</literal> using <emphasis>Business key equality</emphasis>. Business key equality means that the <literal>equals()</literal> method compares only the properties that form the business key, a key that would identify our instance in the real world (a <emphasis>natural</emphasis> candidate key):"
-msgstr "가장 명백한 방법은 두 객체들의 identifier 값을 비교함으로써 <literal>equals()</literal>/<literal>hashCode()</literal>를 구현하는 것이다. 만일 그 값이 동일하다면, 둘다 동일한 데이터베이스 행이어야 하고, 그러므로 그것들은 같다(둘다 하나의 <literal>Set</literal>에 추가되는 경우에, 우리는 <literal>Set</literal> 속에서 하나의 요소만을 갖게 될 것이다). 불행하게도, 우리는 생성되는 식별자들을 갖는 그 접근법을 사용할 수 없다! Hibernate는 오직 식별자 값들을 영속화 되는 객체들에 할당할 것이고, 새로이 생성된 인스턴스는 임의의 identifier 값을 갖지 않을 것이다! 만일 인스턴스가 저장되지 않고 현재 하나의 <literal>Set</literal> 속에 있을 경우에, 그것을 저장하는것은 하나의 식별자 값을 그 객체에게 할당할 것이다. 만일 <literal>equals()</literal>와 <literal>ha!
 shCode()</literal>가 그 식별자 값에 기초할 경우, hash 코드는 <literal>Set</literal>의 계약을 파기하여 변경될 것이다. 이 문제에 대한 전체 논의에 대해서는 Hibernate 웹 사이트를 보라. 이것은 Hibernate 쟁점이 아닌, 객체 identity와 equality에 관한 통상의 자바 의미론임을 노트하라."
+#. Tag: para
+#: persistent_classes.xml:178
+#, no-c-format
+msgid ""
+"The most obvious way is to implement <literal>equals()</literal>/"
+"<literal>hashCode()</literal> by comparing the identifier value of both "
+"objects. If the value is the same, both must be the same database row, they "
+"are therefore equal (if both are added to a <literal>Set</literal>, we will "
+"only have one element in the <literal>Set</literal>). Unfortunately, we "
+"can't use that approach with generated identifiers! Hibernate will only "
+"assign identifier values to objects that are persistent, a newly created "
+"instance will not have any identifier value! Furthermore, if an instance is "
+"unsaved and currently in a <literal>Set</literal>, saving it will assign an "
+"identifier value to the object. If <literal>equals()</literal> and "
+"<literal>hashCode()</literal> are based on the identifier value, the hash "
+"code would change, breaking the contract of the <literal>Set</literal>. See "
+"the Hibernate website for a full discussion of this problem. Note that this "
+"is not a Hibernate issue, but normal Java semantics of object identity and "
+"equality."
+msgstr ""
+"가장 명백한 방법은 두 객체들의 identifier 값을 비교함으로써 <literal>equals()"
+"</literal>/<literal>hashCode()</literal>를 구현하는 것이다. 만일 그 값이 동일"
+"하다면, 둘다 동일한 데이터베이스 행이어야 하고, 그러므로 그것들은 같다(둘다 "
+"하나의 <literal>Set</literal>에 추가되는 경우에, 우리는 <literal>Set</"
+"literal> 속에서 하나의 요소만을 갖게 될 것이다). 불행하게도, 우리는 생성되는 "
+"식별자들을 갖는 그 접근법을 사용할 수 없다! Hibernate는 오직 식별자 값들을 영"
+"속화 되는 객체들에 할당할 것이고, 새로이 생성된 인스턴스는 임의의 identifier "
+"값을 갖지 않을 것이다! 만일 인스턴스가 저장되지 않고 현재 하나의 "
+"<literal>Set</literal> 속에 있을 경우에, 그것을 저장하는것은 하나의 식별자 값"
+"을 그 객체에게 할당할 것이다. 만일 <literal>equals()</literal>와 "
+"<literal>hashCode()</literal>가 그 식별자 값에 기초할 경우, hash 코드는 "
+"<literal>Set</literal>의 계약을 파기하여 변경될 것이다. 이 문제에 대한 전체 "
+"논의에 대해서는 Hibernate 웹 사이트를 보라. 이것은 Hibernate 쟁점이 아닌, 객"
+"체 identity와 equality에 관한 통상의 자바 의미론임을 노트하라."
 
-#: index.docbook:200
+#. Tag: para
+#: persistent_classes.xml:192
+#, no-c-format
 msgid ""
-      "<![CDATA[public class Cat {\n"
-      "\n"
-      "    ...\n"
-      "    public boolean equals(Object other) {\n"
-      "        if (this == other) return true;\n"
-      "        if ( !(other instanceof Cat) ) return false;\n"
-      "\n"
-      "        final Cat cat = (Cat) other;\n"
-      "\n"
-      "        if ( !cat.getLitterId().equals( getLitterId() ) ) return false;\n"
-      "        if ( !cat.getMother().equals( getMother() ) ) return false;\n"
-      "\n"
-      "        return true;\n"
-      "    }\n"
-      "\n"
-      "    public int hashCode() {\n"
-      "        int result;\n"
-      "        result = getMother().hashCode();\n"
-      "        result = 29 * result + getLitterId();\n"
-      "        return result;\n"
-      "    }\n"
-      "\n"
-      "}]]>"
-msgstr "우리는 <emphasis>Business key equality</emphasis>를 사용하여 <literal>equals()</literal>와 <literal>hashCode()</literal>를 구현할 것 권장한다. Business key equality는 <literal>equals()</literal> 메소드가 비지니스 키, 즉 실세계에서 우리의 인스턴스를 식별하게 될 키(<emphasis>natural</emphasis> 후보 키)를 형성하는 프로퍼티들만을 비교한다는 점을 의미한다 :"
+"We recommend implementing <literal>equals()</literal> and <literal>hashCode()"
+"</literal> using <emphasis>Business key equality</emphasis>. Business key "
+"equality means that the <literal>equals()</literal> method compares only the "
+"properties that form the business key, a key that would identify our "
+"instance in the real world (a <emphasis>natural</emphasis> candidate key):"
+msgstr ""
+"우리는 <emphasis>Business key equality</emphasis>를 사용하여 <literal>equals"
+"()</literal>와 <literal>hashCode()</literal>를 구현할 것 권장한다. Business "
+"key equality는 <literal>equals()</literal> 메소드가 비지니스 키, 즉 실세계에"
+"서 우리의 인스턴스를 식별하게 될 키(<emphasis>natural</emphasis> 후보 키)를 "
+"형성하는 프로퍼티들만을 비교한다는 점을 의미한다 :"
 
-#: index.docbook:202
-msgid "Note that a business key does not have to be as solid as a database primary key candidate (see <xref linkend=\"transactions-basics-identity\"/>). Immutable or unique properties are usually good candidates for a business key."
+#. Tag: programlisting
+#: persistent_classes.xml:200
+#, no-c-format
+msgid ""
+"<![CDATA[public class Cat {\n"
+"\n"
+"    ...\n"
+"    public boolean equals(Object other) {\n"
+"        if (this == other) return true;\n"
+"        if ( !(other instanceof Cat) ) return false;\n"
+"\n"
+"        final Cat cat = (Cat) other;\n"
+"\n"
+"        if ( !cat.getLitterId().equals( getLitterId() ) ) return false;\n"
+"        if ( !cat.getMother().equals( getMother() ) ) return false;\n"
+"\n"
+"        return true;\n"
+"    }\n"
+"\n"
+"    public int hashCode() {\n"
+"        int result;\n"
+"        result = getMother().hashCode();\n"
+"        result = 29 * result + getLitterId();\n"
+"        return result;\n"
+"    }\n"
+"\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[public class Cat {\n"
-      "\n"
-      "    ...\n"
-      "    public boolean equals(Object other) {\n"
-      "        if (this == other) return true;\n"
-      "        if ( !(other instanceof Cat) ) return false;\n"
-      "\n"
-      "        final Cat cat = (Cat) other;\n"
-      "\n"
-      "        if ( !cat.getLitterId().equals( getLitterId() ) ) return false;\n"
-      "        if ( !cat.getMother().equals( getMother() ) ) return false;\n"
-      "\n"
-      "        return true;\n"
-      "    }\n"
-      "\n"
-      "    public int hashCode() {\n"
-      "        int result;\n"
-      "        result = getMother().hashCode();\n"
-      "        result = 29 * result + getLitterId();\n"
-      "        return result;\n"
-      "    }\n"
-      "\n"
-      "}]]>"
 
-#: index.docbook:212
+#. Tag: para
+#: persistent_classes.xml:202
+#, no-c-format
+msgid ""
+"Note that a business key does not have to be as solid as a database primary "
+"key candidate (see <xref linkend=\"transactions-basics-identity\"/>). "
+"Immutable or unique properties are usually good candidates for a business "
+"key."
+msgstr ""
+"하나의 비지니스 키는 데이터베이스 프라이머리 키 후보 만큼 견고하지 않아야 한"
+"다(<xref linkend=\"transactions-basics-identity\"/>를 보라). 대개 변경할 수 "
+"없는 프로퍼티 또는 유일한(unique) 프로퍼티는 대개 비지니스 키에 대한 좋은 후"
+"보들이다."
+
+#. Tag: title
+#: persistent_classes.xml:212
+#, no-c-format
 msgid "Dynamic models"
-msgstr "하나의 비지니스 키는 데이터베이스 프라이머리 키 후보 만큼 견고하지 않아야 한다(<xref linkend=\"transactions-basics-identity\"/>를 보라). 대개 변경할 수 없는 프로퍼티 또는 유일한(unique) 프로퍼티는 대개 비지니스 키에 대한 좋은 후보들이다."
-
-#: index.docbook:215
-msgid "Note that the following features are currently considered experimental and may change in the near future."
 msgstr "동적인 모형들"
 
-#: index.docbook:219
-msgid "Persistent entities don't necessarily have to be represented as POJO classes or as JavaBean objects at runtime. Hibernate also supports dynamic models (using <literal>Map</literal>s of <literal>Map</literal>s at runtime) and the representation of entities as DOM4J trees. With this approach, you don't write persistent classes, only mapping files."
-msgstr "다음 특징들은 현재 실험적으로 고려되고 있으며 장래에는 변경될 수 있음을 노트하라."
+#. Tag: emphasis
+#: persistent_classes.xml:215
+#, no-c-format
+msgid ""
+"Note that the following features are currently considered experimental and "
+"may change in the near future."
+msgstr ""
+"다음 특징들은 현재 실험적으로 고려되고 있으며 장래에는 변경될 수 있음을 노트"
+"하라."
 
-#: index.docbook:227
-msgid "By default, Hibernate works in normal POJO mode. You may set a default entity representation mode for a particular <literal>SessionFactory</literal> using the <literal>default_entity_mode</literal> configuration option (see <xref linkend=\"configuration-optional-properties\"/>."
-msgstr "영속 엔티티들은 반드시 실행시에 POJO 클래스들로 또는 자바빈즈 객체들로 표현되어야할 필요는 없다. Hibernate는 또한 (실행 시에 <literal>Map</literal>들을 가진 <literal>Map</literal>들을 사용하여) 동적인 모형들을 지원하고 DOM4J 트리들로서 엔티티들에 대한 표현을 지원한다. 이 접근법으로, 당신은 영속 클래스들을 작성하지 않고, 오직 매핑 파일들 만을 작성한다."
+#. Tag: para
+#: persistent_classes.xml:219
+#, no-c-format
+msgid ""
+"Persistent entities don't necessarily have to be represented as POJO classes "
+"or as JavaBean objects at runtime. Hibernate also supports dynamic models "
+"(using <literal>Map</literal>s of <literal>Map</literal>s at runtime) and "
+"the representation of entities as DOM4J trees. With this approach, you don't "
+"write persistent classes, only mapping files."
+msgstr ""
+"영속 엔티티들은 반드시 실행시에 POJO 클래스들로 또는 자바빈즈 객체들로 표현되"
+"어야할 필요는 없다. Hibernate는 또한 (실행 시에 <literal>Map</literal>들을 가"
+"진 <literal>Map</literal>들을 사용하여) 동적인 모형들을 지원하고 DOM4J 트리들"
+"로서 엔티티들에 대한 표현을 지원한다. 이 접근법으로, 당신은 영속 클래스들을 "
+"작성하지 않고, 오직 매핑 파일들 만을 작성한다."
 
-#: index.docbook:234
-msgid "The following examples demonstrates the representation using <literal>Map</literal>s. First, in the mapping file, an <literal>entity-name</literal> has to be declared instead of (or in addition to) a class name:"
-msgstr "디폴트로, Hibernate는 통산의 POJO 모드로 동작한다. 당신은 <literal>default_entity_mode</literal> 구성 옵션을 사용하여 특별한 <literal>SessionFactory</literal>에 대해 디폴트 엔티티 표현 모드를 설정할 수 있다 (<xref linkend=\"configuration-optional-properties\"/>을 보라)."
+#. Tag: para
+#: persistent_classes.xml:227
+#, no-c-format
+msgid ""
+"By default, Hibernate works in normal POJO mode. You may set a default "
+"entity representation mode for a particular <literal>SessionFactory</"
+"literal> using the <literal>default_entity_mode</literal> configuration "
+"option (see <xref linkend=\"configuration-optional-properties\"/>."
+msgstr ""
+"디폴트로, Hibernate는 통산의 POJO 모드로 동작한다. 당신은 "
+"<literal>default_entity_mode</literal> 구성 옵션을 사용하여 특별한 "
+"<literal>SessionFactory</literal>에 대해 디폴트 엔티티 표현 모드를 설정할 수 "
+"있다 (<xref linkend=\"configuration-optional-properties\"/>을 보라)."
 
-#: index.docbook:240
+#. Tag: para
+#: persistent_classes.xml:234
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class entity-name=\"Customer\">\n"
-      "\n"
-      "        <id name=\"id\"\n"
-      "            type=\"long\"\n"
-      "            column=\"ID\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "\n"
-      "        <property name=\"name\"\n"
-      "            column=\"NAME\"\n"
-      "            type=\"string\"/>\n"
-      "\n"
-      "        <property name=\"address\"\n"
-      "            column=\"ADDRESS\"\n"
-      "            type=\"string\"/>\n"
-      "\n"
-      "        <many-to-one name=\"organization\"\n"
-      "            column=\"ORGANIZATION_ID\"\n"
-      "            class=\"Organization\"/>\n"
-      "\n"
-      "        <bag name=\"orders\"\n"
-      "            inverse=\"true\"\n"
-      "            lazy=\"false\"\n"
-      "            cascade=\"all\">\n"
-      "            <key column=\"CUSTOMER_ID\"/>\n"
-      "            <one-to-many class=\"Order\"/>\n"
-      "        </bag>\n"
-      "\n"
-      "    </class>\n"
-      "    \n"
-      "</hibernate-mapping>]]>"
-msgstr "다음 예제들은<literal>Map</literal>들을 사용하는 표현을 설명한다. 먼저 매핑 파일에서, <literal>entity-name</literal>은 클래스 이름 대신에(또는 클래스 이름에 덧붙여) 선언되어야 한다:"
+"The following examples demonstrates the representation using <literal>Map</"
+"literal>s. First, in the mapping file, an <literal>entity-name</literal> has "
+"to be declared instead of (or in addition to) a class name:"
+msgstr ""
+"다음 예제들은<literal>Map</literal>들을 사용하는 표현을 설명한다. 먼저 매핑 "
+"파일에서, <literal>entity-name</literal>은 클래스 이름 대신에(또는 클래스 이"
+"름에 덧붙여) 선언되어야 한다:"
 
-#: index.docbook:242
-msgid "Note that even though associations are declared using target class names, the target type of an associations may also be a dynamic entity instead of a POJO."
+#. Tag: programlisting
+#: persistent_classes.xml:240
+#, no-c-format
+msgid ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class entity-name=\"Customer\">\n"
+"\n"
+"        <id name=\"id\"\n"
+"            type=\"long\"\n"
+"            column=\"ID\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"\n"
+"        <property name=\"name\"\n"
+"            column=\"NAME\"\n"
+"            type=\"string\"/>\n"
+"\n"
+"        <property name=\"address\"\n"
+"            column=\"ADDRESS\"\n"
+"            type=\"string\"/>\n"
+"\n"
+"        <many-to-one name=\"organization\"\n"
+"            column=\"ORGANIZATION_ID\"\n"
+"            class=\"Organization\"/>\n"
+"\n"
+"        <bag name=\"orders\"\n"
+"            inverse=\"true\"\n"
+"            lazy=\"false\"\n"
+"            cascade=\"all\">\n"
+"            <key column=\"CUSTOMER_ID\"/>\n"
+"            <one-to-many class=\"Order\"/>\n"
+"        </bag>\n"
+"\n"
+"    </class>\n"
+"    \n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class entity-name=\"Customer\">\n"
-      "\n"
-      "        <id name=\"id\"\n"
-      "            type=\"long\"\n"
-      "            column=\"ID\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "\n"
-      "        <property name=\"name\"\n"
-      "            column=\"NAME\"\n"
-      "            type=\"string\"/>\n"
-      "\n"
-      "        <property name=\"address\"\n"
-      "            column=\"ADDRESS\"\n"
-      "            type=\"string\"/>\n"
-      "\n"
-      "        <many-to-one name=\"organization\"\n"
-      "            column=\"ORGANIZATION_ID\"\n"
-      "            class=\"Organization\"/>\n"
-      "\n"
-      "        <bag name=\"orders\"\n"
-      "            inverse=\"true\"\n"
-      "            lazy=\"false\"\n"
-      "            cascade=\"all\">\n"
-      "            <key column=\"CUSTOMER_ID\"/>\n"
-      "            <one-to-many class=\"Order\"/>\n"
-      "        </bag>\n"
-      "\n"
-      "    </class>\n"
-      "    \n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:249
-msgid "After setting the default entity mode to <literal>dynamic-map</literal> for the <literal>SessionFactory</literal>, we can at runtime work with <literal>Map</literal>s of <literal>Map</literal>s:"
-msgstr "심지어 비록 연관들이 대상(target) 클래스 이름들을 사용하여 선언될지라도, 연관들의 대상(target) 타입은 또한 POJO가 아닌 동적인 엔티티일 수 있음을 노트하라."
+#. Tag: para
+#: persistent_classes.xml:242
+#, no-c-format
+msgid ""
+"Note that even though associations are declared using target class names, "
+"the target type of an associations may also be a dynamic entity instead of a "
+"POJO."
+msgstr ""
+"심지어 비록 연관들이 대상(target) 클래스 이름들을 사용하여 선언될지라도, 연관"
+"들의 대상(target) 타입은 또한 POJO가 아닌 동적인 엔티티일 수 있음을 노트하라."
 
-#: index.docbook:255
+#. Tag: para
+#: persistent_classes.xml:249
+#, no-c-format
 msgid ""
-      "<![CDATA[Session s = openSession();\n"
-      "Transaction tx = s.beginTransaction();\n"
-      "Session s = openSession();\n"
-      "\n"
-      "// Create a customer\n"
-      "Map david = new HashMap();\n"
-      "david.put(\"name\", \"David\");\n"
-      "\n"
-      "// Create an organization\n"
-      "Map foobar = new HashMap();\n"
-      "foobar.put(\"name\", \"Foobar Inc.\");\n"
-      "\n"
-      "// Link both\n"
-      "david.put(\"organization\", foobar);\n"
-      "\n"
-      "// Save both\n"
-      "s.save(\"Customer\", david);\n"
-      "s.save(\"Organization\", foobar);\n"
-      "\n"
-      "tx.commit();\n"
-      "s.close();]]>"
-msgstr "<literal>SessionFactory</literal>에 대한 디폴트 엔티티 모드를 <literal>dynamic-map</literal>으로 설정한 후에, 우리는 <literal>Map</literal>들을 가진 <literal>Map</literal>들에 대해 실행 시에 작업할 수 있다:"
+"After setting the default entity mode to <literal>dynamic-map</literal> for "
+"the <literal>SessionFactory</literal>, we can at runtime work with "
+"<literal>Map</literal>s of <literal>Map</literal>s:"
+msgstr ""
+"<literal>SessionFactory</literal>에 대한 디폴트 엔티티 모드를 "
+"<literal>dynamic-map</literal>으로 설정한 후에, 우리는 <literal>Map</literal>"
+"들을 가진 <literal>Map</literal>들에 대해 실행 시에 작업할 수 있다:"
 
-#: index.docbook:257
-msgid "The advantages of a dynamic mapping are quick turnaround time for prototyping without the need for entity class implementation. However, you lose compile-time type checking and will very likely deal with many exceptions at runtime. Thanks to the Hibernate mapping, the database schema can easily be normalized and sound, allowing to add a proper domain model implementation on top later on."
+#. Tag: programlisting
+#: persistent_classes.xml:255
+#, no-c-format
+msgid ""
+"<![CDATA[Session s = openSession();\n"
+"Transaction tx = s.beginTransaction();\n"
+"Session s = openSession();\n"
+"\n"
+"// Create a customer\n"
+"Map david = new HashMap();\n"
+"david.put(\"name\", \"David\");\n"
+"\n"
+"// Create an organization\n"
+"Map foobar = new HashMap();\n"
+"foobar.put(\"name\", \"Foobar Inc.\");\n"
+"\n"
+"// Link both\n"
+"david.put(\"organization\", foobar);\n"
+"\n"
+"// Save both\n"
+"s.save(\"Customer\", david);\n"
+"s.save(\"Organization\", foobar);\n"
+"\n"
+"tx.commit();\n"
+"s.close();]]>"
 msgstr ""
-      "<![CDATA[Session s = openSession();\n"
-      "Transaction tx = s.beginTransaction();\n"
-      "Session s = openSession();\n"
-      "\n"
-      "// Create a customer\n"
-      "Map david = new HashMap();\n"
-      "david.put(\"name\", \"David\");\n"
-      "\n"
-      "// Create an organization\n"
-      "Map foobar = new HashMap();\n"
-      "foobar.put(\"name\", \"Foobar Inc.\");\n"
-      "\n"
-      "// Link both\n"
-      "david.put(\"organization\", foobar);\n"
-      "\n"
-      "// Save both\n"
-      "s.save(\"Customer\", david);\n"
-      "s.save(\"Organization\", foobar);\n"
-      "\n"
-      "tx.commit();\n"
-      "s.close();]]>"
 
-#: index.docbook:265
-msgid "Entity representation modes can also be set on a per <literal>Session</literal> basis:"
-msgstr "dynamic 매핑의 장점들은 엔티티 클래스 구현에 대한 필요 없이도 프로토타이핑을 위한 빠른 전환 시간이다. 하지만 당신은 컴파일 시 타입 체킹을 잃고 실행 시에 많은 예외상황들을 다루게 될 것이다. Hibernate 매핑 덕분에, 나중에 고유한 도메인 모형 구현을 상단에 추가하는 것이 허용되어서, 데이터베이스 스키마가 쉽게 정규화 되고 소리가 울려 퍼질 수 있다."
+#. Tag: para
+#: persistent_classes.xml:257
+#, no-c-format
+msgid ""
+"The advantages of a dynamic mapping are quick turnaround time for "
+"prototyping without the need for entity class implementation. However, you "
+"lose compile-time type checking and will very likely deal with many "
+"exceptions at runtime. Thanks to the Hibernate mapping, the database schema "
+"can easily be normalized and sound, allowing to add a proper domain model "
+"implementation on top later on."
+msgstr ""
+"dynamic 매핑의 장점들은 엔티티 클래스 구현에 대한 필요 없이도 프로토타이핑을 "
+"위한 빠른 전환 시간이다. 하지만 당신은 컴파일 시 타입 체킹을 잃고 실행 시에 "
+"많은 예외상황들을 다루게 될 것이다. Hibernate 매핑 덕분에, 나중에 고유한 도메"
+"인 모형 구현을 상단에 추가하는 것이 허용되어서, 데이터베이스 스키마가 쉽게 정"
+"규화 되고 소리가 울려 퍼질 수 있다."
 
-#: index.docbook:270
+#. Tag: para
+#: persistent_classes.xml:265
+#, no-c-format
 msgid ""
-      "<![CDATA[Session dynamicSession = pojoSession.getSession(EntityMode.MAP);\n"
-      "\n"
-      "// Create a customer\n"
-      "Map david = new HashMap();\n"
-      "david.put(\"name\", \"David\");\n"
-      "dynamicSession.save(\"Customer\", david);\n"
-      "...\n"
-      "dynamicSession.flush();\n"
-      "dynamicSession.close()\n"
-      "...\n"
-      "// Continue on pojoSession\n"
-      "]]>"
-msgstr "엔티티 표현 모드들은 또한 하나의 단위 <literal>Session</literal> 기준에 대해 설정될 수 있다:"
+"Entity representation modes can also be set on a per <literal>Session</"
+"literal> basis:"
+msgstr ""
+"엔티티 표현 모드들은 또한 하나의 단위 <literal>Session</literal> 기준에 대해 "
+"설정될 수 있다:"
 
-#: index.docbook:273
-msgid "Please note that the call to <literal>getSession()</literal> using an <literal>EntityMode</literal> is on the <literal>Session</literal> API, not the <literal>SessionFactory</literal>. That way, the new <literal>Session</literal> shares the underlying JDBC connection, transaction, and other context information. This means you don't have tocall <literal>flush()</literal> and <literal>close()</literal> on the secondary <literal>Session</literal>, and also leave the transaction and connection handling to the primary unit of work."
+#. Tag: programlisting
+#: persistent_classes.xml:270
+#, no-c-format
+msgid ""
+"<![CDATA[Session dynamicSession = pojoSession.getSession(EntityMode.MAP);\n"
+"\n"
+"// Create a customer\n"
+"Map david = new HashMap();\n"
+"david.put(\"name\", \"David\");\n"
+"dynamicSession.save(\"Customer\", david);\n"
+"...\n"
+"dynamicSession.flush();\n"
+"dynamicSession.close()\n"
+"...\n"
+"// Continue on pojoSession\n"
+"]]>"
 msgstr ""
-      "<![CDATA[Session dynamicSession = pojoSession.getSession(EntityMode.MAP);\n"
-      "\n"
-      "// Create a customer\n"
-      "Map david = new HashMap();\n"
-      "david.put(\"name\", \"David\");\n"
-      "dynamicSession.save(\"Customer\", david);\n"
-      "...\n"
-      "dynamicSession.flush();\n"
-      "dynamicSession.close()\n"
-      "...\n"
-      "// Continue on pojoSession\n"
-      "]]>"
 
-#: index.docbook:283
-msgid "More information about the XML representation capabilities can be found in <xref linkend=\"xml\"/>."
-msgstr "<literal>EntityMode</literal>를 사용하는 <literal>getSession()</literal>에 대한 호출은 <literal>SessionFactory</literal>가 아닌, <literal>Session</literal> API에 대한 것임을 노트하길 바란다. 그 방법으로, 새로운 <literal>Session</literal>은 기본 JDBC 커넥션, 트랜잭션, 그리고 다른 컨텍스트 정보를 공유한다. 이것은 당신이 두 번째 <literal>Session</literal> 상에서 <literal>flush()</literal>와 <literal>close()</literal>를 호출하지 말아야 하고, 또한 트랜잭션 및 커넥션 핸들링을 주된 작업 단위에게 맡긴다는 점을 의미한다."
+#. Tag: para
+#: persistent_classes.xml:273
+#, no-c-format
+msgid ""
+"Please note that the call to <literal>getSession()</literal> using an "
+"<literal>EntityMode</literal> is on the <literal>Session</literal> API, not "
+"the <literal>SessionFactory</literal>. That way, the new <literal>Session</"
+"literal> shares the underlying JDBC connection, transaction, and other "
+"context information. This means you don't have tocall <literal>flush()</"
+"literal> and <literal>close()</literal> on the secondary <literal>Session</"
+"literal>, and also leave the transaction and connection handling to the "
+"primary unit of work."
+msgstr ""
+"<literal>EntityMode</literal>를 사용하는 <literal>getSession()</literal>에 대"
+"한 호출은 <literal>SessionFactory</literal>가 아닌, <literal>Session</"
+"literal> API에 대한 것임을 노트하길 바란다. 그 방법으로, 새로운 "
+"<literal>Session</literal>은 기본 JDBC 커넥션, 트랜잭션, 그리고 다른 컨텍스"
+"트 정보를 공유한다. 이것은 당신이 두 번째 <literal>Session</literal> 상에서 "
+"<literal>flush()</literal>와 <literal>close()</literal>를 호출하지 말아야 하"
+"고, 또한 트랜잭션 및 커넥션 핸들링을 주된 작업 단위에게 맡긴다는 점을 의미한"
+"다."
 
-#: index.docbook:291
+#. Tag: para
+#: persistent_classes.xml:283
+#, no-c-format
+msgid ""
+"More information about the XML representation capabilities can be found in "
+"<xref linkend=\"xml\"/>."
+msgstr ""
+"XML 표현 가용성들에 대한 추가 정보는 <xref linkend=\"xml\"/>에서 찾을 수 있"
+"다."
+
+#. Tag: title
+#: persistent_classes.xml:291
+#, no-c-format
 msgid "Tuplizers"
-msgstr "XML 표현 가용성들에 대한 추가 정보는 <xref linkend=\"xml\"/>에서 찾을 수 있다."
-
-#: index.docbook:293
-msgid "<literal>org.hibernate.tuple.Tuplizer</literal>, and its sub-interfaces, are responsible for managing a particular representation of a piece of data, given that representation's <literal>org.hibernate.EntityMode</literal>. If a given piece of data is thought of as a data structure, then a tuplizer is the thing which knows how to create such a data structure and how to extract values from and inject values into such a data structure. For example, for the POJO entity mode, the correpsonding tuplizer knows how create the POJO through its constructor and how to access the POJO properties using the defined property accessors. There are two high-level types of Tuplizers, represented by the <literal>org.hibernate.tuple.entity.EntityTuplizer</literal> and <literal>org.hibernate.tuple.component.ComponentTuplizer</literal> interfaces. <literal>EntityTuplizer</literal>s are responsible for managing the above mentioned contracts in regards to entities, while <literal>ComponentTu!
 plizer</literal>s do the same for components."
 msgstr "Tuplizer들"
 
-#: index.docbook:308
-msgid "Users may also plug in their own tuplizers. Perhaps you require that a <literal>java.util.Map</literal> implementation other than <literal>java.util.HashMap</literal> be used while in the dynamic-map entity-mode; or perhaps you need to define a different proxy generation strategy than the one used by default. Both would be achieved by defining a custom tuplizer implementation. Tuplizers definitions are attached to the entity or component mapping they are meant to manage. Going back to the example of our customer entity:"
-msgstr "<literal>org.hibernate.tuple.Tuplizer</literal>, 그리고 그것의 서브-인터페이스들은 데이터의 조각에 대한 특별한 표현의 <literal>org.hibernate.EntityMode</literal>가 주어지면 그 표현을 관리하는 책임이 있다. 만일 주어진 데이터 조각이 하나의 데이터 구조로 간주될 경우, 그때 하나의 tuplizer는 그런 데이터 구조를 생성시키는 방법과 그런 데이터 구조로부터 값들을 추출시키는 방법 그리고 그런 데이터구조 속으로 값들을 삽입시키는 방법을 알고 있는 것이다. 예를 들어, POJO 엔티티 모드의 경우, 대응하는 tuplizer는 그것의 생성자를 통해 POJO를 생성시키는 방법, 그리고 정의된 프로퍼티 접근자들을 사용하여 POJO 프로퍼티들에 접근하는 방법을 안다. <literal>org.hibernate.tuple.entity.EntityTuplizer</literal> 인터페이스와 <literal>org.hibernate.tuple.component.ComponentTuplizer</!
 literal> 인터페이스에 의해 표현되는 두 가지 고급 유형의 Tuplizer들이 존재한다. <literal>EntityTuplizer</literal>들은 엔티티들에 관해서는 위에 언급된 계약들을 매핑할 책임이 있는 반면에, <literal>ComponentTuplizer</literal>들은 컴포넌트들에 대해서도 동일한 것을 행한다."
+#. Tag: para
+#: persistent_classes.xml:293
+#, no-c-format
+msgid ""
+"<literal>org.hibernate.tuple.Tuplizer</literal>, and its sub-interfaces, are "
+"responsible for managing a particular representation of a piece of data, "
+"given that representation's <literal>org.hibernate.EntityMode</literal>. If "
+"a given piece of data is thought of as a data structure, then a tuplizer is "
+"the thing which knows how to create such a data structure and how to extract "
+"values from and inject values into such a data structure. For example, for "
+"the POJO entity mode, the correpsonding tuplizer knows how create the POJO "
+"through its constructor and how to access the POJO properties using the "
+"defined property accessors. There are two high-level types of Tuplizers, "
+"represented by the <literal>org.hibernate.tuple.entity.EntityTuplizer</"
+"literal> and <literal>org.hibernate.tuple.component.ComponentTuplizer</"
+"literal> interfaces. <literal>EntityTuplizer</literal>s are responsible for "
+"managing the above mentioned contracts in regards to entities, while "
+"<literal>ComponentTuplizer</literal>s do the same for components."
+msgstr ""
+"<literal>org.hibernate.tuple.Tuplizer</literal>, 그리고 그것의 서브-인터페이"
+"스들은 데이터의 조각에 대한 특별한 표현의 <literal>org.hibernate.EntityMode</"
+"literal>가 주어지면 그 표현을 관리하는 책임이 있다. 만일 주어진 데이터 조각"
+"이 하나의 데이터 구조로 간주될 경우, 그때 하나의 tuplizer는 그런 데이터 구조"
+"를 생성시키는 방법과 그런 데이터 구조로부터 값들을 추출시키는 방법 그리고 그"
+"런 데이터구조 속으로 값들을 삽입시키는 방법을 알고 있는 것이다. 예를 들어, "
+"POJO 엔티티 모드의 경우, 대응하는 tuplizer는 그것의 생성자를 통해 POJO를 생성"
+"시키는 방법, 그리고 정의된 프로퍼티 접근자들을 사용하여 POJO 프로퍼티들에 접"
+"근하는 방법을 안다. <literal>org.hibernate.tuple.entity.EntityTuplizer</"
+"literal> 인터페이스와 <literal>org.hibernate.tuple.component."
+"ComponentTuplizer</literal> 인터페이스에 의해 표현되는 두 가지 고급 유형의 "
+"Tuplizer들이 존재한다. <literal>EntityTuplizer</literal>들은 엔티티들에 관해"
+"서는 위에 언급된 계약들을 매핑할 책임이 있는 반면에, "
+"<literal>ComponentTuplizer</literal>들은 컴포넌트들에 대해서도 동일한 것을 행"
+"한다."
 
-#: index.docbook:317
+#. Tag: para
+#: persistent_classes.xml:308
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    <class entity-name=\"Customer\">\n"
-      "        <!--\n"
-      "            Override the dynamic-map entity-mode\n"
-      "            tuplizer for the customer entity\n"
-      "        -->\n"
-      "        <tuplizer entity-mode=\"dynamic-map\"\n"
-      "                class=\"CustomMapTuplizerImpl\"/>\n"
-      "\n"
-      "        <id name=\"id\" type=\"long\" column=\"ID\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "\n"
-      "        <!-- other properties -->\n"
-      "        ...\n"
-      "    </class>\n"
-      "</hibernate-mapping>\n"
-      "\n"
-      "\n"
-      "public class CustomMapTuplizerImpl\n"
-      "        extends org.hibernate.tuple.entity.DynamicMapEntityTuplizer {\n"
-      "    // override the buildInstantiator() method to plug in our custom map...\n"
-      "    protected final Instantiator buildInstantiator(\n"
-      "            org.hibernate.mapping.PersistentClass mappingInfo) {\n"
-      "        return new CustomMapInstantiator( mappingInfo );\n"
-      "    }\n"
-      "\n"
-      "    private static final class CustomMapInstantiator\n"
-      "            extends org.hibernate.tuple.DynamicMapInstantitor {\n"
-      "        // override the generateMap() method to return our custom map...\n"
-      "            protected final Map generateMap() {\n"
-      "                    return new CustomMap();\n"
-      "            }\n"
-      "    }\n"
-      "}]]>"
-msgstr "사용자들은 또한 그들 자신의 tuplizer들을 플러그 시킬 수 있다. 아마 당신은 dynamic-map entity-mode 동안에 사용되는 <literal>java.util.HashMap</literal> 대신에 하나의 <literal>java.util.Map</literal> 구현을 필요로 한다; 또는 아마 당신은 디폴트로 사용되는 방도 보다는 하나의 다른 다른 프릭시 산출 방도를 필요로 한다. 둘다 하나의 맞춤형 tuplizer를 정의함으로써 성취될 것이다. Tuplizer들 정의들은 그것들이 관리할 수단인 엔티티 매핑 또는 컴포넌트 매핑에 첨부된다. 우리의 고객 엔티티에 대한 예제로 되돌아가면:"
+"Users may also plug in their own tuplizers. Perhaps you require that a "
+"<literal>java.util.Map</literal> implementation other than <literal>java."
+"util.HashMap</literal> be used while in the dynamic-map entity-mode; or "
+"perhaps you need to define a different proxy generation strategy than the "
+"one used by default. Both would be achieved by defining a custom tuplizer "
+"implementation. Tuplizers definitions are attached to the entity or "
+"component mapping they are meant to manage. Going back to the example of our "
+"customer entity:"
+msgstr ""
+"사용자들은 또한 그들 자신의 tuplizer들을 플러그 시킬 수 있다. 아마 당신은 "
+"dynamic-map entity-mode 동안에 사용되는 <literal>java.util.HashMap</literal> "
+"대신에 하나의 <literal>java.util.Map</literal> 구현을 필요로 한다; 또는 아마 "
+"당신은 디폴트로 사용되는 방도 보다는 하나의 다른 다른 프릭시 산출 방도를 필요"
+"로 한다. 둘다 하나의 맞춤형 tuplizer를 정의함으로써 성취될 것이다. Tuplizer"
+"들 정의들은 그것들이 관리할 수단인 엔티티 매핑 또는 컴포넌트 매핑에 첨부된"
+"다. 우리의 고객 엔티티에 대한 예제로 되돌아가면:"
 
-#: index.docbook:322
-msgid "TODO: Document user-extension framework in the property and proxy packages"
+#. Tag: programlisting
+#: persistent_classes.xml:317
+#, no-c-format
+msgid ""
+"<![CDATA[<hibernate-mapping>\n"
+"    <class entity-name=\"Customer\">\n"
+"        <!--\n"
+"            Override the dynamic-map entity-mode\n"
+"            tuplizer for the customer entity\n"
+"        -->\n"
+"        <tuplizer entity-mode=\"dynamic-map\"\n"
+"                class=\"CustomMapTuplizerImpl\"/>\n"
+"\n"
+"        <id name=\"id\" type=\"long\" column=\"ID\">\n"
+"            <generator class=\"sequence\"/>\n"
+"        </id>\n"
+"\n"
+"        <!-- other properties -->\n"
+"        ...\n"
+"    </class>\n"
+"</hibernate-mapping>\n"
+"\n"
+"\n"
+"public class CustomMapTuplizerImpl\n"
+"        extends org.hibernate.tuple.entity.DynamicMapEntityTuplizer {\n"
+"    // override the buildInstantiator() method to plug in our custom map...\n"
+"    protected final Instantiator buildInstantiator(\n"
+"            org.hibernate.mapping.PersistentClass mappingInfo) {\n"
+"        return new CustomMapInstantiator( mappingInfo );\n"
+"    }\n"
+"\n"
+"    private static final class CustomMapInstantiator\n"
+"            extends org.hibernate.tuple.DynamicMapInstantitor {\n"
+"        // override the generateMap() method to return our custom map...\n"
+"            protected final Map generateMap() {\n"
+"                    return new CustomMap();\n"
+"            }\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    <class entity-name=\"Customer\">\n"
-      "        <!--\n"
-      "            Override the dynamic-map entity-mode\n"
-      "            tuplizer for the customer entity\n"
-      "        -->\n"
-      "        <tuplizer entity-mode=\"dynamic-map\"\n"
-      "                class=\"CustomMapTuplizerImpl\"/>\n"
-      "\n"
-      "        <id name=\"id\" type=\"long\" column=\"ID\">\n"
-      "            <generator class=\"sequence\"/>\n"
-      "        </id>\n"
-      "\n"
-      "        <!-- other properties -->\n"
-      "        ...\n"
-      "    </class>\n"
-      "</hibernate-mapping>\n"
-      "\n"
-      "\n"
-      "public class CustomMapTuplizerImpl\n"
-      "        extends org.hibernate.tuple.entity.DynamicMapEntityTuplizer {\n"
-      "    // override the buildInstantiator() method to plug in our custom map...\n"
-      "    protected final Instantiator buildInstantiator(\n"
-      "            org.hibernate.mapping.PersistentClass mappingInfo) {\n"
-      "        return new CustomMapInstantiator( mappingInfo );\n"
-      "    }\n"
-      "\n"
-      "    private static final class CustomMapInstantiator\n"
-      "            extends org.hibernate.tuple.DynamicMapInstantitor {\n"
-      "        // override the generateMap() method to return our custom map...\n"
-      "        protected final Map generateMap() {\n"
-      "            return new CustomMap();\n"
-      "        }\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:293
-msgid "appended paragraph 1"
-msgstr "TODO: property 패키지와 proxy 패키지 내에 user-extension 프레임웍을 문서화 할 것."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: persistent_classes.xml:322
+#, no-c-format
+msgid ""
+"TODO: Document user-extension framework in the property and proxy packages"
+msgstr ""
+"TODO: property 패키지와 proxy 패키지 내에 user-extension 프레임웍을 문서화 "
+"할 것."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/preface.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/preface.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/preface.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,68 +1,195 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:21
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: preface.xml:21
+#, no-c-format
 msgid "Preface"
-msgstr "<title>머리말</title>"
+msgstr "머리말"
 
-#: index.docbook:23
-msgid "Working with object-oriented software and a relational database can be cumbersome and time consuming in today's enterprise environments. Hibernate is an object/relational mapping tool for Java environments. The term object/relational mapping (ORM) refers to the technique of mapping a data representation from an object model to a relational data model with a SQL-based schema."
-msgstr "객체 지향 소프트웨어와 관계형 데이터베이스로 작업하는 것은 오늘날의 엔터프라이즈 환경들에서 성가시고 시간이 소비될 수 있다. Hibernate는 자바 환경들을 위한 객체/관계형 매핑 도구이다. object/relational mapping(ORM) 용어는 객체 모형으로부터 SQL-기반의 스키마를 가진 관계형 데이터 모형으로의 데이터 표상을 매핑하는 기술을 언급한다."
+#. Tag: para
+#: preface.xml:23
+#, no-c-format
+msgid ""
+"Working with object-oriented software and a relational database can be "
+"cumbersome and time consuming in today's enterprise environments. Hibernate "
+"is an object/relational mapping tool for Java environments. The term object/"
+"relational mapping (ORM) refers to the technique of mapping a data "
+"representation from an object model to a relational data model with a SQL-"
+"based schema."
+msgstr ""
+"객체 지향 소프트웨어와 관계형 데이터베이스로 작업하는 것은 오늘날의 엔터프라"
+"이즈 환경들에서 성가시고 시간이 소비될 수 있다. Hibernate는 자바 환경들을 위"
+"한 객체/관계형 매핑 도구이다. object/relational mapping(ORM) 용어는 객체 모형"
+"으로부터 SQL-기반의 스키마를 가진 관계형 데이터 모형으로의 데이터 표상을 매핑"
+"하는 기술을 언급한다."
 
-#: index.docbook:31
-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 and can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC."
-msgstr "Hibernate는 자바 클래스들로부터 데이터베이스로의 매핑(그리고 자바 데이터 타입들로부터 SQL 데이터 타입들로의 매핑)을 처리할 뿐만 아니라, 또한 데이터 질의와 검색 편의들을 제공하며, SQL과 JDBC로 수작업 데이터 핸들링에 소요되는 개발 시간을 현저하게 단축시켜줄 수 있다."
+#. Tag: para
+#: preface.xml:31
+#, 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 and can significantly reduce development time "
+"otherwise spent with manual data handling in SQL and JDBC."
+msgstr ""
+"Hibernate는 자바 클래스들로부터 데이터베이스로의 매핑(그리고 자바 데이터 타입"
+"들로부터 SQL 데이터 타입들로의 매핑)을 처리할 뿐만 아니라, 또한 데이터 질의"
+"와 검색 편의들을 제공하며, SQL과 JDBC로 수작업 데이터 핸들링에 소요되는 개발 "
+"시간을 현저하게 단축시켜줄 수 있다."
 
-#: index.docbook:38
-msgid "Hibernates goal is to relieve the developer from 95 percent of common data persistence related programming tasks. 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의 목적은 공통된 데이터 영속화 관련 프로그래밍 작업들의 95%를 덜어주는 것이다. Hibernate는 데이터베이스에서 비지니스 로직을 구현하는데 내장 프로시저들을 전용으로 사용하는 데이터 중심적 어플리케이션에 대한 최상의 솔루션이 아닐 수도 있지만, 그것은 자바 기반 미들-티어에서 객체 지향 도메인 모형들과 비지니스 로직에 가장 유용하다. 하지만 Hibernate는 벤더 지정적인 SQL 코드를 제거하거나 캡슐화 시키는 당신을 확실히 도와줄 수 있고 테이블 형식의 표현으로부터 객체들의 그래프로 결과 셋을 변환하는 공통된 태스크를 도와줄 것이다."
+#. Tag: para
+#: preface.xml:38
+#, no-c-format
+msgid ""
+"Hibernates goal is to relieve the developer from 95 percent of common data "
+"persistence related programming tasks. 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의 목적은 공통된 데이터 영속화 관련 프로그래밍 작업들의 95%를 덜어주"
+"는 것이다. Hibernate는 데이터베이스에서 비지니스 로직을 구현하는데 내장 프로"
+"시저들을 전용으로 사용하는 데이터 중심적 어플리케이션에 대한 최상의 솔루션이 "
+"아닐 수도 있지만, 그것은 자바 기반 미들-티어에서 객체 지향 도메인 모형들과 비"
+"지니스 로직에 가장 유용하다. 하지만 Hibernate는 벤더 지정적인 SQL 코드를 제거"
+"하거나 캡슐화 시키는 당신을 확실히 도와줄 수 있고 테이블 형식의 표현으로부터 "
+"객체들의 그래프로 결과 셋을 변환하는 공통된 태스크를 도와줄 것이다."
 
-#: index.docbook:48
-msgid "If you are new to Hibernate and Object/Relational Mapping or even Java, please follow these steps:"
-msgstr "만일 당신이 Hibernate와 Object/Relational 매핑 또는 심지어 자바에 초심자라면, 다음 단계들을 따르기 바란다:"
+#. Tag: para
+#: preface.xml:48
+#, no-c-format
+msgid ""
+"If you are new to Hibernate and Object/Relational Mapping or even Java, "
+"please follow these steps:"
+msgstr ""
+"만일 당신이 Hibernate와 Object/Relational 매핑 또는 심지어 자바에 초심자라"
+"면, 다음 단계들을 따르기 바란다:"
 
-#: index.docbook:55
-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 "더 많은 단계적인 사용 설명서들을 가진 더 긴 튜토리얼은 <xref linkend=\"tutorial\"/> 을 읽어라. 튜토리얼을 위한 소스 코드는 <literal>doc/reference/tutorial/</literal> 디렉토리에 포함되어 있다."
+#. Tag: para
+#: preface.xml:55
+#, 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 ""
+"더 많은 단계적인 사용 설명서들을 가진 더 긴 튜토리얼은 <xref linkend="
+"\"tutorial\"/> 을 읽어라. 튜토리얼을 위한 소스 코드는 <literal>doc/reference/"
+"tutorial/</literal> 디렉토리에 포함되어 있다."
 
-#: index.docbook:63
-msgid "Read <xref linkend=\"architecture\"/> to understand the environments where Hibernate can be used."
-msgstr "Hibernate가 사용될 수 있는 환경을 이해려면 <xref linkend=\"architecture\"/> 를 읽어라."
+#. Tag: para
+#: preface.xml:63
+#, no-c-format
+msgid ""
+"Read <xref linkend=\"architecture\"/> to understand the environments where "
+"Hibernate can be used."
+msgstr ""
+"Hibernate가 사용될 수 있는 환경을 이해려면 <xref linkend=\"architecture\"/> "
+"를 읽어라."
 
-#: index.docbook:69
-msgid "Have a look at 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 "Hibernate 배포본 내의 <literal>eg/</literal> 디렉토리를 살펴 보라. 이 디렉토리는 간단한 스탠드얼론 어플리케이션을 포함하고 있다. 당신의 JDBC 드라이버를 <literal>lib/</literal> 디렉토리에 복사하고 당신의 데이터베이스에 맞는 정확한 값을 지정하여 <literal>etc/hibernate.properties</literal> 를 편집하라. 배보본 디렉토리에서 명령 라인 프롬프트에서 (Ant를 사용하여) <literal>ant eg</literal> 를 타이핑 하거나 , Windows 하에서 <literal>build eg</literal> 를 타이프 하라."
+#. Tag: para
+#: preface.xml:69
+#, no-c-format
+msgid ""
+"Have a look at 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 ""
+"Hibernate 배포본 내의 <literal>eg/</literal> 디렉토리를 살펴 보라. 이 디렉토"
+"리는 간단한 스탠드얼론 어플리케이션을 포함하고 있다. 당신의 JDBC 드라이버를 "
+"<literal>lib/</literal> 디렉토리에 복사하고 당신의 데이터베이스에 맞는 정확"
+"한 값을 지정하여 <literal>etc/hibernate.properties</literal> 를 편집하라. 배"
+"보본 디렉토리에서 명령 라인 프롬프트에서 (Ant를 사용하여) <literal>ant eg</"
+"literal> 를 타이핑 하거나 , Windows 하에서 <literal>build eg</literal> 를 타"
+"이프 하라."
 
-#: index.docbook:80
-msgid "Use this reference documentation as your primary source of information. Consider reading <emphasis>Java Persistence with Hibernate</emphasis> (http://www.manning.com/bauer2) if you need more help with application design or if you prefer a step-by-step tutorial. Also visit http://caveatemptor.hibernate.org and download the example application for Java Persistence with Hibernate."
-msgstr "당신의 주된 정보의 소스로서 이 참조 문서를 사용하라. 만일 어플리케이션 설계에 대해 더 많은 도움을 필요로 하거나 당신이 단계적인 튜토리얼을 선호한다면 <emphasis>Java Persistence with Hibernate</emphasis> (http://www.manning.com/bauer2)을 읽는 것을 고려하라.또한 http://caveatemptor.hibernate.org에 방문하여 Java Persistence with Hibernate용 예제 어플리케이션을 다운로드 하라."
+#. Tag: para
+#: preface.xml:80
+#, no-c-format
+msgid ""
+"Use this reference documentation as your primary source of information. "
+"Consider reading <emphasis>Java Persistence with Hibernate</emphasis> "
+"(http://www.manning.com/bauer2) if you need more help with application "
+"design or if you prefer a step-by-step tutorial. Also visit http://"
+"caveatemptor.hibernate.org and download the example application for Java "
+"Persistence with Hibernate."
+msgstr ""
+"당신의 주된 정보의 소스로서 이 참조 문서를 사용하라. 만일 어플리케이션 설계"
+"에 대해 더 많은 도움을 필요로 하거나 당신이 단계적인 튜토리얼을 선호한다면 "
+"<emphasis>Java Persistence with Hibernate</emphasis> (http://www.manning.com/"
+"bauer2)을 읽는 것을 고려하라.또한 http://caveatemptor.hibernate.org에 방문하"
+"여 Java Persistence with Hibernate용 예제 어플리케이션을 다운로드 하라."
 
-#: index.docbook:90
+#. Tag: para
+#: preface.xml:90
+#, no-c-format
 msgid "FAQs are answered on the Hibernate website."
 msgstr "FAQ들은 Hibernate 웹 사이트 상에 답변되어 있다."
 
-#: index.docbook:95
-msgid "Third party demos, examples, and tutorials are linked on the Hibernate website."
-msgstr "제 3의 데모들, 예제들, 그리고 튜토리얼들은 Hibernate 웹 사이트 상에 링크되어 있다."
+#. Tag: para
+#: preface.xml:95
+#, no-c-format
+msgid ""
+"Third party demos, examples, and tutorials are linked on the Hibernate "
+"website."
+msgstr ""
+"제 3의 데모들, 예제들, 그리고 튜토리얼들은 Hibernate 웹 사이트 상에 링크되어 "
+"있다."
 
-#: index.docbook:101
-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 "Hibernate 웹사이트 상의 공동체 영역은 설계 패턴과 다양한 통합 솔루션들(Tomcat, JBoss AS, Struts, EJB 등.)에 관한 좋은 리소스이다."
+#. Tag: para
+#: preface.xml:101
+#, 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 ""
+"Hibernate 웹사이트 상의 공동체 영역은 설계 패턴과 다양한 통합 솔루션들"
+"(Tomcat, JBoss AS, Struts, EJB 등.)에 관한 좋은 리소스이다."
 
-#: index.docbook:109
-msgid "If you have questions, use the user forum linked on the Hibernate website. We also provide a JIRA issue trackings system for bug reports and feature requests. If you are interested in the development of Hibernate, join the developer mailing list. If you are interested in translating this documentation into your language, contact us on the developer mailing list."
-msgstr "질문이 있다면, Hibernate 상에 링크되어 있는 사용자 포럼을 사용하라. 우리는 또한 버그 보고와 특징 요청들을 위한 JIRA 쟁점 추적 시스템을 제공한다. 당신이 Hibernate의 개발에 관심이 있다면, 개발자 메일링 리스트에 참여하라. 만일 당신이 이 문서를 당신의 언어로 번역하는 것에 관심이 있다면, 개발자 메일링 리스트에 접촉하라."
+#. Tag: para
+#: preface.xml:109
+#, no-c-format
+msgid ""
+"If you have questions, use the user forum linked on the Hibernate website. "
+"We also provide a JIRA issue trackings system for bug reports and feature "
+"requests. If you are interested in the development of Hibernate, join the "
+"developer mailing list. If you are interested in translating this "
+"documentation into your language, contact us on the developer mailing list."
+msgstr ""
+"질문이 있다면, Hibernate 상에 링크되어 있는 사용자 포럼을 사용하라. 우리는 또"
+"한 버그 보고와 특징 요청들을 위한 JIRA 쟁점 추적 시스템을 제공한다. 당신이 "
+"Hibernate의 개발에 관심이 있다면, 개발자 메일링 리스트에 참여하라. 만일 당신"
+"이 이 문서를 당신의 언어로 번역하는 것에 관심이 있다면, 개발자 메일링 리스트"
+"에 접촉하라."
 
-#: index.docbook:117
-msgid "Commercial development support, production support, and training for Hibernate is available through JBoss Inc. (see http://www.hibernate.org/SupportTraining/). Hibernate is a Professional Open Source project and a critical component of the JBoss Enterprise Middleware System (JEMS) suite of products."
-msgstr "Hibernate를 위한 상용 개발 지원, 제품 지원, 그리고 교육은 JBoss Inc를 통해 이용 가능하다 (http://www.hibernate.org/SupportTraining/를 보라). Hibernate는 JBoss Professional Open Source product 프로젝트이고 제품들에 대한 JBoss Enterprise Middleware System (JEMS) suite의 중대한 컴포넌트이다."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: preface.xml:117
+#, no-c-format
+msgid ""
+"Commercial development support, production support, and training for "
+"Hibernate is available through JBoss Inc. (see http://www.hibernate.org/"
+"SupportTraining/). Hibernate is a Professional Open Source project and a "
+"critical component of the JBoss Enterprise Middleware System (JEMS) suite of "
+"products."
+msgstr ""
+"Hibernate를 위한 상용 개발 지원, 제품 지원, 그리고 교육은 JBoss Inc를 통해 이"
+"용 가능하다 (http://www.hibernate.org/SupportTraining/를 보라). Hibernate는 "
+"JBoss Professional Open Source product 프로젝트이고 제품들에 대한 JBoss "
+"Enterprise Middleware System (JEMS) suite의 중대한 컴포넌트이다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/query_criteria.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/query_criteria.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/query_criteria.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,672 +1,776 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: query_criteria.xml:5
+#, no-c-format
 msgid "Criteria Queries"
 msgstr "Criteria 질의들"
 
-#: index.docbook:7
+#. Tag: para
+#: query_criteria.xml:7
+#, no-c-format
 msgid "Hibernate features an intuitive, extensible criteria query API."
 msgstr "Hibernate는 직관적인, 확장 가능한 criteria query API를 특징 짓는다."
 
-#: index.docbook:12
+#. Tag: title
+#: query_criteria.xml:12
+#, no-c-format
 msgid "Creating a <literal>Criteria</literal> instance"
 msgstr "<literal>Criteria</literal> 인스턴스 생성하기"
 
-#: index.docbook:14
-msgid "The interface <literal>org.hibernate.Criteria</literal> represents a query against a particular persistent class. The <literal>Session</literal> is a factory for <literal>Criteria</literal> instances."
-msgstr "<literal>org.hibernate.Criteria</literal>인터페이스는 특정 영속 클래스에 대한 질의를 표현한다. <literal>Session</literal>은 <literal>Criteria</literal> 인스턴스들에 대한 팩토리이다."
+#. Tag: para
+#: query_criteria.xml:14
+#, no-c-format
+msgid ""
+"The interface <literal>org.hibernate.Criteria</literal> represents a query "
+"against a particular persistent class. The <literal>Session</literal> is a "
+"factory for <literal>Criteria</literal> instances."
+msgstr ""
+"<literal>org.hibernate.Criteria</literal>인터페이스는 특정 영속 클래스에 대"
+"한 질의를 표현한다. <literal>Session</literal>은 <literal>Criteria</literal> "
+"인스턴스들에 대한 팩토리이다."
 
-#: index.docbook:20
+#. Tag: programlisting
+#: query_criteria.xml:20
+#, no-c-format
 msgid ""
-      "<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
-      "crit.setMaxResults(50);\n"
-      "List cats = crit.list();]]>"
+"<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
+"crit.setMaxResults(50);\n"
+"List cats = crit.list();]]>"
 msgstr ""
-      "<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
-      "crit.setMaxResults(50);\n"
-      "List cats = crit.list();]]>"
 
-#: index.docbook:25
+#. Tag: title
+#: query_criteria.xml:25
+#, no-c-format
 msgid "Narrowing the result set"
 msgstr "결과 셋 제한하기"
 
-#: index.docbook:27
-msgid "An individual query criterion is an instance of the interface <literal>org.hibernate.criterion.Criterion</literal>. The class <literal>org.hibernate.criterion.Restrictions</literal> defines factory methods for obtaining certain built-in <literal>Criterion</literal> types."
-msgstr "개별적인 질의 기준은 <literal>org.hibernate.criterion.Criterion</literal> 인터페이스의 인스턴스이다. <literal>org.hibernate.criterion.Restrictions</literal> 클래스는 어떤 미리 만들어진 <literal>Criterion</literal> 타입들을 얻는 팩토리 메소드들을 정의한다."
+#. Tag: para
+#: query_criteria.xml:27
+#, no-c-format
+msgid ""
+"An individual query criterion is an instance of the interface <literal>org."
+"hibernate.criterion.Criterion</literal>. The class <literal>org.hibernate."
+"criterion.Restrictions</literal> defines factory methods for obtaining "
+"certain built-in <literal>Criterion</literal> types."
+msgstr ""
+"개별적인 질의 기준은 <literal>org.hibernate.criterion.Criterion</literal> 인"
+"터페이스의 인스턴스이다. <literal>org.hibernate.criterion.Restrictions</"
+"literal> 클래스는 어떤 미리 만들어진 <literal>Criterion</literal> 타입들을 얻"
+"는 팩토리 메소드들을 정의한다."
 
-#: index.docbook:35
+#. Tag: programlisting
+#: query_criteria.xml:35
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-      "    .add( Restrictions.between(\"weight\", minWeight, maxWeight) )\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
+"    .add( Restrictions.between(\"weight\", minWeight, maxWeight) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-      "    .add( Restrictions.between(\"weight\", minWeight, maxWeight) )\n"
-      "    .list();]]>"
 
-#: index.docbook:37
+#. Tag: para
+#: query_criteria.xml:37
+#, no-c-format
 msgid "Restrictions may be grouped logically."
 msgstr "제한들은 논리적으로 그룹지워질 수도 있다."
 
-#: index.docbook:41
+#. Tag: programlisting
+#: query_criteria.xml:41
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-      "    .add( Restrictions.or(\n"
-      "        Restrictions.eq( \"age\", new Integer(0) ),\n"
-      "        Restrictions.isNull(\"age\")\n"
-      "    ) )\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
+"    .add( Restrictions.or(\n"
+"        Restrictions.eq( \"age\", new Integer(0) ),\n"
+"        Restrictions.isNull(\"age\")\n"
+"    ) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-      "    .add( Restrictions.or(\n"
-      "        Restrictions.eq( \"age\", new Integer(0) ),\n"
-      "        Restrictions.isNull(\"age\")\n"
-      "    ) )\n"
-      "    .list();]]>"
 
-#: index.docbook:43
+#. Tag: programlisting
+#: query_criteria.xml:43
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.in( \"name\", new String[] { \"Fritz\", \"Izi\", \"Pk\" } ) )\n"
-      "    .add( Restrictions.disjunction()\n"
-      "        .add( Restrictions.isNull(\"age\") )\n"
-      "        .add( Restrictions.eq(\"age\", new Integer(0) ) )\n"
-      "        .add( Restrictions.eq(\"age\", new Integer(1) ) )\n"
-      "        .add( Restrictions.eq(\"age\", new Integer(2) ) )\n"
-      "    ) )\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Restrictions.in( \"name\", new String[] { \"Fritz\", \"Izi\", \"Pk"
+"\" } ) )\n"
+"    .add( Restrictions.disjunction()\n"
+"        .add( Restrictions.isNull(\"age\") )\n"
+"        .add( Restrictions.eq(\"age\", new Integer(0) ) )\n"
+"        .add( Restrictions.eq(\"age\", new Integer(1) ) )\n"
+"        .add( Restrictions.eq(\"age\", new Integer(2) ) )\n"
+"    ) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.in( \"name\", new String[] { \"Fritz\", \"Izi\", \"Pk\" } ) )\n"
-      "    .add( Restrictions.disjunction()\n"
-      "        .add( Restrictions.isNull(\"age\") )\n"
-      "        .add( Restrictions.eq(\"age\", new Integer(0) ) )\n"
-      "        .add( Restrictions.eq(\"age\", new Integer(1) ) )\n"
-      "        .add( Restrictions.eq(\"age\", new Integer(2) ) )\n"
-      "    ) )\n"
-      "    .list();]]>"
 
-#: index.docbook:45
-msgid "There are quite a range of built-in criterion types (<literal>Restrictions</literal> subclasses), but one that is especially useful lets you specify SQL directly."
-msgstr "미리 만들어진 criterion 타입들(<literal>Restrictions</literal> 서브클래스들)의 영역이 꽤 존재하지만, 특히 유용한 것은 당신으로 하여금 SQL을 직접 지정하도록 해준다."
+#. Tag: para
+#: query_criteria.xml:45
+#, no-c-format
+msgid ""
+"There are quite a range of built-in criterion types (<literal>Restrictions</"
+"literal> subclasses), but one that is especially useful lets you specify SQL "
+"directly."
+msgstr ""
+"미리 만들어진 criterion 타입들(<literal>Restrictions</literal> 서브클래스들)"
+"의 영역이 꽤 존재하지만, 특히 유용한 것은 당신으로 하여금 SQL을 직접 지정하도"
+"록 해준다."
 
-#: index.docbook:50
+#. Tag: programlisting
+#: query_criteria.xml:50
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.sqlRestriction(\"lower({alias}.name) like lower(?)\", \"Fritz%\", Hibernate.STRING) )\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Restrictions.sqlRestriction(\"lower({alias}.name) like lower(?)\", "
+"\"Fritz%\", Hibernate.STRING) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.sqlRestriction(\"lower({alias}.name) like lower(?)\", \"Fritz%\", Hibernate.STRING) )\n"
-      "    .list();]]>"
 
-#: index.docbook:52
-msgid "The <literal>{alias}</literal> placeholder with be replaced by the row alias of the queried entity."
-msgstr "질의된 엔티티의 행 alias에 의해 대체된 <literal>{alias}</literal> placeholder."
+#. Tag: para
+#: query_criteria.xml:52
+#, no-c-format
+msgid ""
+"The <literal>{alias}</literal> placeholder with be replaced by the row alias "
+"of the queried entity."
+msgstr ""
+"질의된 엔티티의 행 alias에 의해 대체된 <literal>{alias}</literal> "
+"placeholder."
 
-#: index.docbook:57
-msgid "An alternative approach to obtaining a criterion is to get it from a <literal>Property</literal> instance. You can create a <literal>Property</literal> by calling <literal>Property.forName()</literal>."
-msgstr "criterion을 얻는 대안적인 접근법은 <literal>Property</literal> 인스턴스로부터 그것을 얻는 것이다. 당신은 <literal>Property.forName()</literal>을 호출하여 <literal>Property</literal>를 생성시킬 수 있다."
+#. Tag: para
+#: query_criteria.xml:57
+#, no-c-format
+msgid ""
+"An alternative approach to obtaining a criterion is to get it from a "
+"<literal>Property</literal> instance. You can create a <literal>Property</"
+"literal> by calling <literal>Property.forName()</literal>."
+msgstr ""
+"criterion을 얻는 대안적인 접근법은 <literal>Property</literal> 인스턴스로부"
+"터 그것을 얻는 것이다. 당신은 <literal>Property.forName()</literal>을 호출하"
+"여 <literal>Property</literal>를 생성시킬 수 있다."
 
-#: index.docbook:63
+#. Tag: programlisting
+#: query_criteria.xml:63
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "Property age = Property.forName(\"age\");\n"
-      "List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.disjunction()\n"
-      "        .add( age.isNull() )\n"
-      "        .add( age.eq( new Integer(0) ) )\n"
-      "        .add( age.eq( new Integer(1) ) )\n"
-      "        .add( age.eq( new Integer(2) ) )\n"
-      "    ) )\n"
-      "    .add( Property.forName(\"name\").in( new String[] { \"Fritz\", \"Izi\", \"Pk\" } ) )\n"
-      "    .list();]]>"
+"<![CDATA[\n"
+"Property age = Property.forName(\"age\");\n"
+"List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Restrictions.disjunction()\n"
+"        .add( age.isNull() )\n"
+"        .add( age.eq( new Integer(0) ) )\n"
+"        .add( age.eq( new Integer(1) ) )\n"
+"        .add( age.eq( new Integer(2) ) )\n"
+"    ) )\n"
+"    .add( Property.forName(\"name\").in( new String[] { \"Fritz\", \"Izi\", "
+"\"Pk\" } ) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "Property age = Property.forName(\"age\");\n"
-      "List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.disjunction()\n"
-      "        .add( age.isNull() )\n"
-      "        .add( age.eq( new Integer(0) ) )\n"
-      "        .add( age.eq( new Integer(1) ) )\n"
-      "        .add( age.eq( new Integer(2) ) )\n"
-      "    ) )\n"
-      "    .add( Property.forName(\"name\").in( new String[] { \"Fritz\", \"Izi\", \"Pk\" } ) )\n"
-      "    .list();]]>"
 
-#: index.docbook:68
+#. Tag: title
+#: query_criteria.xml:68
+#, no-c-format
 msgid "Ordering the results"
 msgstr "결과들을 순서지우기(ordering)"
 
-#: index.docbook:70
-msgid "You may order the results using <literal>org.hibernate.criterion.Order</literal>."
-msgstr "당신은 <literal>org.hibernate.criterion.Order</literal>를 사용하여 결과들을 순서(ordering)지울 수 있다."
+#. Tag: para
+#: query_criteria.xml:70
+#, no-c-format
+msgid ""
+"You may order the results using <literal>org.hibernate.criterion.Order</"
+"literal>."
+msgstr ""
+"당신은 <literal>org.hibernate.criterion.Order</literal>를 사용하여 결과들을 "
+"순서(ordering)지울 수 있다."
 
-#: index.docbook:74
+#. Tag: programlisting
+#: query_criteria.xml:74
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"F%\")\n"
-      "    .addOrder( Order.asc(\"name\") )\n"
-      "    .addOrder( Order.desc(\"age\") )\n"
-      "    .setMaxResults(50)\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Restrictions.like(\"name\", \"F%\")\n"
+"    .addOrder( Order.asc(\"name\") )\n"
+"    .addOrder( Order.desc(\"age\") )\n"
+"    .setMaxResults(50)\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"F%\")\n"
-      "    .addOrder( Order.asc(\"name\") )\n"
-      "    .addOrder( Order.desc(\"age\") )\n"
-      "    .setMaxResults(50)\n"
-      "    .list();]]>"
 
-#: index.docbook:76
+#. Tag: programlisting
+#: query_criteria.xml:76
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Property.forName(\"name\").like(\"F%\") )\n"
-      "    .addOrder( Property.forName(\"name\").asc() )\n"
-      "    .addOrder( Property.forName(\"age\").desc() )\n"
-      "    .setMaxResults(50)\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Property.forName(\"name\").like(\"F%\") )\n"
+"    .addOrder( Property.forName(\"name\").asc() )\n"
+"    .addOrder( Property.forName(\"age\").desc() )\n"
+"    .setMaxResults(50)\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Property.forName(\"name\").like(\"F%\") )\n"
-      "    .addOrder( Property.forName(\"name\").asc() )\n"
-      "    .addOrder( Property.forName(\"age\").desc() )\n"
-      "    .setMaxResults(50)\n"
-      "    .list();]]>"
 
-#: index.docbook:81
+#. Tag: title
+#: query_criteria.xml:81
+#, no-c-format
 msgid "Associations"
-msgstr "<title>연관들</title>"
+msgstr "연관들"
 
-#: index.docbook:83
-msgid "You may easily specify constraints upon related entities by navigating associations using <literal>createCriteria()</literal>."
-msgstr "당신은 <literal>createCriteria()</literal>를 사용하여 연관들을 네비게이트함으로써 관계된 엔티티들에 대한 컨스트레인트들을 쉽게 지정할 수 있다."
+#. Tag: para
+#: query_criteria.xml:83
+#, no-c-format
+msgid ""
+"You may easily specify constraints upon related entities by navigating "
+"associations using <literal>createCriteria()</literal>."
+msgstr ""
+"당신은 <literal>createCriteria()</literal>를 사용하여 연관들을 네비게이트함으"
+"로써 관계된 엔티티들에 대한 컨스트레인트들을 쉽게 지정할 수 있다."
 
-#: index.docbook:88
+#. Tag: programlisting
+#: query_criteria.xml:88
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"F%\") )\n"
-      "    .createCriteria(\"kittens\")\n"
-      "        .add( Restrictions.like(\"name\", \"F%\") )\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Restrictions.like(\"name\", \"F%\") )\n"
+"    .createCriteria(\"kittens\")\n"
+"        .add( Restrictions.like(\"name\", \"F%\") )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"F%\") )\n"
-      "    .createCriteria(\"kittens\")\n"
-      "        .add( Restrictions.like(\"name\", \"F%\") )\n"
-      "    .list();]]>"
 
-#: index.docbook:90
-msgid "note that the second <literal>createCriteria()</literal> returns a new instance of <literal>Criteria</literal>, which refers to the elements of the <literal>kittens</literal> collection."
-msgstr "두 번째 <literal>createCriteria()</literal>는 <literal>Criteria</literal>의 새로운 인스턴스를 반환하며, 그것은 <literal>kittens</literal> 콜렉션의 요소들을 참조한다는 점을 노트하라."
+#. Tag: para
+#: query_criteria.xml:90
+#, no-c-format
+msgid ""
+"note that the second <literal>createCriteria()</literal> returns a new "
+"instance of <literal>Criteria</literal>, which refers to the elements of the "
+"<literal>kittens</literal> collection."
+msgstr ""
+"두 번째 <literal>createCriteria()</literal>는 <literal>Criteria</literal>의 "
+"새로운 인스턴스를 반환하며, 그것은 <literal>kittens</literal> 콜렉션의 요소들"
+"을 참조한다는 점을 노트하라."
 
-#: index.docbook:96
+#. Tag: para
+#: query_criteria.xml:96
+#, no-c-format
 msgid "The following, alternate form is useful in certain circumstances."
 msgstr "다음 대체 형식은 어떤 환경들에서 유용하다."
 
-#: index.docbook:100
+#. Tag: programlisting
+#: query_criteria.xml:100
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .createAlias(\"kittens\", \"kt\")\n"
-      "    .createAlias(\"mate\", \"mt\")\n"
-      "    .add( Restrictions.eqProperty(\"kt.name\", \"mt.name\") )\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .createAlias(\"kittens\", \"kt\")\n"
+"    .createAlias(\"mate\", \"mt\")\n"
+"    .add( Restrictions.eqProperty(\"kt.name\", \"mt.name\") )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .createAlias(\"kittens\", \"kt\")\n"
-      "    .createAlias(\"mate\", \"mt\")\n"
-      "    .add( Restrictions.eqProperty(\"kt.name\", \"mt.name\") )\n"
-      "    .list();]]>"
 
-#: index.docbook:102
-msgid "(<literal>createAlias()</literal> does not create a new instance of <literal>Criteria</literal>.)"
-msgstr "(<literal>createAlias()</literal>는 <literal>Criteria</literal>의 새로운 인스턴스를 생성시키지 않는다.)"
+#. Tag: para
+#: query_criteria.xml:102
+#, no-c-format
+msgid ""
+"(<literal>createAlias()</literal> does not create a new instance of "
+"<literal>Criteria</literal>.)"
+msgstr ""
+"(<literal>createAlias()</literal>는 <literal>Criteria</literal>의 새로운 인스"
+"턴스를 생성시키지 않는다.)"
 
-#: index.docbook:107
-msgid "Note that the kittens collections held by the <literal>Cat</literal> instances returned by the previous two queries are <emphasis>not</emphasis> pre-filtered by the criteria! If you wish to retrieve just the kittens that match the criteria, you must use a <literal>ResultTransformer</literal>."
-msgstr "앞의 두 개의 질의들에 의해 반환된 <literal>Cat</literal> 인스턴스들에 의해 보관된 kittens 콜렉션들은 criteria에 의해 사전-필터링되지 <emphasis>않는다</emphasis>는 점을 노트하라! 만일 당신이 criteria(기준)과 일치하는 고양이 새끼들을 단지 검색하고자 원할 경우, 당신은 하나의 <literal>ResultTransformer</literal>를 사용해야 한다."
+#. Tag: para
+#: query_criteria.xml:107
+#, no-c-format
+msgid ""
+"Note that the kittens collections held by the <literal>Cat</literal> "
+"instances returned by the previous two queries are <emphasis>not</emphasis> "
+"pre-filtered by the criteria! If you wish to retrieve just the kittens that "
+"match the criteria, you must use a <literal>ResultTransformer</literal>."
+msgstr ""
+"앞의 두 개의 질의들에 의해 반환된 <literal>Cat</literal> 인스턴스들에 의해 보"
+"관된 kittens 콜렉션들은 criteria에 의해 사전-필터링되지 <emphasis>않는다</"
+"emphasis>는 점을 노트하라! 만일 당신이 criteria(기준)과 일치하는 고양이 새끼"
+"들을 단지 검색하고자 원할 경우, 당신은 하나의 <literal>ResultTransformer</"
+"literal>를 사용해야 한다."
 
-#: index.docbook:114
+#. Tag: programlisting
+#: query_criteria.xml:114
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .createCriteria(\"kittens\", \"kt\")\n"
-      "        .add( Restrictions.eq(\"name\", \"F%\") )\n"
-      "    .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)\n"
-      "    .list();\n"
-      "Iterator iter = cats.iterator();\n"
-      "while ( iter.hasNext() ) {\n"
-      "    Map map = (Map) iter.next();\n"
-      "    Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);\n"
-      "    Cat kitten = (Cat) map.get(\"kt\");\n"
-      "}]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .createCriteria(\"kittens\", \"kt\")\n"
+"        .add( Restrictions.eq(\"name\", \"F%\") )\n"
+"    .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)\n"
+"    .list();\n"
+"Iterator iter = cats.iterator();\n"
+"while ( iter.hasNext() ) {\n"
+"    Map map = (Map) iter.next();\n"
+"    Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);\n"
+"    Cat kitten = (Cat) map.get(\"kt\");\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .createCriteria(\"kittens\", \"kt\")\n"
-      "        .add( Restrictions.eq(\"name\", \"F%\") )\n"
-      "    .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)\n"
-      "    .list();\n"
-      "Iterator iter = cats.iterator();\n"
-      "while ( iter.hasNext() ) {\n"
-      "    Map map = (Map) iter.next();\n"
-      "    Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);\n"
-      "    Cat kitten = (Cat) map.get(\"kt\");\n"
-      "}]]>"
 
-#: index.docbook:119
+#. Tag: title
+#: query_criteria.xml:119
+#, no-c-format
 msgid "Dynamic association fetching"
 msgstr "동적인 연관 페칭"
 
-#: index.docbook:121
-msgid "You may specify association fetching semantics at runtime using <literal>setFetchMode()</literal>."
-msgstr "당신은 <literal>setFetchMode()</literal>를 사용하여 실행 시에 연관 페칭 의미를 지정할 수 있다."
+#. Tag: para
+#: query_criteria.xml:121
+#, no-c-format
+msgid ""
+"You may specify association fetching semantics at runtime using "
+"<literal>setFetchMode()</literal>."
+msgstr ""
+"당신은 <literal>setFetchMode()</literal>를 사용하여 실행 시에 연관 페칭 의미"
+"를 지정할 수 있다."
 
-#: index.docbook:126
+#. Tag: programlisting
+#: query_criteria.xml:126
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-      "    .setFetchMode(\"mate\", FetchMode.EAGER)\n"
-      "    .setFetchMode(\"kittens\", FetchMode.EAGER)\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+"    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
+"    .setFetchMode(\"mate\", FetchMode.EAGER)\n"
+"    .setFetchMode(\"kittens\", FetchMode.EAGER)\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-      "    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-      "    .setFetchMode(\"mate\", FetchMode.EAGER)\n"
-      "    .setFetchMode(\"kittens\", FetchMode.EAGER)\n"
-      "    .list();]]>"
 
-#: index.docbook:128
-msgid "This query will fetch both <literal>mate</literal> and <literal>kittens</literal> by outer join. See <xref linkend=\"performance-fetching\"/> for more information."
-msgstr "이 질의는 outer 조인으로 <literal>mate</literal>와 <literal>kittens</literal> 모두를 페치할 것이다. 추가 정보는 <xref linkend=\"performance-fetching\"/>을 보라."
+#. Tag: para
+#: query_criteria.xml:128
+#, no-c-format
+msgid ""
+"This query will fetch both <literal>mate</literal> and <literal>kittens</"
+"literal> by outer join. See <xref linkend=\"performance-fetching\"/> for "
+"more information."
+msgstr ""
+"이 질의는 outer 조인으로 <literal>mate</literal>와 <literal>kittens</"
+"literal> 모두를 페치할 것이다. 추가 정보는 <xref linkend=\"performance-"
+"fetching\"/>을 보라."
 
-#: index.docbook:136
+#. Tag: title
+#: query_criteria.xml:136
+#, no-c-format
 msgid "Example queries"
 msgstr "예제 질의들"
 
-#: index.docbook:138
-msgid "The class <literal>org.hibernate.criterion.Example</literal> allows you to construct a query criterion from a given instance."
-msgstr "<literal>org.hibernate.criterion.Example</literal> 클래스는 주어진 인스턴스로부터 질의 기준(criterion)을 구조화 시키는 것을 당신에게 허용해준다."
+#. Tag: para
+#: query_criteria.xml:138
+#, no-c-format
+msgid ""
+"The class <literal>org.hibernate.criterion.Example</literal> allows you to "
+"construct a query criterion from a given instance."
+msgstr ""
+"<literal>org.hibernate.criterion.Example</literal> 클래스는 주어진 인스턴스로"
+"부터 질의 기준(criterion)을 구조화 시키는 것을 당신에게 허용해준다."
 
-#: index.docbook:143
+#. Tag: programlisting
+#: query_criteria.xml:143
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat cat = new Cat();\n"
-      "cat.setSex('F');\n"
-      "cat.setColor(Color.BLACK);\n"
-      "List results = session.createCriteria(Cat.class)\n"
-      "    .add( Example.create(cat) )\n"
-      "    .list();]]>"
+"<![CDATA[Cat cat = new Cat();\n"
+"cat.setSex('F');\n"
+"cat.setColor(Color.BLACK);\n"
+"List results = session.createCriteria(Cat.class)\n"
+"    .add( Example.create(cat) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[Cat cat = new Cat();\n"
-      "cat.setSex('F');\n"
-      "cat.setColor(Color.BLACK);\n"
-      "List results = session.createCriteria(Cat.class)\n"
-      "    .add( Example.create(cat) )\n"
-      "    .list();]]>"
 
-#: index.docbook:145
-msgid "Version properties, identifiers and associations are ignored. By default, null valued properties are excluded."
-msgstr "버전 프로퍼티들, 식별자들, 연관관계들이 무시된다. 디폴트로 null 값 프로퍼티들이 제외된다."
+#. Tag: para
+#: query_criteria.xml:145
+#, no-c-format
+msgid ""
+"Version properties, identifiers and associations are ignored. By default, "
+"null valued properties are excluded."
+msgstr ""
+"버전 프로퍼티들, 식별자들, 연관관계들이 무시된다. 디폴트로 null 값 프로퍼티들"
+"이 제외된다."
 
-#: index.docbook:150
+#. Tag: para
+#: query_criteria.xml:150
+#, no-c-format
 msgid "You can adjust how the <literal>Example</literal> is applied."
 msgstr "당신은 <literal>Example</literal>이 적용되는 방법을 조정할 수 있다."
 
-#: index.docbook:154
+#. Tag: programlisting
+#: query_criteria.xml:154
+#, no-c-format
 msgid ""
-      "<![CDATA[Example example = Example.create(cat)\n"
-      "    .excludeZeroes()           //exclude zero valued properties\n"
-      "    .excludeProperty(\"color\")  //exclude the property named \"color\"\n"
-      "    .ignoreCase()              //perform case insensitive string comparisons\n"
-      "    .enableLike();             //use like for string comparisons\n"
-      "List results = session.createCriteria(Cat.class)\n"
-      "    .add(example)\n"
-      "    .list();]]>"
+"<![CDATA[Example example = Example.create(cat)\n"
+"    .excludeZeroes()           //exclude zero valued properties\n"
+"    .excludeProperty(\"color\")  //exclude the property named \"color\"\n"
+"    .ignoreCase()              //perform case insensitive string "
+"comparisons\n"
+"    .enableLike();             //use like for string comparisons\n"
+"List results = session.createCriteria(Cat.class)\n"
+"    .add(example)\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[Example example = Example.create(cat)\n"
-      "    .excludeZeroes()           //exclude zero valued properties\n"
-      "    .excludeProperty(\"color\")  //exclude the property named \"color\"\n"
-      "    .ignoreCase()              //perform case insensitive string comparisons\n"
-      "    .enableLike();             //use like for string comparisons\n"
-      "List results = session.createCriteria(Cat.class)\n"
-      "    .add(example)\n"
-      "    .list();]]>"
 
-#: index.docbook:156
+#. Tag: para
+#: query_criteria.xml:156
+#, no-c-format
 msgid "You can even use examples to place criteria upon associated objects."
-msgstr "당신은 연관된 객체들에 대한 criteria(기준)을 위치지우는데 examples를 사용할 수 있다."
+msgstr ""
+"당신은 연관된 객체들에 대한 criteria(기준)을 위치지우는데 examples를 사용할 "
+"수 있다."
 
-#: index.docbook:160
+#. Tag: programlisting
+#: query_criteria.xml:160
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .add( Example.create(cat) )\n"
-      "    .createCriteria(\"mate\")\n"
-      "        .add( Example.create( cat.getMate() ) )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+"    .add( Example.create(cat) )\n"
+"    .createCriteria(\"mate\")\n"
+"        .add( Example.create( cat.getMate() ) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .add( Example.create(cat) )\n"
-      "    .createCriteria(\"mate\")\n"
-      "        .add( Example.create( cat.getMate() ) )\n"
-      "    .list();]]>"
 
-#: index.docbook:165
+#. Tag: title
+#: query_criteria.xml:165
+#, no-c-format
 msgid "Projections, aggregation and grouping"
 msgstr "Projections, aggregation 그리고 grouping"
 
-#: index.docbook:166
-msgid "The class <literal>org.hibernate.criterion.Projections</literal> is a factory for <literal>Projection</literal> instances. We apply a projection to a query by calling <literal>setProjection()</literal>."
-msgstr "<literal>org.hibernate.criterion.Projections</literal> 클래스는 <literal>Projection</literal> 인스턴스들에 대한 팩토리이다. 우리는 <literal>setProjection()</literal>을 호출하여 하나의 질의에 projection(투사,투영)을 적용시킨다."
+#. Tag: para
+#: query_criteria.xml:166
+#, no-c-format
+msgid ""
+"The class <literal>org.hibernate.criterion.Projections</literal> is a "
+"factory for <literal>Projection</literal> instances. We apply a projection "
+"to a query by calling <literal>setProjection()</literal>."
+msgstr ""
+"<literal>org.hibernate.criterion.Projections</literal> 클래스는 "
+"<literal>Projection</literal> 인스턴스들에 대한 팩토리이다. 우리는 "
+"<literal>setProjection()</literal>을 호출하여 하나의 질의에 projection(투사,"
+"투영)을 적용시킨다."
 
-#: index.docbook:172
+#. Tag: programlisting
+#: query_criteria.xml:172
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.rowCount() )\n"
-      "    .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+"    .setProjection( Projections.rowCount() )\n"
+"    .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.rowCount() )\n"
-      "    .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
-      "    .list();]]>"
 
-#: index.docbook:174
+#. Tag: programlisting
+#: query_criteria.xml:174
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.projectionList()\n"
-      "        .add( Projections.rowCount() )\n"
-      "        .add( Projections.avg(\"weight\") )\n"
-      "        .add( Projections.max(\"weight\") )\n"
-      "        .add( Projections.groupProperty(\"color\") )\n"
-      "    )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+"    .setProjection( Projections.projectionList()\n"
+"        .add( Projections.rowCount() )\n"
+"        .add( Projections.avg(\"weight\") )\n"
+"        .add( Projections.max(\"weight\") )\n"
+"        .add( Projections.groupProperty(\"color\") )\n"
+"    )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.projectionList()\n"
-      "        .add( Projections.rowCount() )\n"
-      "        .add( Projections.avg(\"weight\") )\n"
-      "        .add( Projections.max(\"weight\") )\n"
-      "        .add( Projections.groupProperty(\"color\") )\n"
-      "    )\n"
-      "    .list();]]>"
 
-#: index.docbook:176
-msgid "There is no explicit \"group by\" necessary in a criteria query. Certain projection types are defined to be <emphasis>grouping projections</emphasis>, which also appear in the SQL <literal>group by</literal> clause."
-msgstr "criteria 질의 내에서는 명시적인 \"group by\"가 필수적이지 않다. 어떤 projection 타입들은 <emphasis>grouping projections</emphasis>들이게끔 정의되고, 그것은 또한 SQL <literal>group by</literal> 절 속에 나타난다."
+#. Tag: para
+#: query_criteria.xml:176
+#, no-c-format
+msgid ""
+"There is no explicit \"group by\" necessary in a criteria query. Certain "
+"projection types are defined to be <emphasis>grouping projections</"
+"emphasis>, which also appear in the SQL <literal>group by</literal> clause."
+msgstr ""
+"criteria 질의 내에서는 명시적인 \"group by\"가 필수적이지 않다. 어떤 "
+"projection 타입들은 <emphasis>grouping projections</emphasis>들이게끔 정의되"
+"고, 그것은 또한 SQL <literal>group by</literal> 절 속에 나타난다."
 
-#: index.docbook:182
-msgid "An alias may optionally be assigned to a projection, so that the projected value may be referred to in restrictions or orderings. Here are two different ways to do this:"
-msgstr "alias는 선택적으로 projection에 할당될 수 있어서, 투사된(projected) 값은 제한(restriction)들 또는 ordering들 내에서 참조될 수 있다. 다음은 이것을 행하는 두 개의 다른 방법들이다:"
+#. Tag: para
+#: query_criteria.xml:182
+#, no-c-format
+msgid ""
+"An alias may optionally be assigned to a projection, so that the projected "
+"value may be referred to in restrictions or orderings. Here are two "
+"different ways to do this:"
+msgstr ""
+"alias는 선택적으로 projection에 할당될 수 있어서, 투사된(projected) 값은 제한"
+"(restriction)들 또는 ordering들 내에서 참조될 수 있다. 다음은 이것을 행하는 "
+"두 개의 다른 방법들이다:"
 
-#: index.docbook:188
+#. Tag: programlisting
+#: query_criteria.xml:188
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.alias( Projections.groupProperty(\"color\"), \"colr\" ) )\n"
-      "    .addOrder( Order.asc(\"colr\") )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+"    .setProjection( Projections.alias( Projections.groupProperty(\"color\"), "
+"\"colr\" ) )\n"
+"    .addOrder( Order.asc(\"colr\") )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.alias( Projections.groupProperty(\"color\"), \"colr\" ) )\n"
-      "    .addOrder( Order.asc(\"colr\") )\n"
-      "    .list();]]>"
 
-#: index.docbook:190
+#. Tag: programlisting
+#: query_criteria.xml:190
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.groupProperty(\"color\").as(\"colr\") )\n"
-      "    .addOrder( Order.asc(\"colr\") )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+"    .setProjection( Projections.groupProperty(\"color\").as(\"colr\") )\n"
+"    .addOrder( Order.asc(\"colr\") )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.groupProperty(\"color\").as(\"colr\") )\n"
-      "    .addOrder( Order.asc(\"colr\") )\n"
-      "    .list();]]>"
 
-#: index.docbook:192
-msgid "The <literal>alias()</literal> and <literal>as()</literal> methods simply wrap a projection instance in another, aliased, instance of <literal>Projection</literal>. As a shortcut, you can assign an alias when you add the projection to a projection list:"
-msgstr "<literal>alias()</literal> 메소드와 <literal>as()</literal> 메소드는 또 다른 alias 된 <literal>Projection</literal>의 인스턴스 내에 하나의 projection 인스턴스를 간단하게 포장한다. 지름길로서, 당신이 projection을 projection 리스트에 추가할 때 당신은 alias를 할당할 수 있다:"
+#. Tag: para
+#: query_criteria.xml:192
+#, no-c-format
+msgid ""
+"The <literal>alias()</literal> and <literal>as()</literal> methods simply "
+"wrap a projection instance in another, aliased, instance of "
+"<literal>Projection</literal>. As a shortcut, you can assign an alias when "
+"you add the projection to a projection list:"
+msgstr ""
+"<literal>alias()</literal> 메소드와 <literal>as()</literal> 메소드는 또 다른 "
+"alias 된 <literal>Projection</literal>의 인스턴스 내에 하나의 projection 인스"
+"턴스를 간단하게 포장한다. 지름길로서, 당신이 projection을 projection 리스트"
+"에 추가할 때 당신은 alias를 할당할 수 있다:"
 
-#: index.docbook:199
+#. Tag: programlisting
+#: query_criteria.xml:199
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.projectionList()\n"
-      "        .add( Projections.rowCount(), \"catCountByColor\" )\n"
-      "        .add( Projections.avg(\"weight\"), \"avgWeight\" )\n"
-      "        .add( Projections.max(\"weight\"), \"maxWeight\" )\n"
-      "        .add( Projections.groupProperty(\"color\"), \"color\" )\n"
-      "    )\n"
-      "    .addOrder( Order.desc(\"catCountByColor\") )\n"
-      "    .addOrder( Order.desc(\"avgWeight\") )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+"    .setProjection( Projections.projectionList()\n"
+"        .add( Projections.rowCount(), \"catCountByColor\" )\n"
+"        .add( Projections.avg(\"weight\"), \"avgWeight\" )\n"
+"        .add( Projections.max(\"weight\"), \"maxWeight\" )\n"
+"        .add( Projections.groupProperty(\"color\"), \"color\" )\n"
+"    )\n"
+"    .addOrder( Order.desc(\"catCountByColor\") )\n"
+"    .addOrder( Order.desc(\"avgWeight\") )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.projectionList()\n"
-      "        .add( Projections.rowCount(), \"catCountByColor\" )\n"
-      "        .add( Projections.avg(\"weight\"), \"avgWeight\" )\n"
-      "        .add( Projections.max(\"weight\"), \"maxWeight\" )\n"
-      "        .add( Projections.groupProperty(\"color\"), \"color\" )\n"
-      "    )\n"
-      "    .addOrder( Order.desc(\"catCountByColor\") )\n"
-      "    .addOrder( Order.desc(\"avgWeight\") )\n"
-      "    .list();]]>"
 
-#: index.docbook:201
+#. Tag: programlisting
+#: query_criteria.xml:201
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Domestic.class, \"cat\")\n"
-      "    .createAlias(\"kittens\", \"kit\")\n"
-      "    .setProjection( Projections.projectionList()\n"
-      "        .add( Projections.property(\"cat.name\"), \"catName\" )\n"
-      "        .add( Projections.property(\"kit.name\"), \"kitName\" )\n"
-      "    )\n"
-      "    .addOrder( Order.asc(\"catName\") )\n"
-      "    .addOrder( Order.asc(\"kitName\") )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Domestic.class, \"cat\")\n"
+"    .createAlias(\"kittens\", \"kit\")\n"
+"    .setProjection( Projections.projectionList()\n"
+"        .add( Projections.property(\"cat.name\"), \"catName\" )\n"
+"        .add( Projections.property(\"kit.name\"), \"kitName\" )\n"
+"    )\n"
+"    .addOrder( Order.asc(\"catName\") )\n"
+"    .addOrder( Order.asc(\"kitName\") )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Domestic.class, \"cat\")\n"
-      "    .createAlias(\"kittens\", \"kit\")\n"
-      "    .setProjection( Projections.projectionList()\n"
-      "        .add( Projections.property(\"cat.name\"), \"catName\" )\n"
-      "        .add( Projections.property(\"kit.name\"), \"kitName\" )\n"
-      "    )\n"
-      "    .addOrder( Order.asc(\"catName\") )\n"
-      "    .addOrder( Order.asc(\"kitName\") )\n"
-      "    .list();]]>"
 
-#: index.docbook:203
-msgid "You can also use <literal>Property.forName()</literal> to express projections:"
-msgstr "당신은 또한 projection들을 표현하는데 <literal>Property.forName()</literal>을 사용할 수 있다:"
+#. Tag: para
+#: query_criteria.xml:203
+#, no-c-format
+msgid ""
+"You can also use <literal>Property.forName()</literal> to express "
+"projections:"
+msgstr ""
+"당신은 또한 projection들을 표현하는데 <literal>Property.forName()</literal>"
+"을 사용할 수 있다:"
 
-#: index.docbook:207
+#. Tag: programlisting
+#: query_criteria.xml:207
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Property.forName(\"name\") )\n"
-      "    .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+"    .setProjection( Property.forName(\"name\") )\n"
+"    .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Property.forName(\"name\") )\n"
-      "    .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
-      "    .list();]]>"
 
-#: index.docbook:209
+#. Tag: programlisting
+#: query_criteria.xml:209
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.projectionList()\n"
-      "        .add( Projections.rowCount().as(\"catCountByColor\") )\n"
-      "        .add( Property.forName(\"weight\").avg().as(\"avgWeight\") )\n"
-      "        .add( Property.forName(\"weight\").max().as(\"maxWeight\") )\n"
-      "        .add( Property.forName(\"color\").group().as(\"color\" )\n"
-      "    )\n"
-      "    .addOrder( Order.desc(\"catCountByColor\") )\n"
-      "    .addOrder( Order.desc(\"avgWeight\") )\n"
-      "    .list();]]>"
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+"    .setProjection( Projections.projectionList()\n"
+"        .add( Projections.rowCount().as(\"catCountByColor\") )\n"
+"        .add( Property.forName(\"weight\").avg().as(\"avgWeight\") )\n"
+"        .add( Property.forName(\"weight\").max().as(\"maxWeight\") )\n"
+"        .add( Property.forName(\"color\").group().as(\"color\" )\n"
+"    )\n"
+"    .addOrder( Order.desc(\"catCountByColor\") )\n"
+"    .addOrder( Order.desc(\"avgWeight\") )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.projectionList()\n"
-      "        .add( Projections.rowCount().as(\"catCountByColor\") )\n"
-      "        .add( Property.forName(\"weight\").avg().as(\"avgWeight\") )\n"
-      "        .add( Property.forName(\"weight\").max().as(\"maxWeight\") )\n"
-      "        .add( Property.forName(\"color\").group().as(\"color\" )\n"
-      "    )\n"
-      "    .addOrder( Order.desc(\"catCountByColor\") )\n"
-      "    .addOrder( Order.desc(\"avgWeight\") )\n"
-      "    .list();]]>"
 
-#: index.docbook:214
+#. Tag: title
+#: query_criteria.xml:214
+#, no-c-format
 msgid "Detached queries and subqueries"
 msgstr "Detached 질의들과 서브질의들"
 
-#: index.docbook:215
-msgid "The <literal>DetachedCriteria</literal> class lets you create a query outside the scope of a session, and then later execute it using some arbitrary <literal>Session</literal>."
-msgstr "<literal>DetachedCriteria</literal> 클래스는 당신에게 세션 영역의 외부에서 질의를 생성시키도록 하고, 그런 다음 나중에 어떤 임의의 <literal>Session</literal>을 사용하여 그것을 실행하도록 한다."
+#. Tag: para
+#: query_criteria.xml:215
+#, no-c-format
+msgid ""
+"The <literal>DetachedCriteria</literal> class lets you create a query "
+"outside the scope of a session, and then later execute it using some "
+"arbitrary <literal>Session</literal>."
+msgstr ""
+"<literal>DetachedCriteria</literal> 클래스는 당신에게 세션 영역의 외부에서 질"
+"의를 생성시키도록 하고, 그런 다음 나중에 어떤 임의의 <literal>Session</"
+"literal>을 사용하여 그것을 실행하도록 한다."
 
-#: index.docbook:220
+#. Tag: programlisting
+#: query_criteria.xml:220
+#, no-c-format
 msgid ""
-      "<![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)\n"
-      "    .add( Property.forName(\"sex\").eq('F') );\n"
-      "    \n"
-      "Session session = ....;\n"
-      "Transaction txn = session.beginTransaction();\n"
-      "List results = query.getExecutableCriteria(session).setMaxResults(100).list();\n"
-      "txn.commit();\n"
-      "session.close();]]>"
+"<![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)\n"
+"    .add( Property.forName(\"sex\").eq('F') );\n"
+"    \n"
+"Session session = ....;\n"
+"Transaction txn = session.beginTransaction();\n"
+"List results = query.getExecutableCriteria(session).setMaxResults(100).list"
+"();\n"
+"txn.commit();\n"
+"session.close();]]>"
 msgstr ""
-      "<![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)\n"
-      "    .add( Property.forName(\"sex\").eq('F') );\n"
-      "    \n"
-      "Session session = ....;\n"
-      "Transaction txn = session.beginTransaction();\n"
-      "List results = query.getExecutableCriteria(session).setMaxResults(100).list();\n"
-      "txn.commit();\n"
-      "session.close();]]>"
 
-#: index.docbook:222
-msgid "A <literal>DetachedCriteria</literal> may also be used to express a subquery. Criterion instances involving subqueries may be obtained via <literal>Subqueries</literal> or <literal>Property</literal>."
-msgstr "<literal>DetachedCriteria</literal>는 또한 서브질의를 표현하는데 사용된다. 서브질의들을 포함하는 Criterion 인스턴스들은 <literal>Subqueries</literal> 또는 <literal>Property</literal>를 통해 얻어질 수 있다."
+#. Tag: para
+#: query_criteria.xml:222
+#, no-c-format
+msgid ""
+"A <literal>DetachedCriteria</literal> may also be used to express a "
+"subquery. Criterion instances involving subqueries may be obtained via "
+"<literal>Subqueries</literal> or <literal>Property</literal>."
+msgstr ""
+"<literal>DetachedCriteria</literal>는 또한 서브질의를 표현하는데 사용된다. 서"
+"브질의들을 포함하는 Criterion 인스턴스들은 <literal>Subqueries</literal> 또"
+"는 <literal>Property</literal>를 통해 얻어질 수 있다."
 
-#: index.docbook:228
+#. Tag: programlisting
+#: query_criteria.xml:228
+#, no-c-format
 msgid ""
-      "<![CDATA[DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)\n"
-      "    .setProjection( Property.forName(\"weight\").avg() );\n"
-      "session.createCriteria(Cat.class)\n"
-      "    .add( Property.forName(\"weight\").gt(avgWeight) )\n"
-      "    .list();]]>"
+"<![CDATA[DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)\n"
+"    .setProjection( Property.forName(\"weight\").avg() );\n"
+"session.createCriteria(Cat.class)\n"
+"    .add( Property.forName(\"weight\").gt(avgWeight) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)\n"
-      "    .setProjection( Property.forName(\"weight\").avg() );\n"
-      "session.createCriteria(Cat.class)\n"
-      "    .add( Property.forName(\"weight\").gt(avgWeight) )\n"
-      "    .list();]]>"
 
-#: index.docbook:230
+#. Tag: programlisting
+#: query_criteria.xml:230
+#, no-c-format
 msgid ""
-      "<![CDATA[DetachedCriteria weights = DetachedCriteria.forClass(Cat.class)\n"
-      "    .setProjection( Property.forName(\"weight\") );\n"
-      "session.createCriteria(Cat.class)\n"
-      "    .add( Subqueries.geAll(\"weight\", weights) )\n"
-      "    .list();]]>"
+"<![CDATA[DetachedCriteria weights = DetachedCriteria.forClass(Cat.class)\n"
+"    .setProjection( Property.forName(\"weight\") );\n"
+"session.createCriteria(Cat.class)\n"
+"    .add( Subqueries.geAll(\"weight\", weights) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[DetachedCriteria weights = DetachedCriteria.forClass(Cat.class)\n"
-      "    .setProjection( Property.forName(\"weight\") );\n"
-      "session.createCriteria(Cat.class)\n"
-      "    .add( Subqueries.geAll(\"weight\", weights) )\n"
-      "    .list();]]>"
 
-#: index.docbook:232
+#. Tag: para
+#: query_criteria.xml:232
+#, no-c-format
 msgid "Even correlated subqueries are possible:"
 msgstr "심지어 상관관계 지워진 서브질의들이 가능하다:"
 
-#: index.docbook:236
+#. Tag: programlisting
+#: query_criteria.xml:236
+#, no-c-format
 msgid ""
-      "<![CDATA[DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat.class, \"cat2\")\n"
-      "    .setProjection( Property.forName(\"weight\").avg() )\n"
-      "    .add( Property.forName(\"cat2.sex\").eqProperty(\"cat.sex\") );\n"
-      "session.createCriteria(Cat.class, \"cat\")\n"
-      "    .add( Property.forName(\"weight\").gt(avgWeightForSex) )\n"
-      "    .list();]]>"
+"<![CDATA[DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat."
+"class, \"cat2\")\n"
+"    .setProjection( Property.forName(\"weight\").avg() )\n"
+"    .add( Property.forName(\"cat2.sex\").eqProperty(\"cat.sex\") );\n"
+"session.createCriteria(Cat.class, \"cat\")\n"
+"    .add( Property.forName(\"weight\").gt(avgWeightForSex) )\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat.class, \"cat2\")\n"
-      "    .setProjection( Property.forName(\"weight\").avg() )\n"
-      "    .add( Property.forName(\"cat2.sex\").eqProperty(\"cat.sex\") );\n"
-      "session.createCriteria(Cat.class, \"cat\")\n"
-      "    .add( Property.forName(\"weight\").gt(avgWeightForSex) )\n"
-      "    .list();]]>"
 
-#: index.docbook:245
+#. Tag: title
+#: query_criteria.xml:245
+#, no-c-format
 msgid "Queries by natural identifier"
 msgstr "natural 식별자에 의한 질의들"
 
-#: index.docbook:247
-msgid "For most queries, including criteria queries, the query cache is not very efficient, because query cache invalidation occurs too frequently. However, there is one special kind of query where we can optimize the cache invalidation algorithm: lookups by a constant natural key. In some applications, this kind of query occurs frequently. The criteria API provides special provision for this use case."
-msgstr "대부분의 질의들에서, criteria 질의들을 포함하여, 질의 캐시는 매우 효율적이지 않다. 왜냐하면 질의 캐시 비유효성이 너무 자주 발생하기 때문이다. 하지만, 우리가 캐시 비유효성 알고리즘을 최적화 시킬 수 있는 한 가지 특별한 종류의 질의가 존재한다: 상수 natural 키에 의한 룩업. 몇몇 어플리케이션들에서, 이런 종류의 질의가 자주 발생한다. criteria API는 이 쓰임새를 위한 특별한 설비를 제공한다."
+#. Tag: para
+#: query_criteria.xml:247
+#, no-c-format
+msgid ""
+"For most queries, including criteria queries, the query cache is not very "
+"efficient, because query cache invalidation occurs too frequently. However, "
+"there is one special kind of query where we can optimize the cache "
+"invalidation algorithm: lookups by a constant natural key. In some "
+"applications, this kind of query occurs frequently. The criteria API "
+"provides special provision for this use case."
+msgstr ""
+"대부분의 질의들에서, criteria 질의들을 포함하여, 질의 캐시는 매우 효율적이지 "
+"않다. 왜냐하면 질의 캐시 비유효성이 너무 자주 발생하기 때문이다. 하지만, 우리"
+"가 캐시 비유효성 알고리즘을 최적화 시킬 수 있는 한 가지 특별한 종류의 질의가 "
+"존재한다: 상수 natural 키에 의한 룩업. 몇몇 어플리케이션들에서, 이런 종류의 "
+"질의가 자주 발생한다. criteria API는 이 쓰임새를 위한 특별한 설비를 제공한다."
 
-#: index.docbook:255
-msgid "First, you should map the natural key of your entity using <literal>&lt;natural-id&gt;</literal>, and enable use of the second-level cache."
-msgstr "첫번째로 당신은 <literal>&lt;natural-id&gt;</literal>를 사용하여 당신의 엔티티에 대한 natural 키를 매핑 시켜야 하고, second-level 캐시 사용을 가능하게 해야 한다."
+#. Tag: para
+#: query_criteria.xml:255
+#, no-c-format
+msgid ""
+"First, you should map the natural key of your entity using <literal>&lt;"
+"natural-id&gt;</literal>, and enable use of the second-level cache."
+msgstr ""
+"첫번째로 당신은 <literal>&lt;natural-id&gt;</literal>를 사용하여 당신의 엔티"
+"티에 대한 natural 키를 매핑 시켜야 하고, second-level 캐시 사용을 가능하게 해"
+"야 한다."
 
-#: index.docbook:260
+#. Tag: programlisting
+#: query_criteria.xml:260
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"User\">\n"
-      "    <cache usage=\"read-write\"/>\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"increment\"/>\n"
-      "    </id>\n"
-      "    <natural-id>\n"
-      "        <property name=\"name\"/>\n"
-      "        <property name=\"org\"/>\n"
-      "    </natural-id>\n"
-      "    <property name=\"password\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"User\">\n"
+"    <cache usage=\"read-write\"/>\n"
+"    <id name=\"id\">\n"
+"        <generator class=\"increment\"/>\n"
+"    </id>\n"
+"    <natural-id>\n"
+"        <property name=\"name\"/>\n"
+"        <property name=\"org\"/>\n"
+"    </natural-id>\n"
+"    <property name=\"password\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"User\">\n"
-      "    <cache usage=\"read-write\"/>\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"increment\"/>\n"
-      "    </id>\n"
-      "    <natural-id>\n"
-      "        <property name=\"name\"/>\n"
-      "        <property name=\"org\"/>\n"
-      "    </natural-id>\n"
-      "    <property name=\"password\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:262
-msgid "Note that this functionality is not intended for use with entities with <emphasis>mutable</emphasis> natural keys."
-msgstr "이 기능은 <emphasis>가변성 있는</emphasis> natural 키들을 가진 엔티티들의 용도로 고안되어 있지 않음을 노트하라."
+#. Tag: para
+#: query_criteria.xml:262
+#, no-c-format
+msgid ""
+"Note that this functionality is not intended for use with entities with "
+"<emphasis>mutable</emphasis> natural keys."
+msgstr ""
+"이 기능은 <emphasis>가변성 있는</emphasis> natural 키들을 가진 엔티티들의 용"
+"도로 고안되어 있지 않음을 노트하라."
 
-#: index.docbook:267
+#. Tag: para
+#: query_criteria.xml:267
+#, no-c-format
 msgid "Next, enable the Hibernate query cache."
 msgstr "다음으로 , Hibernate 질의 캐시를 사용 가능하도록 하라."
 
-#: index.docbook:271
-msgid "Now, <literal>Restrictions.naturalId()</literal> allows us to make use of the more efficient cache algorithm."
-msgstr "이제 <literal>Restrictions.naturalId()</literal>는 캐시 알고리즘을 보다 효율적으로 사용할 수 있도록 우리에게 허용해준다."
+#. Tag: para
+#: query_criteria.xml:271
+#, no-c-format
+msgid ""
+"Now, <literal>Restrictions.naturalId()</literal> allows us to make use of "
+"the more efficient cache algorithm."
+msgstr ""
+"이제 <literal>Restrictions.naturalId()</literal>는 캐시 알고리즘을 보다 효율"
+"적으로 사용할 수 있도록 우리에게 허용해준다."
 
-#: index.docbook:276
+#. Tag: programlisting
+#: query_criteria.xml:276
+#, no-c-format
 msgid ""
-      "<![CDATA[session.createCriteria(User.class)\n"
-      "    .add( Restrictions.naturalId()\n"
-      "        .set(\"name\", \"gavin\")\n"
-      "        .set(\"org\", \"hb\") \n"
-      "    ).setCacheable(true)\n"
-      "    .uniqueResult();]]>"
+"<![CDATA[session.createCriteria(User.class)\n"
+"    .add( Restrictions.naturalId()\n"
+"        .set(\"name\", \"gavin\")\n"
+"        .set(\"org\", \"hb\") \n"
+"    ).setCacheable(true)\n"
+"    .uniqueResult();]]>"
 msgstr ""
-      "<![CDATA[session.createCriteria(User.class)\n"
-      "    .add( Restrictions.naturalId()\n"
-      "        .set(\"name\", \"gavin\")\n"
-      "        .set(\"org\", \"hb\") \n"
-      "    ).setCacheable(true)\n"
-      "    .uniqueResult();]]>"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/ko-KR/content/query_hql.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/query_hql.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/query_hql.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,1510 +1,2431 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: query_hql.xml:5
+#, no-c-format
 msgid "HQL: The Hibernate Query Language"
 msgstr "HQL: 하이버네이트 질의 언어(Hibernate Query Language)"
 
-#: index.docbook:7
-msgid "Hibernate is equipped with an extremely powerful query language that (quite intentionally) looks very much like SQL. But don't be fooled by the syntax; HQL is fully object-oriented, understanding notions like inheritence, polymorphism and association."
-msgstr "Hibernate는 (아주 의도적으로) SQL과 매우 흡사하게 보이는 극히 강력한 질의 언어를 구비하고 있다. 그러나 그 구문에 의해 우롱당하지 말라; HQL은 상속, 다형성 그리고 연관과 같은 개념들을 이해하여서, 전체적으로 객체 지향적이다."
+#. Tag: para
+#: query_hql.xml:7
+#, no-c-format
+msgid ""
+"Hibernate is equipped with an extremely powerful query language that (quite "
+"intentionally) looks very much like SQL. But don't be fooled by the syntax; "
+"HQL is fully object-oriented, understanding notions like inheritence, "
+"polymorphism and association."
+msgstr ""
+"Hibernate는 (아주 의도적으로) SQL과 매우 흡사하게 보이는 극히 강력한 질의 언"
+"어를 구비하고 있다. 그러나 그 구문에 의해 우롱당하지 말라; HQL은 상속, 다형"
+"성 그리고 연관과 같은 개념들을 이해하여서, 전체적으로 객체 지향적이다."
 
-#: index.docbook:14
+#. Tag: title
+#: query_hql.xml:14
+#, no-c-format
 msgid "Case Sensitivity"
 msgstr "대소문자 구분"
 
-#: index.docbook:16
-msgid "Queries are case-insensitive, except for names of Java classes and properties. So <literal>SeLeCT</literal> is the same as <literal>sELEct</literal> is the same as <literal>SELECT</literal> but <literal>org.hibernate.eg.FOO</literal> is not <literal>org.hibernate.eg.Foo</literal> and <literal>foo.barSet</literal> is not <literal>foo.BARSET</literal>."
-msgstr "질의들은 Java 클래스들과 프로퍼티들의 이름들을 제외하면 대소문자를 구분하지 않는다. 따라서 <literal>SeLeCT</literal>는 <literal>SELECT</literal>와 같고 <literal>SELECT</literal>와도 같지만 <literal>org.hibernate.eg.FOO</literal>는 <literal>org.hibernate.eg.Foo</literal>과 같지 않고 <literal>foo.barSet</literal>은 <literal>foo.BARSET</literal>과 같지 않다."
+#. Tag: para
+#: query_hql.xml:16
+#, no-c-format
+msgid ""
+"Queries are case-insensitive, except for names of Java classes and "
+"properties. So <literal>SeLeCT</literal> is the same as <literal>sELEct</"
+"literal> is the same as <literal>SELECT</literal> but <literal>org.hibernate."
+"eg.FOO</literal> is not <literal>org.hibernate.eg.Foo</literal> and "
+"<literal>foo.barSet</literal> is not <literal>foo.BARSET</literal>."
+msgstr ""
+"질의들은 Java 클래스들과 프로퍼티들의 이름들을 제외하면 대소문자를 구분하지 "
+"않는다. 따라서 <literal>SeLeCT</literal>는 <literal>SELECT</literal>와 같고 "
+"<literal>SELECT</literal>와도 같지만 <literal>org.hibernate.eg.FOO</literal>"
+"는 <literal>org.hibernate.eg.Foo</literal>과 같지 않고 <literal>foo.barSet</"
+"literal>은 <literal>foo.BARSET</literal>과 같지 않다."
 
-#: index.docbook:27
-msgid "This manual uses lowercase HQL keywords. Some users find queries with uppercase keywords more readable, but we find this convention ugly when embedded in Java code."
-msgstr "이 매뉴얼은 소문자 HQL 키워드를 사용한다. 몇몇 사용자들은 보다 나은 가독성을 위해 대문자 키워드들을 가진 질의들을 찾지만, 우리는 자바 코드 속에 삽입될 때 이 컨벤션이 추하다는 점을 발견한다."
+#. Tag: para
+#: query_hql.xml:27
+#, no-c-format
+msgid ""
+"This manual uses lowercase HQL keywords. Some users find queries with "
+"uppercase keywords more readable, but we find this convention ugly when "
+"embedded in Java code."
+msgstr ""
+"이 매뉴얼은 소문자 HQL 키워드를 사용한다. 몇몇 사용자들은 보다 나은 가독성을 "
+"위해 대문자 키워드들을 가진 질의들을 찾지만, 우리는 자바 코드 속에 삽입될 때 "
+"이 컨벤션이 추하다는 점을 발견한다."
 
-#: index.docbook:35
+#. Tag: title
+#: query_hql.xml:35
+#, no-c-format
 msgid "The from clause"
 msgstr "from ì ˆ"
 
-#: index.docbook:37
+#. Tag: para
+#: query_hql.xml:37
+#, no-c-format
 msgid "The simplest possible Hibernate query is of the form:"
 msgstr "가장 간단한 가능한 Hibernate 질의는 다음 형식이다:"
 
-#: index.docbook:41
+#. Tag: programlisting
+#: query_hql.xml:41
+#, no-c-format
 msgid "<![CDATA[from eg.Cat]]>"
-msgstr "<![CDATA[from eg.Cat]]>"
+msgstr ""
 
-#: index.docbook:43
-msgid "which simply returns all instances of the class <literal>eg.Cat</literal>. We don't usually need to qualify the class name, since <literal>auto-import</literal> is the default. So we almost always just write:"
-msgstr "이것은 <literal>eg.Cat</literal> 클래스의 모든 인스턴스들을 간단하게 반환한다. 우리는 대개 클래스 이름을 수식할 필요가 없다. 왜냐하면, <literal>auto-import</literal>가 디폴트이기 때문이다. 따라서 우리는 대개 항상 단지 다음과 같이 작성한다:"
+#. Tag: para
+#: query_hql.xml:43
+#, no-c-format
+msgid ""
+"which simply returns all instances of the class <literal>eg.Cat</literal>. "
+"We don't usually need to qualify the class name, since <literal>auto-import</"
+"literal> is the default. So we almost always just write:"
+msgstr ""
+"이것은 <literal>eg.Cat</literal> 클래스의 모든 인스턴스들을 간단하게 반환한"
+"다. 우리는 대개 클래스 이름을 수식할 필요가 없다. 왜냐하면, <literal>auto-"
+"import</literal>가 디폴트이기 때문이다. 따라서 우리는 대개 항상 단지 다음과 "
+"같이 작성한다:"
 
-#: index.docbook:49
+#. Tag: programlisting
+#: query_hql.xml:49
+#, no-c-format
 msgid "<![CDATA[from Cat]]>"
-msgstr "<![CDATA[from Cat]]>"
+msgstr ""
 
-#: index.docbook:51
-msgid "Most of the time, you will need to assign an <emphasis>alias</emphasis>, since you will want to refer to the <literal>Cat</literal> in other parts of the query."
-msgstr "대개 당신은 한 개의 <emphasis>alias</emphasis>를 할당할 필요가 있을 것이다. 왜냐하면 당신은 질의의 다른 부분들에서 <literal>Cat</literal>을 참조하고자 원할 것이기 때문이다."
+#. Tag: para
+#: query_hql.xml:51
+#, no-c-format
+msgid ""
+"Most of the time, you will need to assign an <emphasis>alias</emphasis>, "
+"since you will want to refer to the <literal>Cat</literal> in other parts of "
+"the query."
+msgstr ""
+"대개 당신은 한 개의 <emphasis>alias</emphasis>를 할당할 필요가 있을 것이다. "
+"왜냐하면 당신은 질의의 다른 부분들에서 <literal>Cat</literal>을 참조하고자 원"
+"할 것이기 때문이다."
 
-#: index.docbook:57, index.docbook:372
+#. Tag: programlisting
+#: query_hql.xml:57 query_hql.xml:372
+#, no-c-format
 msgid "<![CDATA[from Cat as cat]]>"
-msgstr "<![CDATA[from Cat as cat]]>"
+msgstr ""
 
-#: index.docbook:59
-msgid "This query assigns the alias <literal>cat</literal> to <literal>Cat</literal> instances, so we could use that alias later in the query. The <literal>as</literal> keyword is optional; we could also write:"
-msgstr "이 질의는 alias <literal>cat</literal>을 <literal>Cat</literal> 인스턴스들에 할당하여서, 우리는 나중에 질의 속에서 그 alias를 사용할 수 있을 것이다. <literal>as</literal> 키워드는 옵션이다; 우리는 또한 다음과 같이 작성할 수 있다:"
+#. Tag: para
+#: query_hql.xml:59
+#, no-c-format
+msgid ""
+"This query assigns the alias <literal>cat</literal> to <literal>Cat</"
+"literal> instances, so we could use that alias later in the query. The "
+"<literal>as</literal> keyword is optional; we could also write:"
+msgstr ""
+"이 질의는 alias <literal>cat</literal>을 <literal>Cat</literal> 인스턴스들에 "
+"할당하여서, 우리는 나중에 질의 속에서 그 alias를 사용할 수 있을 것이다. "
+"<literal>as</literal> 키워드는 옵션이다; 우리는 또한 다음과 같이 작성할 수 있"
+"다:"
 
-#: index.docbook:65
+#. Tag: programlisting
+#: query_hql.xml:65
+#, no-c-format
 msgid "<![CDATA[from Cat cat]]>"
-msgstr "<![CDATA[from Cat cat]]>"
+msgstr ""
 
-#: index.docbook:67
-msgid "Multiple classes may appear, resulting in a cartesian product or \"cross\" join."
-msgstr "여러 개의 클래스들은 cartesian product(카티젼 곱) 또는 \"크로스\" 조인으로 귀결되어 나타날 수도 있다."
+#. Tag: para
+#: query_hql.xml:67
+#, no-c-format
+msgid ""
+"Multiple classes may appear, resulting in a cartesian product or \"cross\" "
+"join."
+msgstr ""
+"여러 개의 클래스들은 cartesian product(카티젼 곱) 또는 \"크로스\" 조인으로 귀"
+"결되어 나타날 수도 있다."
 
-#: index.docbook:71
+#. Tag: programlisting
+#: query_hql.xml:71
+#, no-c-format
 msgid "<![CDATA[from Formula, Parameter]]>"
-msgstr "<![CDATA[from Formula, Parameter]]>"
+msgstr ""
 
-#: index.docbook:72
+#. Tag: programlisting
+#: query_hql.xml:72
+#, no-c-format
 msgid "<![CDATA[from Formula as form, Parameter as param]]>"
-msgstr "<![CDATA[from Formula as form, Parameter as param]]>"
+msgstr ""
 
-#: index.docbook:74
-msgid "It is considered good practice to name query aliases using an initial lowercase, consistent with Java naming standards for local variables (eg. <literal>domesticCat</literal>)."
-msgstr "로컬 변수들에 대한 Java 네이밍 표준들과 일치되게, 첫 소문자를 사용하여 질의 alias들을 명명하는 것은 좋은 습관으로 간주된다 (예를 들면 <literal>domesticCat</literal>)."
+#. Tag: para
+#: query_hql.xml:74
+#, no-c-format
+msgid ""
+"It is considered good practice to name query aliases using an initial "
+"lowercase, consistent with Java naming standards for local variables (eg. "
+"<literal>domesticCat</literal>)."
+msgstr ""
+"로컬 변수들에 대한 Java 네이밍 표준들과 일치되게, 첫 소문자를 사용하여 질의 "
+"alias들을 명명하는 것은 좋은 습관으로 간주된다 (예를 들면 "
+"<literal>domesticCat</literal>)."
 
-#: index.docbook:83
+#. Tag: title
+#: query_hql.xml:83
+#, no-c-format
 msgid "Associations and joins"
 msgstr "연관들과 조인들"
 
-#: index.docbook:85
-msgid "We may also assign aliases to associated entities, or even to elements of a collection of values, using a <literal>join</literal>."
-msgstr "우리는 또한 <literal>join</literal>을 사용하여 , 연관된 엔티티들에 또는 값들을 가진 콜렉션의 요소들에도 alias들을 할당할 수도 있다."
+#. Tag: para
+#: query_hql.xml:85
+#, no-c-format
+msgid ""
+"We may also assign aliases to associated entities, or even to elements of a "
+"collection of values, using a <literal>join</literal>."
+msgstr ""
+"우리는 또한 <literal>join</literal>을 사용하여 , 연관된 엔티티들에 또는 값들"
+"을 가진 콜렉션의 요소들에도 alias들을 할당할 수도 있다."
 
-#: index.docbook:90
+#. Tag: programlisting
+#: query_hql.xml:90
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    inner join cat.mate as mate\n"
-      "    left outer join cat.kittens as kitten]]>"
+"<![CDATA[from Cat as cat\n"
+"    inner join cat.mate as mate\n"
+"    left outer join cat.kittens as kitten]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat \n"
-      "    inner join cat.mate as mate\n"
-      "    left outer join cat.kittens as kitten]]>"
 
-#: index.docbook:92
+#. Tag: programlisting
+#: query_hql.xml:92
+#, no-c-format
 msgid "<![CDATA[from Cat as cat left join cat.mate.kittens as kittens]]>"
-msgstr "<![CDATA[from Cat as cat left join cat.mate.kittens as kittens]]>"
+msgstr ""
 
-#: index.docbook:94
+#. Tag: programlisting
+#: query_hql.xml:94
+#, no-c-format
 msgid "<![CDATA[from Formula form full join form.parameter param]]>"
-msgstr "<![CDATA[from Formula form full join form.parameter param]]>"
+msgstr ""
 
-#: index.docbook:96
+#. Tag: para
+#: query_hql.xml:96
+#, no-c-format
 msgid "The supported join types are borrowed from ANSI SQL"
 msgstr "지원되는 join 타입들은 ANSI SQL로부터 빌려왔다"
 
-#: index.docbook:103
+#. Tag: literal
+#: query_hql.xml:103
+#, no-c-format
 msgid "inner join"
 msgstr "inner join"
 
-#: index.docbook:108
+#. Tag: literal
+#: query_hql.xml:108
+#, no-c-format
 msgid "left outer join"
 msgstr "left outer join"
 
-#: index.docbook:113
+#. Tag: literal
+#: query_hql.xml:113
+#, no-c-format
 msgid "right outer join"
 msgstr "right outer join"
 
-#: index.docbook:117
+#. Tag: para
+#: query_hql.xml:117
+#, no-c-format
 msgid "<literal>full join</literal> (not usually useful)"
 msgstr "<literal>full join</literal> (대개 유용하지 않음)"
 
-#: index.docbook:123
-msgid "The <literal>inner join</literal>, <literal>left outer join</literal> and <literal>right outer join</literal> constructs may be abbreviated."
-msgstr "<literal>inner join</literal>, <literal>left outer join</literal>, 그리고 <literal>right outer join</literal> 구조체들이 약칭될 수 있다."
+#. Tag: para
+#: query_hql.xml:123
+#, no-c-format
+msgid ""
+"The <literal>inner join</literal>, <literal>left outer join</literal> and "
+"<literal>right outer join</literal> constructs may be abbreviated."
+msgstr ""
+"<literal>inner join</literal>, <literal>left outer join</literal>, 그리고 "
+"<literal>right outer join</literal> 구조체들이 약칭될 수 있다."
 
-#: index.docbook:128
+#. Tag: programlisting
+#: query_hql.xml:128
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    join cat.mate as mate\n"
-      "    left join cat.kittens as kitten]]>"
+"<![CDATA[from Cat as cat\n"
+"    join cat.mate as mate\n"
+"    left join cat.kittens as kitten]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat \n"
-      "    join cat.mate as mate\n"
-      "    left join cat.kittens as kitten]]>"
 
-#: index.docbook:130
-msgid "You may supply extra join conditions using the HQL <literal>with</literal> keyword."
-msgstr "당신은 HQL <literal>with</literal> 키워드를 사용하여 특별한 조인 조건들을 제공할 수 있다."
+#. Tag: para
+#: query_hql.xml:130
+#, no-c-format
+msgid ""
+"You may supply extra join conditions using the HQL <literal>with</literal> "
+"keyword."
+msgstr ""
+"당신은 HQL <literal>with</literal> 키워드를 사용하여 특별한 조인 조건들을 제"
+"공할 수 있다."
 
-#: index.docbook:135
+#. Tag: programlisting
+#: query_hql.xml:135
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    left join cat.kittens as kitten\n"
-      "        with kitten.bodyWeight > 10.0]]>"
+"<![CDATA[from Cat as cat\n"
+"    left join cat.kittens as kitten\n"
+"        with kitten.bodyWeight > 10.0]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat \n"
-      "    left join cat.kittens as kitten \n"
-      "        with kitten.bodyWeight > 10.0]]>"
 
-#: index.docbook:137
-msgid "In addition, a \"fetch\" join allows associations or collections of values to be initialized along with their parent objects, using a single select. This is particularly useful in the case of a collection. It effectively overrides the outer join and lazy declarations of the mapping file for associations and collections. See <xref linkend=\"performance-fetching\"/> for more information."
-msgstr "게다가, \"fetch\" join은 값들을 가진 콜렉션들이나 연관관계들이 한 개의 select를 사용하여, 그것들의 부모 객체들에 따라 초기화 되는 것을 허용해준다. 이것은 콜렉션의 경우에 특히 유용하다. 그것은 연관관계들과 콜렉션들에 대한 매핑 파일의 outer join과 lazy 선언들을 효율적으로 오버라이드 시킨다. 추가 정보는 <xref linkend=\"performance-fetching\"/>을 보라."
+#. Tag: para
+#: query_hql.xml:137
+#, no-c-format
+msgid ""
+"In addition, a \"fetch\" join allows associations or collections of values "
+"to be initialized along with their parent objects, using a single select. "
+"This is particularly useful in the case of a collection. It effectively "
+"overrides the outer join and lazy declarations of the mapping file for "
+"associations and collections. See <xref linkend=\"performance-fetching\"/> "
+"for more information."
+msgstr ""
+"게다가, \"fetch\" join은 값들을 가진 콜렉션들이나 연관관계들이 한 개의 select"
+"를 사용하여, 그것들의 부모 객체들에 따라 초기화 되는 것을 허용해준다. 이것은 "
+"콜렉션의 경우에 특히 유용하다. 그것은 연관관계들과 콜렉션들에 대한 매핑 파일"
+"의 outer join과 lazy 선언들을 효율적으로 오버라이드 시킨다. 추가 정보는 "
+"<xref linkend=\"performance-fetching\"/>을 보라."
 
-#: index.docbook:145
+#. Tag: programlisting
+#: query_hql.xml:145
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    inner join fetch cat.mate\n"
-      "    left join fetch cat.kittens]]>"
+"<![CDATA[from Cat as cat\n"
+"    inner join fetch cat.mate\n"
+"    left join fetch cat.kittens]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat \n"
-      "    inner join fetch cat.mate\n"
-      "    left join fetch cat.kittens]]>"
 
-#: index.docbook:147
-msgid "A fetch join does not usually need to assign an alias, because the associated objects should not be used in the <literal>where</literal> clause (or any other clause). Also, the associated objects are not returned directly in the query results. Instead, they may be accessed via the parent object. The only reason we might need an alias is if we are recursively join fetching a further collection:"
-msgstr "fetch join은 대개 alias를 할당할 필요가 없다. 왜냐하면, 연관된 객체들이 <literal>where</literal> 절(또는 어떤 다른 절) 속에 사용되지 않을 것이기 때문이다. 또한 연관된 객체들은 질의 결과들 속에 직접 반환되지 않는다. 대신 그것들은 부모 객체를 통해 접근될 수 있다. 우리가 alias를 필요로 할 수 있는 유일한 이유는 더 많은 콜렉션들을 재귀적으로 조인 페칭시키는 경우이다:"
+#. Tag: para
+#: query_hql.xml:147
+#, no-c-format
+msgid ""
+"A fetch join does not usually need to assign an alias, because the "
+"associated objects should not be used in the <literal>where</literal> clause "
+"(or any other clause). Also, the associated objects are not returned "
+"directly in the query results. Instead, they may be accessed via the parent "
+"object. The only reason we might need an alias is if we are recursively join "
+"fetching a further collection:"
+msgstr ""
+"fetch join은 대개 alias를 할당할 필요가 없다. 왜냐하면, 연관된 객체들이 "
+"<literal>where</literal> 절(또는 어떤 다른 절) 속에 사용되지 않을 것이기 때문"
+"이다. 또한 연관된 객체들은 질의 결과들 속에 직접 반환되지 않는다. 대신 그것들"
+"은 부모 객체를 통해 접근될 수 있다. 우리가 alias를 필요로 할 수 있는 유일한 "
+"이유는 더 많은 콜렉션들을 재귀적으로 조인 페칭시키는 경우이다:"
 
-#: index.docbook:155
+#. Tag: programlisting
+#: query_hql.xml:155
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    inner join fetch cat.mate\n"
-      "    left join fetch cat.kittens child\n"
-      "    left join fetch child.kittens]]>"
+"<![CDATA[from Cat as cat\n"
+"    inner join fetch cat.mate\n"
+"    left join fetch cat.kittens child\n"
+"    left join fetch child.kittens]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat \n"
-      "    inner join fetch cat.mate\n"
-      "    left join fetch cat.kittens child\n"
-      "    left join fetch child.kittens]]>"
 
-#: index.docbook:157
-msgid "Note that the <literal>fetch</literal> construct may not be used in queries called using <literal>iterate()</literal> (though <literal>scroll()</literal> can be used). Nor should <literal>fetch</literal> be used together with <literal>setMaxResults()</literal> or <literal>setFirstResult()</literal> as these operations are based on the result rows, which usually contain duplicates for eager collection fetching, hence, the number of rows is not what you'd expect. Nor may <literal>fetch</literal> be used together with an ad hoc <literal>with</literal> condition. It is possible to create a cartesian product by join fetching more than one collection in a query, so take care in this case. Join fetching multiple collection roles also sometimes gives unexpected results for bag mappings, so be careful about how you formulate your queries in this case. Finally, note that <literal>full join fetch</literal> and <literal>right join fetch</literal> are not meaningful."
-msgstr "(비록 <literal>scroll()</literal>이 사용될 수 있을지라도) <literal>fetch</literal> 구조체는 <literal>iterate()</literal>를 사용하여 호출되는 질의들 내에 사용될 수 없음을 노트하라. 이들 오퍼레이션들이 ê²°ê³¼ 행들에 기초하고 있기 때문에 <literal>fetch</literal>는 <literal>setMaxResults()</literal> 또는 <literal>setFirstResult()</literal>ê³¼ 함께 사용되지 말아야 하며, 그것들(ê²°ê³¼ 행들)은 대개 각각의 eager 콜렉션 페칭에 대해 중복들을 포함하므로 많은 행들이 당신이 기대하는 것이 아니다. <literal>fetch</literal>는 특별한 용도의 <literal>with</literal> 조건과도 함께 사용될 수 없다.í•œ 개의 질의 내에 하나 이상의 콜렉션을 조인 페칭시켜 ì¹´í‹°ì ¼ 곱을 생성시키는 것이 가능한데, 이 경우에 주의하라. 다중 콜렉션 role들을 조인 페칭시키는 것은 또한 때때로 bag 매핑들에 대해 ì˜!
 ˆê¸°ì¹˜ 않은 결과들을 가져다주기 때문에, 당신이 이 경우에 당신의 질의들을 처방하는 방법에 대해 주의하라. 마지막으로 <literal>full join fetch</literal>와 <literal>right join fetch</literal>는 의미가 없다."
+#. Tag: para
+#: query_hql.xml:157
+#, no-c-format
+msgid ""
+"Note that the <literal>fetch</literal> construct may not be used in queries "
+"called using <literal>iterate()</literal> (though <literal>scroll()</"
+"literal> can be used). Nor should <literal>fetch</literal> be used together "
+"with <literal>setMaxResults()</literal> or <literal>setFirstResult()</"
+"literal> as these operations are based on the result rows, which usually "
+"contain duplicates for eager collection fetching, hence, the number of rows "
+"is not what you'd expect. Nor may <literal>fetch</literal> be used together "
+"with an ad hoc <literal>with</literal> condition. It is possible to create a "
+"cartesian product by join fetching more than one collection in a query, so "
+"take care in this case. Join fetching multiple collection roles also "
+"sometimes gives unexpected results for bag mappings, so be careful about how "
+"you formulate your queries in this case. Finally, note that <literal>full "
+"join fetch</literal> and <literal>right join fetch</literal> are not "
+"meaningful."
+msgstr ""
+"(비록 <literal>scroll()</literal>이 사용될 수 있을지라도) <literal>fetch</"
+"literal> 구조체는 <literal>iterate()</literal>를 사용하여 호출되는 질의들 내"
+"에 사용될 수 없음을 노트하라. 이들 오퍼레이션들이 결과 행들에 기초하고 있기 "
+"때문에 <literal>fetch</literal>는 <literal>setMaxResults()</literal> 또는 "
+"<literal>setFirstResult()</literal>과 함께 사용되지 말아야 하며, 그것들(결과 "
+"행들)은 대개 각각의 eager 콜렉션 페칭에 대해 중복들을 포함하므로 많은 행들이 "
+"당신이 기대하는 것이 아니다. <literal>fetch</literal>는 특별한 용도의 "
+"<literal>with</literal> 조건과도 함께 사용될 수 없다.한 개의 질의 내에 하나 "
+"이상의 콜렉션을 조인 페칭시켜 카티젼 곱을 생성시키는 것이 가능한데, 이 경우"
+"에 주의하라. 다중 콜렉션 role들을 조인 페칭시키는 것은 또한 때때로 bag 매핑들"
+"에 대해 예기치 않은 결과들을 가져다주기 때문에, 당신이 이 경우에 당신의 질의"
+"들을 처방하는 방법에 대해 주의하라. 마지막으로 <literal>full join fetch</"
+"literal>와 <literal>right join fetch</literal>는 의미가 없다."
 
-#: index.docbook:172
-msgid "If you are using property-level lazy fetching (with bytecode instrumentation), it is possible to force Hibernate to fetch the lazy properties immediately (in the first query) using <literal>fetch all properties</literal>."
-msgstr "만일 당신이 (바이트코드 방편으로) property-레벨 lazy 페칭을 사용할 경우, Hibernate로 하여금 <literal>fetch all properties</literal>를 사용하여 (첫 번째 질의에서) lazy 프로퍼티들을 즉시 페치하도록 강제시키는 것이 가능하다."
+#. Tag: para
+#: query_hql.xml:172
+#, no-c-format
+msgid ""
+"If you are using property-level lazy fetching (with bytecode "
+"instrumentation), it is possible to force Hibernate to fetch the lazy "
+"properties immediately (in the first query) using <literal>fetch all "
+"properties</literal>."
+msgstr ""
+"만일 당신이 (바이트코드 방편으로) property-레벨 lazy 페칭을 사용할 경우, "
+"Hibernate로 하여금 <literal>fetch all properties</literal>를 사용하여 (첫 번"
+"째 질의에서) lazy 프로퍼티들을 즉시 페치하도록 강제시키는 것이 가능하다."
 
-#: index.docbook:178
+#. Tag: programlisting
+#: query_hql.xml:178
+#, no-c-format
 msgid "<![CDATA[from Document fetch all properties order by name]]>"
-msgstr "<![CDATA[from Document fetch all properties order by name]]>"
+msgstr ""
 
-#: index.docbook:179
-msgid "<![CDATA[from Document doc fetch all properties where lower(doc.name) like '%cats%']]>"
-msgstr "<![CDATA[from Document doc fetch all properties where lower(doc.name) like '%cats%']]>"
+#. Tag: programlisting
+#: query_hql.xml:179
+#, no-c-format
+msgid ""
+"<![CDATA[from Document doc fetch all properties where lower(doc.name) like '%"
+"cats%']]>"
+msgstr ""
 
-#: index.docbook:184
+#. Tag: title
+#: query_hql.xml:184
+#, no-c-format
 msgid "Forms of join syntax"
 msgstr "join 구문의 형식들"
 
-#: index.docbook:186
-msgid "HQL supports two forms of association joining: <literal>implicit</literal> and <literal>explicit</literal>."
-msgstr "HQL은 두 가지 형식의 연관 조인을 지원한다: <literal>암묵적</literal> 그리고 <literal>명시적</literal>."
+#. Tag: para
+#: query_hql.xml:186
+#, no-c-format
+msgid ""
+"HQL supports two forms of association joining: <literal>implicit</literal> "
+"and <literal>explicit</literal>."
+msgstr ""
+"HQL은 두 가지 형식의 연관 조인을 지원한다: <literal>암묵적</literal> 그리고 "
+"<literal>명시적</literal>."
 
-#: index.docbook:190
-msgid "The queries shown in the previous section all use the <literal>explicit</literal> form where the join keyword is explicitly used in the from clause. This is the recommended form."
-msgstr "앞의 절에서 보여진 질의들은 모두 join 키워드가 from 절 내에 명시적으로 사용되는 <literal>명시적인</literal> 형식을 사용한다. 이것은 권장되는 형식이다."
+#. Tag: para
+#: query_hql.xml:190
+#, no-c-format
+msgid ""
+"The queries shown in the previous section all use the <literal>explicit</"
+"literal> form where the join keyword is explicitly used in the from clause. "
+"This is the recommended form."
+msgstr ""
+"앞의 절에서 보여진 질의들은 모두 join 키워드가 from 절 내에 명시적으로 사용되"
+"는 <literal>명시적인</literal> 형식을 사용한다. 이것은 권장되는 형식이다."
 
-#: index.docbook:195
-msgid "The <literal>implicit</literal> form does not use the join keyword. Instead, the associations are \"dereferenced\" using dot-notation. <literal>implicit</literal> joins can appear in any of the HQL clauses. <literal>implicit</literal> join result in inner joins in the resulting SQL statement."
-msgstr "<literal>함축적인</literal> 형식은 join 키워드를 사용하지 않는다. 대신에, 연관들은 dot(.) 표기를 사용하여 \"dot-참조된다(dereferenced)\". <literal>함축적인</literal> 조인들은 임의의 HQL 절들내에 나타날 수 있다. <literal>함축적인</literal> join은 결과되는 SQL 문장에서 inner join으로 귀결된다."
+#. Tag: para
+#: query_hql.xml:195
+#, no-c-format
+msgid ""
+"The <literal>implicit</literal> form does not use the join keyword. Instead, "
+"the associations are \"dereferenced\" using dot-notation. <literal>implicit</"
+"literal> joins can appear in any of the HQL clauses. <literal>implicit</"
+"literal> join result in inner joins in the resulting SQL statement."
+msgstr ""
+"<literal>함축적인</literal> 형식은 join 키워드를 사용하지 않는다. 대신에, 연"
+"관들은 dot(.) 표기를 사용하여 \"dot-참조된다(dereferenced)\". <literal>함축적"
+"인</literal> 조인들은 임의의 HQL 절들내에 나타날 수 있다. <literal>함축적인</"
+"literal> join은 결과되는 SQL 문장에서 inner join으로 귀결된다."
 
-#: index.docbook:202
+#. Tag: programlisting
+#: query_hql.xml:202
+#, no-c-format
 msgid "<![CDATA[from Cat as cat where cat.mate.name like '%s%']]>"
-msgstr "<![CDATA[from Cat as cat where cat.mate.name like '%s%']]>"
+msgstr ""
 
-#: index.docbook:206
+#. Tag: title
+#: query_hql.xml:206
+#, no-c-format
 msgid "Refering to identifier property"
 msgstr "식별자 속성 참조하기"
 
-#: index.docbook:208
-msgid "There are, generally speaking, 2 ways to refer to an entity's identifier property:"
-msgstr "개략적으로 말하자면, 엔티티의 식별자 속성을 참조하는 2가지 방법들이 존재한다:"
+#. Tag: para
+#: query_hql.xml:208
+#, no-c-format
+msgid ""
+"There are, generally speaking, 2 ways to refer to an entity's identifier "
+"property:"
+msgstr ""
+"개략적으로 말하자면, 엔티티의 식별자 속성을 참조하는 2가지 방법들이 존재한다:"
 
-#: index.docbook:213
-msgid "The special property (lowercase) <literal>id</literal> may be used to reference the identifier property of an entity <emphasis>provided that entity does not define a non-identifier property named id</emphasis>."
-msgstr "<emphasis>엔티티가 id로 명명된 비식별자 속성을 정의하지 않는다고 가정하면</emphasis> 특별한 속성(소문자) <literal>id</literal>가 엔티티의 식별자 속성을 참조하는데 사용될 수 있다."
+#. Tag: para
+#: query_hql.xml:213
+#, no-c-format
+msgid ""
+"The special property (lowercase) <literal>id</literal> may be used to "
+"reference the identifier property of an entity <emphasis>provided that "
+"entity does not define a non-identifier property named id</emphasis>."
+msgstr ""
+"<emphasis>엔티티가 id로 명명된 비식별자 속성을 정의하지 않는다고 가정하면</"
+"emphasis> 특별한 속성(소문자) <literal>id</literal>가 엔티티의 식별자 속성을 "
+"참조하는데 사용될 수 있다."
 
-#: index.docbook:220
-msgid "If the entity defines a named identifier property, you may use that property name."
-msgstr "만일 그 엔티티가 명명된 식별자 속성을 정의하는 경우, 당신은 그 속성 이름을 사용할 수도 있다."
+#. Tag: para
+#: query_hql.xml:220
+#, no-c-format
+msgid ""
+"If the entity defines a named identifier property, you may use that property "
+"name."
+msgstr ""
+"만일 그 엔티티가 명명된 식별자 속성을 정의하는 경우, 당신은 그 속성 이름을 사"
+"용할 수도 있다."
 
-#: index.docbook:226
-msgid "References to composite identifier properties follow the same naming rules. If the entity has a non-identifier property named id, the composite identifier property can only be referenced by its defined named; otherwise, the special <literal>id</literal> property can be used to rerference the identifier property."
-msgstr "composite 식별자 속성들에 대한 참조들은 동일한 네이밍 규칙들을 따른다. 만일 그 엔티티가 id로 명명된 비식별자를 갖고 있을 경우, composite 속성은 오직 그것의 정의된 명명에 의해 참조될 수 있다; 그밖의 경우 특별한 <literal>id</literal> 속성이 식별자 속성을 참조하는데 사용될 수 있다."
+#. Tag: para
+#: query_hql.xml:226
+#, no-c-format
+msgid ""
+"References to composite identifier properties follow the same naming rules. "
+"If the entity has a non-identifier property named id, the composite "
+"identifier property can only be referenced by its defined named; otherwise, "
+"the special <literal>id</literal> property can be used to rerference the "
+"identifier property."
+msgstr ""
+"composite 식별자 속성들에 대한 참조들은 동일한 네이밍 규칙들을 따른다. 만일 "
+"그 엔티티가 id로 명명된 비식별자를 갖고 있을 경우, composite 속성은 오직 그것"
+"의 정의된 명명에 의해 참조될 수 있다; 그밖의 경우 특별한 <literal>id</"
+"literal> 속성이 식별자 속성을 참조하는데 사용될 수 있다."
 
-#: index.docbook:233
-msgid "Note: this has changed significantly starting in version 3.2.2. In previous versions, <literal>id</literal> <emphasis>always</emphasis> referred to the identifier property no matter what its actual name. A ramification of that decision was that non-identifier properties named <literal>id</literal> could never be referenced in Hibernate queries."
-msgstr "노트: 이것은 버전 3.2.2에서 시작될 때 현격하게 변경되었다. 이전 버전들에서, <literal>id</literal>는 <emphasis>항상</emphasis> 그것의 실제 이름에 관계없이 식별자 속성을 참조했다. 그 결정의 분기점은 <literal>id</literal>로 명명된 비식별자 속성들이 Hibernate 질의들 내에서 결코 참조될 수 없었다는 점이었다."
+#. Tag: para
+#: query_hql.xml:233
+#, fuzzy, no-c-format
+msgid ""
+"Note: this has changed significantly starting in version 3.2.2. In previous "
+"versions, <literal>id</literal> <emphasis>always</emphasis> referred to the "
+"identifier property no matter what its actual name. A ramification of that "
+"decision was that non-identifier properties named <literal>id</literal> "
+"could never be referenced in Hibernate queries."
+msgstr ""
+"노트: 이것은 버전 3.2.2에서 시작될 때 현격하게 변경되었다. 이전 버전들에서, "
+"<literal>id</literal>는 <emphasis>항상</emphasis> 그것의 실제 이름에 관계없"
+"이 식별자 속성을 참조했다. 그 결정의 분기점은 <literal>id</literal>로 명명된 "
+"비식별자 속성들이 Hibernate 질의들 내에서 결코 참조될 수 없었다는 점이었다."
 
-#: index.docbook:242
+#. Tag: title
+#: query_hql.xml:242
+#, no-c-format
 msgid "The select clause"
 msgstr "select ì ˆ"
 
-#: index.docbook:244
-msgid "The <literal>select</literal> clause picks which objects and properties to return in the query result set. Consider:"
-msgstr "<literal>select</literal> 절은 질의 결과 셋 속에 반환할 객체들과 프로퍼티들이 어느 것인지를 골라 내도록 강제한다. 다음을 검토하자:"
+#. Tag: para
+#: query_hql.xml:244
+#, no-c-format
+msgid ""
+"The <literal>select</literal> clause picks which objects and properties to "
+"return in the query result set. Consider:"
+msgstr ""
+"<literal>select</literal> 절은 질의 결과 셋 속에 반환할 객체들과 프로퍼티들"
+"이 어느 것인지를 골라 내도록 강제한다. 다음을 검토하자:"
 
-#: index.docbook:249
+#. Tag: programlisting
+#: query_hql.xml:249
+#, no-c-format
 msgid ""
-      "<![CDATA[select mate\n"
-      "from Cat as cat\n"
-      "    inner join cat.mate as mate]]>"
+"<![CDATA[select mate\n"
+"from Cat as cat\n"
+"    inner join cat.mate as mate]]>"
 msgstr ""
-      "<![CDATA[select mate \n"
-      "from Cat as cat \n"
-      "    inner join cat.mate as mate]]>"
 
-#: index.docbook:251
-msgid "The query will select <literal>mate</literal>s of other <literal>Cat</literal>s. Actually, you may express this query more compactly as:"
-msgstr "질의는 다른 <literal>Cat</literal>들의 <literal>mate</literal>들을 select 할 것이다. 실제로 당신은 이 질의들을 다음과 같이 보다 축약형으로 표현할수도 있다:"
+#. Tag: para
+#: query_hql.xml:251
+#, no-c-format
+msgid ""
+"The query will select <literal>mate</literal>s of other <literal>Cat</"
+"literal>s. Actually, you may express this query more compactly as:"
+msgstr ""
+"질의는 다른 <literal>Cat</literal>들의 <literal>mate</literal>들을 select 할 "
+"것이다. 실제로 당신은 이 질의들을 다음과 같이 보다 축약형으로 표현할수도 있"
+"다:"
 
-#: index.docbook:256
+#. Tag: programlisting
+#: query_hql.xml:256
+#, no-c-format
 msgid "<![CDATA[select cat.mate from Cat cat]]>"
-msgstr "<![CDATA[select cat.mate from Cat cat]]>"
+msgstr ""
 
-#: index.docbook:258
-msgid "Queries may return properties of any value type including properties of component type:"
-msgstr "질의들은 컴포넌트 타입의 프로퍼티들을 포함하는 임의의 값 타입의 프로퍼티들을 반환할 수도 있다:"
+#. Tag: para
+#: query_hql.xml:258
+#, no-c-format
+msgid ""
+"Queries may return properties of any value type including properties of "
+"component type:"
+msgstr ""
+"질의들은 컴포넌트 타입의 프로퍼티들을 포함하는 임의의 값 타입의 프로퍼티들을 "
+"반환할 수도 있다:"
 
-#: index.docbook:262
+#. Tag: programlisting
+#: query_hql.xml:262
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat.name from DomesticCat cat\n"
-      "where cat.name like 'fri%']]>"
+"<![CDATA[select cat.name from DomesticCat cat\n"
+"where cat.name like 'fri%']]>"
 msgstr ""
-      "<![CDATA[select cat.name from DomesticCat cat\n"
-      "where cat.name like 'fri%']]>"
 
-#: index.docbook:264
+#. Tag: programlisting
+#: query_hql.xml:264
+#, no-c-format
 msgid "<![CDATA[select cust.name.firstName from Customer as cust]]>"
-msgstr "<![CDATA[select cust.name.firstName from Customer as cust]]>"
+msgstr ""
 
-#: index.docbook:266
-msgid "Queries may return multiple objects and/or properties as an array of type <literal>Object[]</literal>,"
-msgstr "<literal>Family</literal> 클래스가 적당한 생성자를 갖고 있음을 가정하면, 질의들은 여러 객체들 그리고/또는 프로퍼티들을 <literal>Object[]</literal> 타입의 배열로서,"
+#. Tag: para
+#: query_hql.xml:266
+#, no-c-format
+msgid ""
+"Queries may return multiple objects and/or properties as an array of type "
+"<literal>Object[]</literal>,"
+msgstr ""
+"<literal>Family</literal> 클래스가 적당한 생성자를 갖고 있음을 가정하면, 질의"
+"들은 여러 객체들 그리고/또는 프로퍼티들을 <literal>Object[]</literal> 타입의 "
+"배열로서,"
 
-#: index.docbook:271
+#. Tag: programlisting
+#: query_hql.xml:271
+#, no-c-format
 msgid ""
-      "<![CDATA[select mother, offspr, mate.name\n"
-      "from DomesticCat as mother\n"
-      "    inner join mother.mate as mate\n"
-      "    left outer join mother.kittens as offspr]]>"
+"<![CDATA[select mother, offspr, mate.name\n"
+"from DomesticCat as mother\n"
+"    inner join mother.mate as mate\n"
+"    left outer join mother.kittens as offspr]]>"
 msgstr ""
-      "<![CDATA[select mother, offspr, mate.name \n"
-      "from DomesticCat as mother\n"
-      "    inner join mother.mate as mate\n"
-      "    left outer join mother.kittens as offspr]]>"
 
-#: index.docbook:273
+#. Tag: para
+#: query_hql.xml:273
+#, no-c-format
 msgid "or as a <literal>List</literal>,"
 msgstr "또는 <literal>List</literal>로서,"
 
-#: index.docbook:277
+#. Tag: programlisting
+#: query_hql.xml:277
+#, no-c-format
 msgid ""
-      "<![CDATA[select new list(mother, offspr, mate.name)\n"
-      "from DomesticCat as mother\n"
-      "    inner join mother.mate as mate\n"
-      "    left outer join mother.kittens as offspr]]>"
+"<![CDATA[select new list(mother, offspr, mate.name)\n"
+"from DomesticCat as mother\n"
+"    inner join mother.mate as mate\n"
+"    left outer join mother.kittens as offspr]]>"
 msgstr ""
-      "<![CDATA[select new list(mother, offspr, mate.name)\n"
-      "from DomesticCat as mother\n"
-      "    inner join mother.mate as mate\n"
-      "    left outer join mother.kittens as offspr]]>"
 
-#: index.docbook:279
+#. Tag: para
+#: query_hql.xml:279
+#, no-c-format
 msgid "or as an actual typesafe Java object,"
 msgstr "또는 실제 typesafe 자바 객체로서,"
 
-#: index.docbook:283
+#. Tag: programlisting
+#: query_hql.xml:283
+#, no-c-format
 msgid ""
-      "<![CDATA[select new Family(mother, mate, offspr)\n"
-      "from DomesticCat as mother\n"
-      "    join mother.mate as mate\n"
-      "    left join mother.kittens as offspr]]>"
+"<![CDATA[select new Family(mother, mate, offspr)\n"
+"from DomesticCat as mother\n"
+"    join mother.mate as mate\n"
+"    left join mother.kittens as offspr]]>"
 msgstr ""
-      "<![CDATA[select new Family(mother, mate, offspr)\n"
-      "from DomesticCat as mother\n"
-      "    join mother.mate as mate\n"
-      "    left join mother.kittens as offspr]]>"
 
-#: index.docbook:285
-msgid "assuming that the class <literal>Family</literal> has an appropriate constructor."
+#. Tag: para
+#: query_hql.xml:285
+#, no-c-format
+msgid ""
+"assuming that the class <literal>Family</literal> has an appropriate "
+"constructor."
 msgstr "반환할 수도 있다."
 
-#: index.docbook:289
-msgid "You may assign aliases to selected expressions using <literal>as</literal>:"
-msgstr "당신은 <literal>as</literal>를 사용하여 select되는 표현식들에 alias들을 할당할 수 있다:"
+#. Tag: para
+#: query_hql.xml:289
+#, no-c-format
+msgid ""
+"You may assign aliases to selected expressions using <literal>as</literal>:"
+msgstr ""
+"당신은 <literal>as</literal>를 사용하여 select되는 표현식들에 alias들을 할당"
+"할 수 있다:"
 
-#: index.docbook:293
+#. Tag: programlisting
+#: query_hql.xml:293
+#, no-c-format
 msgid ""
-      "<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n\n"
-      "from Cat cat]]>"
+"<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as "
+"n\n"
+"from Cat cat]]>"
 msgstr ""
-      "<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n\n"
-      "from Cat cat]]>"
 
-#: index.docbook:295
-msgid "This is most useful when used together with <literal>select new map</literal>:"
-msgstr "다음은 <literal>select new map</literal>과 함께 사용될 때 가장 유용하다:"
+#. Tag: para
+#: query_hql.xml:295
+#, no-c-format
+msgid ""
+"This is most useful when used together with <literal>select new map</"
+"literal>:"
+msgstr ""
+"다음은 <literal>select new map</literal>과 함께 사용될 때 가장 유용하다:"
 
-#: index.docbook:299
+#. Tag: programlisting
+#: query_hql.xml:299
+#, no-c-format
 msgid ""
-      "<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )\n"
-      "from Cat cat]]>"
+"<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, "
+"count(*) as n )\n"
+"from Cat cat]]>"
 msgstr ""
-      "<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )\n"
-      "from Cat cat]]>"
 
-#: index.docbook:301
-msgid "This query returns a <literal>Map</literal> from aliases to selected values."
-msgstr "이 질의는 select된 값들에 대한 alias로부터 한 개의 <literal>Map</literal>을 반환한다."
+#. Tag: para
+#: query_hql.xml:301
+#, no-c-format
+msgid ""
+"This query returns a <literal>Map</literal> from aliases to selected values."
+msgstr ""
+"이 질의는 select된 값들에 대한 alias로부터 한 개의 <literal>Map</literal>을 "
+"반환한다."
 
-#: index.docbook:308
+#. Tag: title
+#: query_hql.xml:308
+#, no-c-format
 msgid "Aggregate functions"
 msgstr "집계 함수들"
 
-#: index.docbook:310
-msgid "HQL queries may even return the results of aggregate functions on properties:"
-msgstr "HQL 질의들은 프로퍼티들에 대한 집계(aggregate) 함수들의 결과들을 반환할수도 있다:"
+#. Tag: para
+#: query_hql.xml:310
+#, no-c-format
+msgid ""
+"HQL queries may even return the results of aggregate functions on properties:"
+msgstr ""
+"HQL 질의들은 프로퍼티들에 대한 집계(aggregate) 함수들의 결과들을 반환할수도 "
+"있다:"
 
-#: index.docbook:314
+#. Tag: programlisting
+#: query_hql.xml:314
+#, no-c-format
 msgid ""
-      "<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)\n"
-      "from Cat cat]]>"
+"<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count"
+"(cat)\n"
+"from Cat cat]]>"
 msgstr ""
-      "<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)\n"
-      "from Cat cat]]>"
 
-#: index.docbook:325
+#. Tag: para
+#: query_hql.xml:325
+#, no-c-format
 msgid "The supported aggregate functions are"
 msgstr "지원되는 집계 함수들은 다음과 같다"
 
-#: index.docbook:332
+#. Tag: literal
+#: query_hql.xml:332
+#, no-c-format
 msgid "avg(...), sum(...), min(...), max(...)"
 msgstr "avg(...), sum(...), min(...), max(...)"
 
-#: index.docbook:337
+#. Tag: literal
+#: query_hql.xml:337
+#, no-c-format
 msgid "count(*)"
 msgstr "count(*)"
 
-#: index.docbook:342
+#. Tag: literal
+#: query_hql.xml:342
+#, no-c-format
 msgid "count(...), count(distinct ...), count(all...)"
 msgstr "count(...), count(distinct ...), count(all...)"
 
-#: index.docbook:347
-msgid "You may use arithmetic operators, concatenation, and recognized SQL functions in the select clause:"
-msgstr "당신은 select 절 속에 산술 연산자들, 연결 연산자, 그리고 인지된 SQL 함수들을 사용할 수 있다:"
+#. Tag: para
+#: query_hql.xml:347
+#, no-c-format
+msgid ""
+"You may use arithmetic operators, concatenation, and recognized SQL "
+"functions in the select clause:"
+msgstr ""
+"당신은 select 절 속에 산술 연산자들, 연결 연산자, 그리고 인지된 SQL 함수들을 "
+"사용할 수 있다:"
 
-#: index.docbook:352
+#. Tag: programlisting
+#: query_hql.xml:352
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat.weight + sum(kitten.weight)\n"
-      "from Cat cat\n"
-      "    join cat.kittens kitten\n"
-      "group by cat.id, cat.weight]]>"
+"<![CDATA[select cat.weight + sum(kitten.weight)\n"
+"from Cat cat\n"
+"    join cat.kittens kitten\n"
+"group by cat.id, cat.weight]]>"
 msgstr ""
-      "<![CDATA[select cat.weight + sum(kitten.weight) \n"
-      "from Cat cat \n"
-      "    join cat.kittens kitten\n"
-      "group by cat.id, cat.weight]]>"
 
-#: index.docbook:354
-msgid "<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
-msgstr "<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
+#. Tag: programlisting
+#: query_hql.xml:354
+#, no-c-format
+msgid ""
+"<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
+msgstr ""
 
-#: index.docbook:356
-msgid "The <literal>distinct</literal> and <literal>all</literal> keywords may be used and have the same semantics as in SQL."
-msgstr "<literal>distinct</literal> 키워드와 all <literal>all</literal>가 사용될 수 있고 SQL의 경우와 동일한 의미를 갖는다."
+#. Tag: para
+#: query_hql.xml:356
+#, no-c-format
+msgid ""
+"The <literal>distinct</literal> and <literal>all</literal> keywords may be "
+"used and have the same semantics as in SQL."
+msgstr ""
+"<literal>distinct</literal> 키워드와 all <literal>all</literal>가 사용될 수 "
+"있고 SQL의 경우와 동일한 의미를 갖는다."
 
-#: index.docbook:361
+#. Tag: programlisting
+#: query_hql.xml:361
+#, no-c-format
 msgid ""
-      "<![CDATA[select distinct cat.name from Cat cat\n"
-      "\n"
-      "select count(distinct cat.name), count(cat) from Cat cat]]>"
+"<![CDATA[select distinct cat.name from Cat cat\n"
+"\n"
+"select count(distinct cat.name), count(cat) from Cat cat]]>"
 msgstr ""
-      "<![CDATA[select distinct cat.name from Cat cat\n"
-      "\n"
-      "select count(distinct cat.name), count(cat) from Cat cat]]>"
 
-#: index.docbook:366
+#. Tag: title
+#: query_hql.xml:366
+#, no-c-format
 msgid "Polymorphic queries"
 msgstr "Polymorphic(다형성) 질의들"
 
-#: index.docbook:368
+#. Tag: para
+#: query_hql.xml:368
+#, no-c-format
 msgid "A query like:"
 msgstr "다음과 같은 질의:"
 
-#: index.docbook:374
-msgid "returns instances not only of <literal>Cat</literal>, but also of subclasses like <literal>DomesticCat</literal>. Hibernate queries may name <emphasis>any</emphasis> Java class or interface in the <literal>from</literal> clause. The query will return instances of all persistent classes that extend that class or implement the interface. The following query would return all persistent objects:"
-msgstr "은 <literal>Cat</literal>의 인스턴스들 뿐만 아니라, 또한 <literal>DomesticCat</literal>과 같은 서브클래스들 또한 반환한다. Hibernate 질의들은 <literal>from</literal> 절 내에 <emphasis>임의의</emphasis> 자바 클래스나 인터페이스를 명명할 수 있다. 질의는 그 클래스를 확장하거나 그 인터페이스를 구현하는 모든 영속 클래스들의 인스턴스들을 반환할 것이다. 다음 질의는 모든 영속 객체들을 반환할 것이다:"
+#. Tag: para
+#: query_hql.xml:374
+#, no-c-format
+msgid ""
+"returns instances not only of <literal>Cat</literal>, but also of subclasses "
+"like <literal>DomesticCat</literal>. Hibernate queries may name "
+"<emphasis>any</emphasis> Java class or interface in the <literal>from</"
+"literal> clause. The query will return instances of all persistent classes "
+"that extend that class or implement the interface. The following query would "
+"return all persistent objects:"
+msgstr ""
+"은 <literal>Cat</literal>의 인스턴스들 뿐만 아니라, 또한 "
+"<literal>DomesticCat</literal>과 같은 서브클래스들 또한 반환한다. Hibernate "
+"질의들은 <literal>from</literal> 절 내에 <emphasis>임의의</emphasis> 자바 클"
+"래스나 인터페이스를 명명할 수 있다. 질의는 그 클래스를 확장하거나 그 인터페이"
+"스를 구현하는 모든 영속 클래스들의 인스턴스들을 반환할 것이다. 다음 질의는 모"
+"든 영속 객체들을 반환할 것이다:"
 
-#: index.docbook:382
+#. Tag: programlisting
+#: query_hql.xml:382
+#, no-c-format
 msgid "<![CDATA[from java.lang.Object o]]>"
-msgstr "<![CDATA[from java.lang.Object o]]>"
+msgstr ""
 
-#: index.docbook:384
-msgid "The interface <literal>Named</literal> might be implemented by various persistent classes:"
-msgstr "인터페이스 <literal>Named</literal>는 여러 가지 영속 클래스들에 의해 구현될 수도 있다:"
+#. Tag: para
+#: query_hql.xml:384
+#, no-c-format
+msgid ""
+"The interface <literal>Named</literal> might be implemented by various "
+"persistent classes:"
+msgstr ""
+"인터페이스 <literal>Named</literal>는 여러 가지 영속 클래스들에 의해 구현될 "
+"수도 있다:"
 
-#: index.docbook:389
+#. Tag: programlisting
+#: query_hql.xml:389
+#, no-c-format
 msgid "<![CDATA[from Named n, Named m where n.name = m.name]]>"
-msgstr "<![CDATA[from Named n, Named m where n.name = m.name]]>"
+msgstr ""
 
-#: index.docbook:391
-msgid "Note that these last two queries will require more than one SQL <literal>SELECT</literal>. This means that the <literal>order by</literal> clause does not correctly order the whole result set. (It also means you can't call these queries using <literal>Query.scroll()</literal>.)"
-msgstr "이들 마지막 두 개의 질의들은 하나 이상의 SQL <literal>SELECT</literal>를 필요로 할 것임을 노트하라. 이것은 <literal>order by</literal> 절이 정확하게 전체 결과 셋을 순서지우지 않음을 의미한다.(그것은 또한 당신이 <literal>Query.scroll()</literal>을 사용하여 이들 질의들을 호출할 수 없음을 의미한다)."
+#. Tag: para
+#: query_hql.xml:391
+#, no-c-format
+msgid ""
+"Note that these last two queries will require more than one SQL "
+"<literal>SELECT</literal>. This means that the <literal>order by</literal> "
+"clause does not correctly order the whole result set. (It also means you "
+"can't call these queries using <literal>Query.scroll()</literal>.)"
+msgstr ""
+"이들 마지막 두 개의 질의들은 하나 이상의 SQL <literal>SELECT</literal>를 필요"
+"로 할 것임을 노트하라. 이것은 <literal>order by</literal> 절이 정확하게 전체 "
+"결과 셋을 순서지우지 않음을 의미한다.(그것은 또한 당신이 <literal>Query."
+"scroll()</literal>을 사용하여 이들 질의들을 호출할 수 없음을 의미한다)."
 
-#: index.docbook:400
+#. Tag: title
+#: query_hql.xml:400
+#, no-c-format
 msgid "The where clause"
 msgstr "where ì ˆ"
 
-#: index.docbook:402
-msgid "The <literal>where</literal> clause allows you to narrow the list of instances returned. If no alias exists, you may refer to properties by name:"
-msgstr "<literal>where</literal> 절은 반환된 인스턴스들의 목록을 제한시키는 것을 당신에게 허용해준다. 만일 alias가 존재하지 않을 경우, 당신은 이름에 의해 프로퍼티들을 참조할 수도 있다:"
+#. Tag: para
+#: query_hql.xml:402
+#, no-c-format
+msgid ""
+"The <literal>where</literal> clause allows you to narrow the list of "
+"instances returned. If no alias exists, you may refer to properties by name:"
+msgstr ""
+"<literal>where</literal> 절은 반환된 인스턴스들의 목록을 제한시키는 것을 당신"
+"에게 허용해준다. 만일 alias가 존재하지 않을 경우, 당신은 이름에 의해 프로퍼티"
+"들을 참조할 수도 있다:"
 
-#: index.docbook:407
+#. Tag: programlisting
+#: query_hql.xml:407
+#, no-c-format
 msgid "<![CDATA[from Cat where name='Fritz']]>"
-msgstr "<![CDATA[from Cat where name='Fritz']]>"
+msgstr ""
 
-#: index.docbook:409
+#. Tag: para
+#: query_hql.xml:409
+#, no-c-format
 msgid "If there is an alias, use a qualified property name:"
-msgstr "만일 한 개의 alias가 존재할 경우, 하나의 수식어가 붙은 프로퍼티 이름을 사용하라:"
+msgstr ""
+"만일 한 개의 alias가 존재할 경우, 하나의 수식어가 붙은 프로퍼티 이름을 사용하"
+"라:"
 
-#: index.docbook:413
+#. Tag: programlisting
+#: query_hql.xml:413
+#, no-c-format
 msgid "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
-msgstr "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
+msgstr ""
 
-#: index.docbook:415
+#. Tag: para
+#: query_hql.xml:415
+#, no-c-format
 msgid "returns instances of <literal>Cat</literal> named 'Fritz'."
 msgstr "는 'Fritz'로 명명된 <literal>Cat</literal>의 인스턴스들을 반환한다."
 
-#: index.docbook:419
+#. Tag: programlisting
+#: query_hql.xml:419
+#, no-c-format
 msgid ""
-      "<![CDATA[select foo\n"
-      "from Foo foo, Bar bar\n"
-      "where foo.startDate = bar.date]]>"
+"<![CDATA[select foo\n"
+"from Foo foo, Bar bar\n"
+"where foo.startDate = bar.date]]>"
 msgstr ""
-      "<![CDATA[select foo \n"
-      "from Foo foo, Bar bar\n"
-      "where foo.startDate = bar.date]]>"
 
-#: index.docbook:421
-msgid "will return all instances of <literal>Foo</literal> for which there exists an instance of <literal>bar</literal> with a <literal>date</literal> property equal to the <literal>startDate</literal> property of the <literal>Foo</literal>. Compound path expressions make the <literal>where</literal> clause extremely powerful. Consider:"
-msgstr "는 <literal>Foo</literal>의 <literal>startDate</literal> 프로퍼티와 동일한 <literal>date</literal> 프로퍼티를 가진 <literal>bar</literal>의 인스턴스가 존재하는 <literal>Foo</literal>의 모든 인스턴스를 반환할 것이다. 합성 경로 표현식들은 <literal>where</literal> 절을 매우 강력하게 만들어준다. 다음을 검토하자:"
+#. Tag: para
+#: query_hql.xml:421
+#, no-c-format
+msgid ""
+"will return all instances of <literal>Foo</literal> for which there exists "
+"an instance of <literal>bar</literal> with a <literal>date</literal> "
+"property equal to the <literal>startDate</literal> property of the "
+"<literal>Foo</literal>. Compound path expressions make the <literal>where</"
+"literal> clause extremely powerful. Consider:"
+msgstr ""
+"는 <literal>Foo</literal>의 <literal>startDate</literal> 프로퍼티와 동일한 "
+"<literal>date</literal> 프로퍼티를 가진 <literal>bar</literal>의 인스턴스가 "
+"존재하는 <literal>Foo</literal>의 모든 인스턴스를 반환할 것이다. 합성 경로 표"
+"현식들은 <literal>where</literal> 절을 매우 강력하게 만들어준다. 다음을 검토"
+"하자:"
 
-#: index.docbook:430
+#. Tag: programlisting
+#: query_hql.xml:430
+#, no-c-format
 msgid "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
-msgstr "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
+msgstr ""
 
-#: index.docbook:432
-msgid "This query translates to an SQL query with a table (inner) join. If you were to write something like"
-msgstr "이 질의는 테이블 (inner) join을 가진 SQL 질의로 번역된다. 만일 당신이 다음과 같은 어떤 것을 작성했다면"
+#. Tag: para
+#: query_hql.xml:432
+#, no-c-format
+msgid ""
+"This query translates to an SQL query with a table (inner) join. If you were "
+"to write something like"
+msgstr ""
+"이 질의는 테이블 (inner) join을 가진 SQL 질의로 번역된다. 만일 당신이 다음과 "
+"같은 어떤 것을 작성했다면"
 
-#: index.docbook:437
+#. Tag: programlisting
+#: query_hql.xml:437
+#, no-c-format
 msgid ""
-      "<![CDATA[from Foo foo\n"
-      "where foo.bar.baz.customer.address.city is not null]]>"
+"<![CDATA[from Foo foo\n"
+"where foo.bar.baz.customer.address.city is not null]]>"
 msgstr ""
-      "<![CDATA[from Foo foo  \n"
-      "where foo.bar.baz.customer.address.city is not null]]>"
 
-#: index.docbook:439
-msgid "you would end up with a query that would require four table joins in SQL."
-msgstr "당신은 SQL에서 네 개의 테이블 join들을 필요로 하는 하나의 질의로 끝낼 것이다."
+#. Tag: para
+#: query_hql.xml:439
+#, no-c-format
+msgid ""
+"you would end up with a query that would require four table joins in SQL."
+msgstr ""
+"당신은 SQL에서 네 개의 테이블 join들을 필요로 하는 하나의 질의로 끝낼 것이다."
 
-#: index.docbook:443
-msgid "The <literal>=</literal> operator may be used to compare not only properties, but also instances:"
-msgstr "<literal>=</literal> 연산자는 프로퍼티들 뿐만 아니라 또한 인스턴스들을 비교하는데 사용될 수 있다:"
+#. Tag: para
+#: query_hql.xml:443
+#, no-c-format
+msgid ""
+"The <literal>=</literal> operator may be used to compare not only "
+"properties, but also instances:"
+msgstr ""
+"<literal>=</literal> 연산자는 프로퍼티들 뿐만 아니라 또한 인스턴스들을 비교하"
+"는데 사용될 수 있다:"
 
-#: index.docbook:448
+#. Tag: programlisting
+#: query_hql.xml:448
+#, no-c-format
 msgid "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
-msgstr "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
+msgstr ""
 
-#: index.docbook:450
+#. Tag: programlisting
+#: query_hql.xml:450
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat, mate\n"
-      "from Cat cat, Cat mate\n"
-      "where cat.mate = mate]]>"
+"<![CDATA[select cat, mate\n"
+"from Cat cat, Cat mate\n"
+"where cat.mate = mate]]>"
 msgstr ""
-      "<![CDATA[select cat, mate \n"
-      "from Cat cat, Cat mate\n"
-      "where cat.mate = mate]]>"
 
-#: index.docbook:452
-msgid "The special property (lowercase) <literal>id</literal> may be used to reference the unique identifier of an object. See <xref linkend=\"queryhql-identifier-property\"/> for more information."
-msgstr "특별한 프로퍼티(소문자) <literal>id</literal>는 객체의 유일 식별자를 참조하는데 사용될 수 있다. 추가 정보는 <xref linkend=\"queryhql-identifier-property\"/>를 보라."
+#. Tag: para
+#: query_hql.xml:452
+#, no-c-format
+msgid ""
+"The special property (lowercase) <literal>id</literal> may be used to "
+"reference the unique identifier of an object. See <xref linkend=\"queryhql-"
+"identifier-property\"/> for more information."
+msgstr ""
+"특별한 프로퍼티(소문자) <literal>id</literal>는 객체의 유일 식별자를 참조하는"
+"데 사용될 수 있다. 추가 정보는 <xref linkend=\"queryhql-identifier-property"
+"\"/>를 보라."
 
-#: index.docbook:458
+#. Tag: programlisting
+#: query_hql.xml:458
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat where cat.id = 123\n"
-      "\n"
-      "from Cat as cat where cat.mate.id = 69]]>"
+"<![CDATA[from Cat as cat where cat.id = 123\n"
+"\n"
+"from Cat as cat where cat.mate.id = 69]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat where cat.id = 123\n"
-      "\n"
-      "from Cat as cat where cat.mate.id = 69]]>"
 
-#: index.docbook:460
+#. Tag: para
+#: query_hql.xml:460
+#, no-c-format
 msgid "The second query is efficient. No table join is required!"
 msgstr "두 번째 질의가 효율적이다. 테이블 join이 필요 없다!"
 
-#: index.docbook:464
-msgid "Properties of composite identifiers may also be used. Suppose <literal>Person</literal> has a composite identifier consisting of <literal>country</literal> and <literal>medicareNumber</literal>. Again, see <xref linkend=\"queryhql-identifier-property\"/> for more information regarding referencing identifier properties."
-msgstr "composite(합성) 식별자들의 프로퍼티들이 또한 사용될 수 있다. <literal>Person</literal>이 <literal>country</literal>와 <literal>medicareNumber</literal>로 구성된 composite 식별자를 갖는다고 가정하자. 식별자 속성들을 참조하는 것과 관련된 추가 정보는 다시 <xref linkend=\"queryhql-identifier-property\"/>를 보라."
+#. Tag: para
+#: query_hql.xml:464
+#, no-c-format
+msgid ""
+"Properties of composite identifiers may also be used. Suppose "
+"<literal>Person</literal> has a composite identifier consisting of "
+"<literal>country</literal> and <literal>medicareNumber</literal>. Again, see "
+"<xref linkend=\"queryhql-identifier-property\"/> for more information "
+"regarding referencing identifier properties."
+msgstr ""
+"composite(합성) 식별자들의 프로퍼티들이 또한 사용될 수 있다. "
+"<literal>Person</literal>이 <literal>country</literal>와 "
+"<literal>medicareNumber</literal>로 구성된 composite 식별자를 갖는다고 가정하"
+"자. 식별자 속성들을 참조하는 것과 관련된 추가 정보는 다시 <xref linkend="
+"\"queryhql-identifier-property\"/>를 보라."
 
-#: index.docbook:471
+#. Tag: programlisting
+#: query_hql.xml:471
+#, no-c-format
 msgid ""
-      "<![CDATA[from bank.Person person\n"
-      "where person.id.country = 'AU'\n"
-      "    and person.id.medicareNumber = 123456]]>"
+"<![CDATA[from bank.Person person\n"
+"where person.id.country = 'AU'\n"
+"    and person.id.medicareNumber = 123456]]>"
 msgstr ""
-      "<![CDATA[from bank.Person person\n"
-      "where person.id.country = 'AU'\n"
-      "    and person.id.medicareNumber = 123456]]>"
 
-#: index.docbook:473
+#. Tag: programlisting
+#: query_hql.xml:473
+#, no-c-format
 msgid ""
-      "<![CDATA[from bank.Account account\n"
-      "where account.owner.id.country = 'AU'\n"
-      "    and account.owner.id.medicareNumber = 123456]]>"
+"<![CDATA[from bank.Account account\n"
+"where account.owner.id.country = 'AU'\n"
+"    and account.owner.id.medicareNumber = 123456]]>"
 msgstr ""
-      "<![CDATA[from bank.Account account\n"
-      "where account.owner.id.country = 'AU'\n"
-      "    and account.owner.id.medicareNumber = 123456]]>"
 
-#: index.docbook:475
+#. Tag: para
+#: query_hql.xml:475
+#, no-c-format
 msgid "Once again, the second query requires no table join."
 msgstr "다시 한번, 두 번째 질의는 테이블 join을 필요로 하지 않는다."
 
-#: index.docbook:479
-msgid "Likewise, the special property <literal>class</literal> accesses the discriminator value of an instance in the case of polymorphic persistence. A Java class name embedded in the where clause will be translated to its discriminator value."
-msgstr "마찬가지로, 특별한 프로퍼티 <literal>class</literal>는 다형적인 영속성(polymorphic persistence)의 경우에 인스턴스의 판별자(discriminator) 값에 액세스한다. where 절 속에 삽입된 Java 클래스 이름은 그것의 판별자(discriminator) 값으로 변환될 것이다."
+#. Tag: para
+#: query_hql.xml:479
+#, no-c-format
+msgid ""
+"Likewise, the special property <literal>class</literal> accesses the "
+"discriminator value of an instance in the case of polymorphic persistence. A "
+"Java class name embedded in the where clause will be translated to its "
+"discriminator value."
+msgstr ""
+"마찬가지로, 특별한 프로퍼티 <literal>class</literal>는 다형적인 영속성"
+"(polymorphic persistence)의 경우에 인스턴스의 판별자(discriminator) 값에 액세"
+"스한다. where 절 속에 삽입된 Java 클래스 이름은 그것의 판별자(discriminator) "
+"값으로 변환될 것이다."
 
-#: index.docbook:485
+#. Tag: programlisting
+#: query_hql.xml:485
+#, no-c-format
 msgid "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
-msgstr "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
+msgstr ""
 
-#: index.docbook:487
-msgid "You may also use components or composite user types, or properties of said component types. See <xref linkend=\"queryhql-coomponents\"/> for more details."
-msgstr "당신은 또한 컴포넌트들 또는 composite 사용자 타입들, 또는 명명된 컴포넌트 타입들의 속성들을 사용할 수도 있다. 상세한 것은 <xref linkend=\"queryhql-components\"/>를 보라."
+#. Tag: para
+#: query_hql.xml:487
+#, no-c-format
+msgid ""
+"You may also use components or composite user types, or properties of said "
+"component types. See <xref linkend=\"queryhql-components\"/> for more "
+"details."
+msgstr ""
+"당신은 또한 컴포넌트들 또는 composite 사용자 타입들, 또는 명명된 컴포넌트 타"
+"입들의 속성들을 사용할 수도 있다. 상세한 것은 <xref linkend=\"queryhql-"
+"components\"/>를 보라."
 
-#: index.docbook:492
-msgid "An \"any\" type has the special properties <literal>id</literal> and <literal>class</literal>, allowing us to express a join in the following way (where <literal>AuditLog.item</literal> is a property mapped with <literal>&lt;any&gt;</literal>)."
-msgstr "\"임의의\" 타입은 다음 방법으로 join을 표현하는 것을 우리에게 허용해주는, 특별한 프로퍼티들 <literal>id</literal>와 <literal>class</literal>를 갖는다(여기서 <literal>AuditLog.item</literal>은 <literal>&lt;any&gt;</literal>로 매핑된 프로퍼티이다)."
+#. Tag: para
+#: query_hql.xml:492
+#, no-c-format
+msgid ""
+"An \"any\" type has the special properties <literal>id</literal> and "
+"<literal>class</literal>, allowing us to express a join in the following way "
+"(where <literal>AuditLog.item</literal> is a property mapped with "
+"<literal>&lt;any&gt;</literal>)."
+msgstr ""
+"\"임의의\" 타입은 다음 방법으로 join을 표현하는 것을 우리에게 허용해주는, 특"
+"별한 프로퍼티들 <literal>id</literal>와 <literal>class</literal>를 갖는다(여"
+"기서 <literal>AuditLog.item</literal>은 <literal>&lt;any&gt;</literal>로 매핑"
+"된 프로퍼티이다)."
 
-#: index.docbook:498
+#. Tag: programlisting
+#: query_hql.xml:498
+#, no-c-format
 msgid ""
-      "<![CDATA[from AuditLog log, Payment payment\n"
-      "where log.item.class = 'Payment' and log.item.id = payment.id]]>"
+"<![CDATA[from AuditLog log, Payment payment\n"
+"where log.item.class = 'Payment' and log.item.id = payment.id]]>"
 msgstr ""
-      "<![CDATA[from AuditLog log, Payment payment \n"
-      "where log.item.class = 'Payment' and log.item.id = payment.id]]>"
 
-#: index.docbook:500
-msgid "Notice that <literal>log.item.class</literal> and <literal>payment.class</literal> would refer to the values of completely different database columns in the above query."
-msgstr "<literal>log.item.class</literal>와 <literal>payment.class</literal>는 위의 질의 내에서 완전히 다른 데이터베이스 컬럼들의 값들을 참조할 것임을 노트하라."
+#. Tag: para
+#: query_hql.xml:500
+#, no-c-format
+msgid ""
+"Notice that <literal>log.item.class</literal> and <literal>payment.class</"
+"literal> would refer to the values of completely different database columns "
+"in the above query."
+msgstr ""
+"<literal>log.item.class</literal>와 <literal>payment.class</literal>는 위의 "
+"질의 내에서 완전히 다른 데이터베이스 컬럼들의 값들을 참조할 것임을 노트하라."
 
-#: index.docbook:508
+#. Tag: title
+#: query_hql.xml:508
+#, no-c-format
 msgid "Expressions"
 msgstr "표현식들"
 
-#: index.docbook:510
-msgid "Expressions allowed in the <literal>where</literal> clause include most of the kind of things you could write in SQL:"
-msgstr "<literal>where</literal> 절 속에 허용되는 표현식들은 당신이 SQL로 작성할 수 있는 대부분의 종류의 것들을 포함한다:"
+#. Tag: para
+#: query_hql.xml:510
+#, no-c-format
+msgid ""
+"Expressions allowed in the <literal>where</literal> clause include most of "
+"the kind of things you could write in SQL:"
+msgstr ""
+"<literal>where</literal> 절 속에 허용되는 표현식들은 당신이 SQL로 작성할 수 "
+"있는 대부분의 종류의 것들을 포함한다:"
 
-#: index.docbook:517
+#. Tag: para
+#: query_hql.xml:517
+#, no-c-format
 msgid "mathematical operators <literal>+, -, *, /</literal>"
 msgstr "산술 연산자들 <literal>+, -, *, /</literal>"
 
-#: index.docbook:522
-msgid "binary comparison operators <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</literal>"
-msgstr "바이너리 비교 연산자들 <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</literal>"
+#. Tag: para
+#: query_hql.xml:522
+#, no-c-format
+msgid ""
+"binary comparison operators <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</"
+"literal>"
+msgstr ""
+"바이너리 비교 연산자들 <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</literal>"
 
-#: index.docbook:527
+#. Tag: para
+#: query_hql.xml:527
+#, no-c-format
 msgid "logical operations <literal>and, or, not</literal>"
 msgstr "논리 연산들 <literal>and, or, not</literal>"
 
-#: index.docbook:532
+#. Tag: para
+#: query_hql.xml:532
+#, no-c-format
 msgid "Parentheses <literal>( )</literal>, indicating grouping"
 msgstr "그룹핑을 나타내는 괄호들 <literal>( )</literal>, indicating grouping"
 
-#: index.docbook:537
-msgid "<literal>in</literal>, <literal>not in</literal>, <literal>between</literal>, <literal>is null</literal>, <literal>is not null</literal>, <literal>is empty</literal>, <literal>is not empty</literal>, <literal>member of</literal> and <literal>not member of</literal>"
-msgstr "<literal>in</literal>, <literal>not in</literal>, <literal>between</literal>, <literal>is null</literal>, <literal>is not null</literal>, <literal>is empty</literal>, <literal>is not empty</literal>, <literal>member of</literal> and <literal>not member of</literal>"
+#. Tag: para
+#: query_hql.xml:537
+#, no-c-format
+msgid ""
+"<literal>in</literal>, <literal>not in</literal>, <literal>between</"
+"literal>, <literal>is null</literal>, <literal>is not null</literal>, "
+"<literal>is empty</literal>, <literal>is not empty</literal>, "
+"<literal>member of</literal> and <literal>not member of</literal>"
+msgstr ""
+"<literal>in</literal>, <literal>not in</literal>, <literal>between</"
+"literal>, <literal>is null</literal>, <literal>is not null</literal>, "
+"<literal>is empty</literal>, <literal>is not empty</literal>, "
+"<literal>member of</literal> and <literal>not member of</literal>"
 
-#: index.docbook:550
-msgid "\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, and \"searched\" case, <literal>case when ... then ... else ... end</literal>"
-msgstr "\"간단한\" 경우, <literal>case ... when ... then ... else ... end</literal>, 그리고 \"검색인\" 경우, <literal>case when ... then ... else ... end</literal>"
+#. Tag: para
+#: query_hql.xml:550
+#, no-c-format
+msgid ""
+"\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, "
+"and \"searched\" case, <literal>case when ... then ... else ... end</literal>"
+msgstr ""
+"\"간단한\" 경우, <literal>case ... when ... then ... else ... end</literal>, "
+"그리고 \"검색인\" 경우, <literal>case when ... then ... else ... end</"
+"literal>"
 
-#: index.docbook:556
-msgid "string concatenation <literal>...||...</literal> or <literal>concat(...,...)</literal>"
-msgstr "문자열 연결 <literal>...||...</literal> or <literal>concat(...,...)</literal>"
+#. Tag: para
+#: query_hql.xml:556
+#, no-c-format
+msgid ""
+"string concatenation <literal>...||...</literal> or <literal>concat(...,...)"
+"</literal>"
+msgstr ""
+"문자열 연결 <literal>...||...</literal> or <literal>concat(...,...)</literal>"
 
-#: index.docbook:561
-msgid "<literal>current_date()</literal>, <literal>current_time()</literal>, <literal>current_timestamp()</literal>"
-msgstr "<literal>current_date()</literal>, <literal>current_time()</literal>, <literal>current_timestamp()</literal>"
+#. Tag: para
+#: query_hql.xml:561
+#, no-c-format
+msgid ""
+"<literal>current_date()</literal>, <literal>current_time()</literal>, "
+"<literal>current_timestamp()</literal>"
+msgstr ""
+"<literal>current_date()</literal>, <literal>current_time()</literal>, "
+"<literal>current_timestamp()</literal>"
 
-#: index.docbook:567
-msgid "<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, <literal>year(...)</literal>,"
-msgstr "<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, <literal>year(...)</literal>,"
+#. Tag: para
+#: query_hql.xml:567
+#, no-c-format
+msgid ""
+"<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour"
+"(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
+"<literal>year(...)</literal>,"
+msgstr ""
+"<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour"
+"(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
+"<literal>year(...)</literal>,"
 
-#: index.docbook:574
-msgid "Any function or operator defined by EJB-QL 3.0: <literal>substring(), trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()</literal>"
-msgstr "EJB-QL 3.0에 의해 정의된 임의의 함수 또는 오퍼레이터: <literal>substring(), trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()</literal>"
+#. Tag: para
+#: query_hql.xml:574
+#, no-c-format
+msgid ""
+"Any function or operator defined by EJB-QL 3.0: <literal>substring(), trim"
+"(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()"
+"</literal>"
+msgstr ""
+"EJB-QL 3.0에 의해 정의된 임의의 함수 또는 오퍼레이터: <literal>substring(), "
+"trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), "
+"mod()</literal>"
 
-#: index.docbook:580
+#. Tag: para
+#: query_hql.xml:580
+#, no-c-format
 msgid "<literal>coalesce()</literal> and <literal>nullif()</literal>"
 msgstr "<literal>coalesce()</literal> 그리고 <literal>nullif()</literal>"
 
-#: index.docbook:585
-msgid "<literal>str()</literal> for converting numeric or temporal values to a readable string"
-msgstr "numeric 값들이나 temporal 값들을 가독성 있는 문자열로 변환시키는 <literal>str()</literal>"
+#. Tag: para
+#: query_hql.xml:585
+#, no-c-format
+msgid ""
+"<literal>str()</literal> for converting numeric or temporal values to a "
+"readable string"
+msgstr ""
+"numeric 값들이나 temporal 값들을 가독성 있는 문자열로 변환시키는 <literal>str"
+"()</literal>"
 
-#: index.docbook:591
-msgid "<literal>cast(... as ...)</literal>, where the second argument is the name of a Hibernate type, and <literal>extract(... from ...)</literal> if ANSI <literal>cast()</literal> and <literal>extract()</literal> is supported by the underlying database"
-msgstr "<literal>cast(... as ...)</literal>, 여기서 두번 째 아규먼트는 Hibernate 타입의 이름이고, ANSI <literal>cast()</literal>와 <literal>extract()</literal>가 기반 데이터베이스에 의해 지원될 경우에는 <literal>extract(... from ...)</literal>."
+#. Tag: para
+#: query_hql.xml:591
+#, no-c-format
+msgid ""
+"<literal>cast(... as ...)</literal>, where the second argument is the name "
+"of a Hibernate type, and <literal>extract(... from ...)</literal> if ANSI "
+"<literal>cast()</literal> and <literal>extract()</literal> is supported by "
+"the underlying database"
+msgstr ""
+"<literal>cast(... as ...)</literal>, 여기서 두번 째 아규먼트는 Hibernate 타입"
+"의 이름이고, ANSI <literal>cast()</literal>와 <literal>extract()</literal>가 "
+"기반 데이터베이스에 의해 지원될 경우에는 <literal>extract(... from ...)</"
+"literal>."
 
-#: index.docbook:599
-msgid "the HQL <literal>index()</literal> function, that applies to aliases of a joined indexed collection"
-msgstr "조인된 인덱싱된 콜렉션의 alias들에 적용되는, HQL <literal>index()</literal> 함수"
+#. Tag: para
+#: query_hql.xml:599
+#, no-c-format
+msgid ""
+"the HQL <literal>index()</literal> function, that applies to aliases of a "
+"joined indexed collection"
+msgstr ""
+"조인된 인덱싱된 콜렉션의 alias들에 적용되는, HQL <literal>index()</literal> "
+"함수"
 
-#: index.docbook:605
-msgid "HQL functions that take collection-valued path expressions: <literal>size(), minelement(), maxelement(), minindex(), maxindex()</literal>, along with the special <literal>elements()</literal> and <literal>indices</literal> functions which may be quantified using <literal>some, all, exists, any, in</literal>."
-msgstr "콜렉션 값을 가진 경로 표현식들을 취하는 HQL 함수들 : <literal>some, all, exists, any, in</literal>을 사용하여 정량화 될 수 있는 특별한 <literal>elements()</literal>와 <literal>indices</literal> 함수들과 함께 <literal>size(), minelement(), maxelement(), minindex(), maxindex()</literal>."
+#. Tag: para
+#: query_hql.xml:605
+#, no-c-format
+msgid ""
+"HQL functions that take collection-valued path expressions: <literal>size(), "
+"minelement(), maxelement(), minindex(), maxindex()</literal>, along with the "
+"special <literal>elements()</literal> and <literal>indices</literal> "
+"functions which may be quantified using <literal>some, all, exists, any, in</"
+"literal>."
+msgstr ""
+"콜렉션 값을 가진 경로 표현식들을 취하는 HQL 함수들 : <literal>some, all, "
+"exists, any, in</literal>을 사용하여 정량화 될 수 있는 특별한 "
+"<literal>elements()</literal>와 <literal>indices</literal> 함수들과 함께 "
+"<literal>size(), minelement(), maxelement(), minindex(), maxindex()</"
+"literal>."
 
-#: index.docbook:613
-msgid "Any database-supported SQL scalar function like <literal>sign()</literal>, <literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</literal>"
-msgstr "<literal>sign()</literal>, <literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</literal>과 같이 임의의 데이터베이스 지원 SQL 스칼라 함수"
+#. Tag: para
+#: query_hql.xml:613
+#, no-c-format
+msgid ""
+"Any database-supported SQL scalar function like <literal>sign()</literal>, "
+"<literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</"
+"literal>"
+msgstr ""
+"<literal>sign()</literal>, <literal>trunc()</literal>, <literal>rtrim()</"
+"literal>, <literal>sin()</literal>과 같이 임의의 데이터베이스 지원 SQL 스칼"
+"라 함수"
 
-#: index.docbook:619
+#. Tag: para
+#: query_hql.xml:619
+#, no-c-format
 msgid "JDBC-style positional parameters <literal>?</literal>"
 msgstr "JDBC-스타일 위치 파라미터들 <literal>?</literal>"
 
-#: index.docbook:624
-msgid "named parameters <literal>:name</literal>, <literal>:start_date</literal>, <literal>:x1</literal>"
-msgstr "명명된 파라미터들 <literal>:name</literal>, <literal>:start_date</literal>, <literal>:x1</literal>"
+#. Tag: para
+#: query_hql.xml:624
+#, no-c-format
+msgid ""
+"named parameters <literal>:name</literal>, <literal>:start_date</literal>, "
+"<literal>:x1</literal>"
+msgstr ""
+"명명된 파라미터들 <literal>:name</literal>, <literal>:start_date</literal>, "
+"<literal>:x1</literal>"
 
-#: index.docbook:629
-msgid "SQL literals <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
-msgstr "SQL 리터럴들 <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
+#. Tag: para
+#: query_hql.xml:629
+#, no-c-format
+msgid ""
+"SQL literals <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E"
+"+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
+msgstr ""
+"SQL 리터럴들 <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E"
+"+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
 
-#: index.docbook:635
-msgid "Java <literal>public static final</literal> constants <literal>eg.Color.TABBY</literal>"
-msgstr "Java <literal>public static final</literal> 상수들. <literal>eg.Color.TABBY</literal>"
+#. Tag: para
+#: query_hql.xml:635
+#, no-c-format
+msgid ""
+"Java <literal>public static final</literal> constants <literal>eg.Color."
+"TABBY</literal>"
+msgstr ""
+"Java <literal>public static final</literal> 상수들. <literal>eg.Color.TABBY</"
+"literal>"
 
-#: index.docbook:641
-msgid "<literal>in</literal> and <literal>between</literal> may be used as follows:"
-msgstr "<literal>in</literal> 과 <literal>between</literal>은 다음과 같이 사용될 수 있다:"
+#. Tag: para
+#: query_hql.xml:641
+#, no-c-format
+msgid ""
+"<literal>in</literal> and <literal>between</literal> may be used as follows:"
+msgstr ""
+"<literal>in</literal> 과 <literal>between</literal>은 다음과 같이 사용될 수 "
+"있다:"
 
-#: index.docbook:645
+#. Tag: programlisting
+#: query_hql.xml:645
+#, no-c-format
 msgid "<![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]>"
-msgstr "<![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]>"
+msgstr ""
 
-#: index.docbook:647
-msgid "<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]>"
-msgstr "<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]>"
+#. Tag: programlisting
+#: query_hql.xml:647
+#, no-c-format
+msgid ""
+"<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]>"
+msgstr ""
 
-#: index.docbook:649
+#. Tag: para
+#: query_hql.xml:649
+#, no-c-format
 msgid "and the negated forms may be written"
 msgstr "그리고 부정형들은 다음과 같이 작성될 수 있다"
 
-#: index.docbook:653
+#. Tag: programlisting
+#: query_hql.xml:653
+#, no-c-format
 msgid "<![CDATA[from DomesticCat cat where cat.name not between 'A' and 'B']]>"
-msgstr "<![CDATA[from DomesticCat cat where cat.name not between 'A' and 'B']]>"
+msgstr ""
 
-#: index.docbook:655
-msgid "<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]>"
-msgstr "<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]>"
+#. Tag: programlisting
+#: query_hql.xml:655
+#, no-c-format
+msgid ""
+"<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]"
+">"
+msgstr ""
 
-#: index.docbook:657
-msgid "Likewise, <literal>is null</literal> and <literal>is not null</literal> may be used to test for null values."
-msgstr "마찬가지로, <literal>is null</literal>과 <literal>is not null</literal>은 null 값들을 테스트하는데 사용될 수 있다."
+#. Tag: para
+#: query_hql.xml:657
+#, no-c-format
+msgid ""
+"Likewise, <literal>is null</literal> and <literal>is not null</literal> may "
+"be used to test for null values."
+msgstr ""
+"마찬가지로, <literal>is null</literal>과 <literal>is not null</literal>은 "
+"null 값들을 테스트하는데 사용될 수 있다."
 
-#: index.docbook:662
-msgid "Booleans may be easily used in expressions by declaring HQL query substitutions in Hibernate configuration:"
-msgstr "Boolean들은 Hibernate 구성 내에 HQL 질의 치환들을 선언함으로써 표현식들 내에 쉽게 사용될 수 있다:"
+#. Tag: para
+#: query_hql.xml:662
+#, no-c-format
+msgid ""
+"Booleans may be easily used in expressions by declaring HQL query "
+"substitutions in Hibernate configuration:"
+msgstr ""
+"Boolean들은 Hibernate 구성 내에 HQL 질의 치환들을 선언함으로써 표현식들 내에 "
+"쉽게 사용될 수 있다:"
 
-#: index.docbook:667
-msgid "<![CDATA[<property name=\"hibernate.query.substitutions\">true 1, false 0</property>]]>"
-msgstr "<![CDATA[<property name=\"hibernate.query.substitutions\">true 1, false 0</property>]]>"
+#. Tag: programlisting
+#: query_hql.xml:667
+#, no-c-format
+msgid ""
+"<![CDATA[<property name=\"hibernate.query.substitutions\">true 1, false 0</"
+"property>]]>"
+msgstr ""
 
-#: index.docbook:669
-msgid "This will replace the keywords <literal>true</literal> and <literal>false</literal> with the literals <literal>1</literal> and <literal>0</literal> in the translated SQL from this HQL:"
-msgstr "이것은 키워드 <literal>true</literal>와 <literal>false</literal> 키워드들을 이 HQL로부터 번역된 SQL에서 리터럴 <literal>1</literal>과 <literal>0</literal>으로 대체될 것이다:"
+#. Tag: para
+#: query_hql.xml:669
+#, no-c-format
+msgid ""
+"This will replace the keywords <literal>true</literal> and <literal>false</"
+"literal> with the literals <literal>1</literal> and <literal>0</literal> in "
+"the translated SQL from this HQL:"
+msgstr ""
+"이것은 키워드 <literal>true</literal>와 <literal>false</literal> 키워드들을 "
+"이 HQL로부터 번역된 SQL에서 리터럴 <literal>1</literal>과 <literal>0</"
+"literal>으로 대체될 것이다:"
 
-#: index.docbook:674
+#. Tag: programlisting
+#: query_hql.xml:674
+#, no-c-format
 msgid "<![CDATA[from Cat cat where cat.alive = true]]>"
-msgstr "<![CDATA[from Cat cat where cat.alive = true]]>"
+msgstr ""
 
-#: index.docbook:676
-msgid "You may test the size of a collection with the special property <literal>size</literal>, or the special <literal>size()</literal> function."
-msgstr "당신은 특별한 프로퍼티 <literal>size</literal>로서 또는 특별한 <literal>size()</literal> 함수로서 콜렉션의 사이즈를 테스트할 수 있다."
+#. Tag: para
+#: query_hql.xml:676
+#, no-c-format
+msgid ""
+"You may test the size of a collection with the special property "
+"<literal>size</literal>, or the special <literal>size()</literal> function."
+msgstr ""
+"당신은 특별한 프로퍼티 <literal>size</literal>로서 또는 특별한 <literal>size"
+"()</literal> 함수로서 콜렉션의 사이즈를 테스트할 수 있다."
 
-#: index.docbook:681
+#. Tag: programlisting
+#: query_hql.xml:681
+#, no-c-format
 msgid "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
-msgstr "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
+msgstr ""
 
-#: index.docbook:683
+#. Tag: programlisting
+#: query_hql.xml:683
+#, no-c-format
 msgid "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
-msgstr "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
+msgstr ""
 
-#: index.docbook:685
-msgid "For indexed collections, you may refer to the minimum and maximum indices using <literal>minindex</literal> and <literal>maxindex</literal> functions. Similarly, you may refer to the minimum and maximum elements of a collection of basic type using the <literal>minelement</literal> and <literal>maxelement</literal> functions."
-msgstr "인덱싱된 콜렉션들에 대해, 당신은<literal>minindex</literal>와 <literal>maxindex</literal> 함수들을 사용하여 최소 인덱스과 최대 인덱스를 참조할 수 있다. 유사하게 당신은 <literal>minelement</literal>와 <literal>maxelement</literal> 함수를 사용하여 기본 타입을 가진 콜렉션의 최소 요소 및 최대 요소를 참조할 수 있다."
+#. Tag: para
+#: query_hql.xml:685
+#, no-c-format
+msgid ""
+"For indexed collections, you may refer to the minimum and maximum indices "
+"using <literal>minindex</literal> and <literal>maxindex</literal> functions. "
+"Similarly, you may refer to the minimum and maximum elements of a collection "
+"of basic type using the <literal>minelement</literal> and "
+"<literal>maxelement</literal> functions."
+msgstr ""
+"인덱싱된 콜렉션들에 대해, 당신은<literal>minindex</literal>와 "
+"<literal>maxindex</literal> 함수들을 사용하여 최소 인덱스과 최대 인덱스를 참"
+"조할 수 있다. 유사하게 당신은 <literal>minelement</literal>와 "
+"<literal>maxelement</literal> 함수를 사용하여 기본 타입을 가진 콜렉션의 최소 "
+"요소 및 최대 요소를 참조할 수 있다."
 
-#: index.docbook:693
-msgid "<![CDATA[from Calendar cal where maxelement(cal.holidays) > current_date]]>"
-msgstr "<![CDATA[from Calendar cal where maxelement(cal.holidays) > current_date]]>"
+#. Tag: programlisting
+#: query_hql.xml:693
+#, no-c-format
+msgid ""
+"<![CDATA[from Calendar cal where maxelement(cal.holidays) > current_date]]>"
+msgstr ""
 
-#: index.docbook:695
+#. Tag: programlisting
+#: query_hql.xml:695
+#, no-c-format
 msgid "<![CDATA[from Order order where maxindex(order.items) > 100]]>"
-msgstr "<![CDATA[from Order order where maxindex(order.items) > 100]]>"
+msgstr ""
 
-#: index.docbook:697
+#. Tag: programlisting
+#: query_hql.xml:697
+#, no-c-format
 msgid "<![CDATA[from Order order where minelement(order.items) > 10000]]>"
-msgstr "<![CDATA[from Order order where minelement(order.items) > 10000]]>"
+msgstr ""
 
-#: index.docbook:699
-msgid "The SQL functions <literal>any, some, all, exists, in</literal> are supported when passed the element or index set of a collection (<literal>elements</literal> and <literal>indices</literal> functions) or the result of a subquery (see below)."
-msgstr "SQL 함수들 <literal>any, some, all, exists, in</literal>은 콜렉션의 요소 또는 인덱스 세트(<literal>elements</literal> 함수와 <literal>indices</literal> 함수), 또는 서브질의의 결과를 전달했을 때 지원된다(아래를 보라)."
+#. Tag: para
+#: query_hql.xml:699
+#, no-c-format
+msgid ""
+"The SQL functions <literal>any, some, all, exists, in</literal> are "
+"supported when passed the element or index set of a collection "
+"(<literal>elements</literal> and <literal>indices</literal> functions) or "
+"the result of a subquery (see below)."
+msgstr ""
+"SQL 함수들 <literal>any, some, all, exists, in</literal>은 콜렉션의 요소 또"
+"는 인덱스 세트(<literal>elements</literal> 함수와 <literal>indices</literal> "
+"함수), 또는 서브질의의 결과를 전달했을 때 지원된다(아래를 보라)."
 
-#: index.docbook:705
+#. Tag: programlisting
+#: query_hql.xml:705
+#, no-c-format
 msgid ""
-      "<![CDATA[select mother from Cat as mother, Cat as kit\n"
-      "where kit in elements(foo.kittens)]]>"
+"<![CDATA[select mother from Cat as mother, Cat as kit\n"
+"where kit in elements(foo.kittens)]]>"
 msgstr ""
-      "<![CDATA[select mother from Cat as mother, Cat as kit\n"
-      "where kit in elements(foo.kittens)]]>"
 
-#: index.docbook:707
+#. Tag: programlisting
+#: query_hql.xml:707
+#, no-c-format
 msgid ""
-      "<![CDATA[select p from NameList list, Person p\n"
-      "where p.name = some elements(list.names)]]>"
+"<![CDATA[select p from NameList list, Person p\n"
+"where p.name = some elements(list.names)]]>"
 msgstr ""
-      "<![CDATA[select p from NameList list, Person p\n"
-      "where p.name = some elements(list.names)]]>"
 
-#: index.docbook:709
+#. Tag: programlisting
+#: query_hql.xml:709
+#, no-c-format
 msgid "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
-msgstr "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
+msgstr ""
 
-#: index.docbook:711
+#. Tag: programlisting
+#: query_hql.xml:711
+#, no-c-format
 msgid "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
-msgstr "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
+msgstr ""
 
-#: index.docbook:713
+#. Tag: programlisting
+#: query_hql.xml:713
+#, no-c-format
 msgid "<![CDATA[from Show show where 'fizard' in indices(show.acts)]]>"
-msgstr "<![CDATA[from Show show where 'fizard' in indices(show.acts)]]>"
+msgstr ""
 
-#: index.docbook:715
-msgid "Note that these constructs - <literal>size</literal>, <literal>elements</literal>, <literal>indices</literal>, <literal>minindex</literal>, <literal>maxindex</literal>, <literal>minelement</literal>, <literal>maxelement</literal> - may only be used in the where clause in Hibernate3."
-msgstr "이들 구조체들-<literal>size</literal>, <literal>elements</literal>, <literal>indices</literal>, <literal>minindex</literal>, <literal>maxindex</literal>, <literal>minelement</literal>, <literal>maxelement</literal>-는 Hibernate3에서 where 절 내에서만 사용될 것임을 노트하라."
+#. Tag: para
+#: query_hql.xml:715
+#, no-c-format
+msgid ""
+"Note that these constructs - <literal>size</literal>, <literal>elements</"
+"literal>, <literal>indices</literal>, <literal>minindex</literal>, "
+"<literal>maxindex</literal>, <literal>minelement</literal>, "
+"<literal>maxelement</literal> - may only be used in the where clause in "
+"Hibernate3."
+msgstr ""
+"이들 구조체들-<literal>size</literal>, <literal>elements</literal>, "
+"<literal>indices</literal>, <literal>minindex</literal>, <literal>maxindex</"
+"literal>, <literal>minelement</literal>, <literal>maxelement</literal>-는 "
+"Hibernate3에서 where 절 내에서만 사용될 것임을 노트하라."
 
-#: index.docbook:722
-msgid "Elements of indexed collections (arrays, lists, maps) may be referred to by index (in a where clause only):"
-msgstr "인덱싱 된 콜렉션들의 요소들(배열들, 리스트들, map들)은 인덱스에 의해 참조될 수 있다(where 절 안에서만):"
+#. Tag: para
+#: query_hql.xml:722
+#, no-c-format
+msgid ""
+"Elements of indexed collections (arrays, lists, maps) may be referred to by "
+"index (in a where clause only):"
+msgstr ""
+"인덱싱 된 콜렉션들의 요소들(배열들, 리스트들, map들)은 인덱스에 의해 참조될 "
+"수 있다(where 절 안에서만):"
 
-#: index.docbook:727
+#. Tag: programlisting
+#: query_hql.xml:727
+#, no-c-format
 msgid "<![CDATA[from Order order where order.items[0].id = 1234]]>"
-msgstr "<![CDATA[from Order order where order.items[0].id = 1234]]>"
+msgstr ""
 
-#: index.docbook:729
+#. Tag: programlisting
+#: query_hql.xml:729
+#, no-c-format
 msgid ""
-      "<![CDATA[select person from Person person, Calendar calendar\n"
-      "where calendar.holidays['national day'] = person.birthDay\n"
-      "    and person.nationality.calendar = calendar]]>"
+"<![CDATA[select person from Person person, Calendar calendar\n"
+"where calendar.holidays['national day'] = person.birthDay\n"
+"    and person.nationality.calendar = calendar]]>"
 msgstr ""
-      "<![CDATA[select person from Person person, Calendar calendar\n"
-      "where calendar.holidays['national day'] = person.birthDay\n"
-      "    and person.nationality.calendar = calendar]]>"
 
-#: index.docbook:731
+#. Tag: programlisting
+#: query_hql.xml:731
+#, no-c-format
 msgid ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]>"
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]"
+">"
 msgstr ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]>"
 
-#: index.docbook:733
+#. Tag: programlisting
+#: query_hql.xml:733
+#, no-c-format
 msgid ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
 msgstr ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
 
-#: index.docbook:735
-msgid "The expression inside <literal>[]</literal> may even be an arithmetic expression."
+#. Tag: para
+#: query_hql.xml:735
+#, no-c-format
+msgid ""
+"The expression inside <literal>[]</literal> may even be an arithmetic "
+"expression."
 msgstr "<literal>[]</literal> 내부의 표현식은 산술 표현실일 수 있다."
 
-#: index.docbook:739
+#. Tag: programlisting
+#: query_hql.xml:739
+#, no-c-format
 msgid ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ size(order.items) - 1 ] = item]]>"
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ size(order.items) - 1 ] = item]]>"
 msgstr ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ size(order.items) - 1 ] = item]]>"
 
-#: index.docbook:741
-msgid "HQL also provides the built-in <literal>index()</literal> function, for elements of a one-to-many association or collection of values."
-msgstr "HQL은 또한 one-to-many 연관 또는 값들을 가진 콜렉션의 요소들에 대해 미리 만들어진 <literal>index()</literal> 함수를 제공한다."
+#. Tag: para
+#: query_hql.xml:741
+#, no-c-format
+msgid ""
+"HQL also provides the built-in <literal>index()</literal> function, for "
+"elements of a one-to-many association or collection of values."
+msgstr ""
+"HQL은 또한 one-to-many 연관 또는 값들을 가진 콜렉션의 요소들에 대해 미리 만들"
+"어진 <literal>index()</literal> 함수를 제공한다."
 
-#: index.docbook:746
+#. Tag: programlisting
+#: query_hql.xml:746
+#, no-c-format
 msgid ""
-      "<![CDATA[select item, index(item) from Order order\n"
-      "    join order.items item\n"
-      "where index(item) < 5]]>"
+"<![CDATA[select item, index(item) from Order order\n"
+"    join order.items item\n"
+"where index(item) < 5]]>"
 msgstr ""
-      "<![CDATA[select item, index(item) from Order order \n"
-      "    join order.items item\n"
-      "where index(item) < 5]]>"
 
-#: index.docbook:748
+#. Tag: para
+#: query_hql.xml:748
+#, no-c-format
 msgid "Scalar SQL functions supported by the underlying database may be used"
 msgstr "기본 데이터베이스에 의해 제공되는 Scalar SQL 함수들이 사용될 수도 있다"
 
-#: index.docbook:752
+#. Tag: programlisting
+#: query_hql.xml:752
+#, no-c-format
 msgid "<![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]>"
-msgstr "<![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]>"
+msgstr ""
 
-#: index.docbook:754
-msgid "If you are not yet convinced by all this, think how much longer and less readable the following query would be in SQL:"
-msgstr "당신이 아직 이 모든 것을 납득하지 못한다면, SQL 내에서 다음 질의가 가독성이 얼마나 많고 적은지를 생각해보라:"
+#. Tag: para
+#: query_hql.xml:754
+#, no-c-format
+msgid ""
+"If you are not yet convinced by all this, think how much longer and less "
+"readable the following query would be in SQL:"
+msgstr ""
+"당신이 아직 이 모든 것을 납득하지 못한다면, SQL 내에서 다음 질의가 가독성이 "
+"얼마나 많고 적은지를 생각해보라:"
 
-#: index.docbook:759
+#. Tag: programlisting
+#: query_hql.xml:759
+#, no-c-format
 msgid ""
-      "<![CDATA[select cust\n"
-      "from Product prod,\n"
-      "    Store store\n"
-      "    inner join store.customers cust\n"
-      "where prod.name = 'widget'\n"
-      "    and store.location.name in ( 'Melbourne', 'Sydney' )\n"
-      "    and prod = all elements(cust.currentOrder.lineItems)]]>"
+"<![CDATA[select cust\n"
+"from Product prod,\n"
+"    Store store\n"
+"    inner join store.customers cust\n"
+"where prod.name = 'widget'\n"
+"    and store.location.name in ( 'Melbourne', 'Sydney' )\n"
+"    and prod = all elements(cust.currentOrder.lineItems)]]>"
 msgstr ""
-      "<![CDATA[select cust\n"
-      "from Product prod,\n"
-      "    Store store\n"
-      "    inner join store.customers cust\n"
-      "where prod.name = 'widget'\n"
-      "    and store.location.name in ( 'Melbourne', 'Sydney' )\n"
-      "    and prod = all elements(cust.currentOrder.lineItems)]]>"
 
-#: index.docbook:761
+#. Tag: para
+#: query_hql.xml:761
+#, no-c-format
 msgid "<emphasis>Hint:</emphasis> something like"
 msgstr "<emphasis>힌트</emphasis> : 다음과 같은 어떤 것"
 
-#: index.docbook:765
+#. Tag: programlisting
+#: query_hql.xml:765
+#, no-c-format
 msgid ""
-      "<![CDATA[SELECT cust.name, cust.address, cust.phone, cust.id, cust.current_order\n"
-      "FROM customers cust,\n"
-      "    stores store,\n"
-      "    locations loc,\n"
-      "    store_customers sc,\n"
-      "    product prod\n"
-      "WHERE prod.name = 'widget'\n"
-      "    AND store.loc_id = loc.id\n"
-      "    AND loc.name IN ( 'Melbourne', 'Sydney' )\n"
-      "    AND sc.store_id = store.id\n"
-      "    AND sc.cust_id = cust.id\n"
-      "    AND prod.id = ALL(\n"
-      "        SELECT item.prod_id\n"
-      "        FROM line_items item, orders o\n"
-      "        WHERE item.order_id = o.id\n"
-      "            AND cust.current_order = o.id\n"
-      "    )]]>"
+"<![CDATA[SELECT cust.name, cust.address, cust.phone, cust.id, cust."
+"current_order\n"
+"FROM customers cust,\n"
+"    stores store,\n"
+"    locations loc,\n"
+"    store_customers sc,\n"
+"    product prod\n"
+"WHERE prod.name = 'widget'\n"
+"    AND store.loc_id = loc.id\n"
+"    AND loc.name IN ( 'Melbourne', 'Sydney' )\n"
+"    AND sc.store_id = store.id\n"
+"    AND sc.cust_id = cust.id\n"
+"    AND prod.id = ALL(\n"
+"        SELECT item.prod_id\n"
+"        FROM line_items item, orders o\n"
+"        WHERE item.order_id = o.id\n"
+"            AND cust.current_order = o.id\n"
+"    )]]>"
 msgstr ""
-      "<![CDATA[SELECT cust.name, cust.address, cust.phone, cust.id, cust.current_order\n"
-      "FROM customers cust,\n"
-      "    stores store,\n"
-      "    locations loc,\n"
-      "    store_customers sc,\n"
-      "    product prod\n"
-      "WHERE prod.name = 'widget'\n"
-      "    AND store.loc_id = loc.id\n"
-      "    AND loc.name IN ( 'Melbourne', 'Sydney' )\n"
-      "    AND sc.store_id = store.id\n"
-      "    AND sc.cust_id = cust.id\n"
-      "    AND prod.id = ALL(\n"
-      "        SELECT item.prod_id\n"
-      "        FROM line_items item, orders o\n"
-      "        WHERE item.order_id = o.id\n"
-      "            AND cust.current_order = o.id\n"
-      "    )]]>"
 
-#: index.docbook:770
+#. Tag: title
+#: query_hql.xml:770
+#, no-c-format
 msgid "The order by clause"
 msgstr "order by ì ˆ"
 
-#: index.docbook:772
-msgid "The list returned by a query may be ordered by any property of a returned class or components:"
-msgstr "질의에 의해 반환된 리스트는 반환된 클래스 또는 컴포넌트들의 프로퍼티에 의해 순서(ordering)지워질 수 있다:"
+#. Tag: para
+#: query_hql.xml:772
+#, no-c-format
+msgid ""
+"The list returned by a query may be ordered by any property of a returned "
+"class or components:"
+msgstr ""
+"질의에 의해 반환된 리스트는 반환된 클래스 또는 컴포넌트들의 프로퍼티에 의해 "
+"순서(ordering)지워질 수 있다:"
 
-#: index.docbook:776
+#. Tag: programlisting
+#: query_hql.xml:776
+#, no-c-format
 msgid ""
-      "<![CDATA[from DomesticCat cat\n"
-      "order by cat.name asc, cat.weight desc, cat.birthdate]]>"
+"<![CDATA[from DomesticCat cat\n"
+"order by cat.name asc, cat.weight desc, cat.birthdate]]>"
 msgstr ""
-      "<![CDATA[from DomesticCat cat\n"
-      "order by cat.name asc, cat.weight desc, cat.birthdate]]>"
 
-#: index.docbook:778
-msgid "The optional <literal>asc</literal> or <literal>desc</literal> indicate ascending or descending order respectively."
-msgstr "<literal>asc</literal> 옵션 또는 <literal>desc</literal> 옵션은 각각 오름차순 또는 내림차순 정렬을 나타낸다."
+#. Tag: para
+#: query_hql.xml:778
+#, no-c-format
+msgid ""
+"The optional <literal>asc</literal> or <literal>desc</literal> indicate "
+"ascending or descending order respectively."
+msgstr ""
+"<literal>asc</literal> 옵션 또는 <literal>desc</literal> 옵션은 각각 오름차"
+"순 또는 내림차순 정렬을 나타낸다."
 
-#: index.docbook:785
+#. Tag: title
+#: query_hql.xml:785
+#, no-c-format
 msgid "The group by clause"
 msgstr "group by ì ˆ"
 
-#: index.docbook:787
-msgid "A query that returns aggregate values may be grouped by any property of a returned class or components:"
-msgstr "aggregate 값들을 반환하는 질의는 반환된 클래스나 컴포넌트들의 프로퍼티에 의해 그룹지워질 수 있다:"
+#. Tag: para
+#: query_hql.xml:787
+#, no-c-format
+msgid ""
+"A query that returns aggregate values may be grouped by any property of a "
+"returned class or components:"
+msgstr ""
+"aggregate 값들을 반환하는 질의는 반환된 클래스나 컴포넌트들의 프로퍼티에 의"
+"해 그룹지워질 수 있다:"
 
-#: index.docbook:791
+#. Tag: programlisting
+#: query_hql.xml:791
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
-      "from Cat cat\n"
-      "group by cat.color]]>"
+"<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
+"from Cat cat\n"
+"group by cat.color]]>"
 msgstr ""
-      "<![CDATA[select cat.color, sum(cat.weight), count(cat) \n"
-      "from Cat cat\n"
-      "group by cat.color]]>"
 
-#: index.docbook:793
+#. Tag: programlisting
+#: query_hql.xml:793
+#, no-c-format
 msgid ""
-      "<![CDATA[select foo.id, avg(name), max(name)\n"
-      "from Foo foo join foo.names name\n"
-      "group by foo.id]]>"
+"<![CDATA[select foo.id, avg(name), max(name)\n"
+"from Foo foo join foo.names name\n"
+"group by foo.id]]>"
 msgstr ""
-      "<![CDATA[select foo.id, avg(name), max(name) \n"
-      "from Foo foo join foo.names name\n"
-      "group by foo.id]]>"
 
-#: index.docbook:795
+#. Tag: para
+#: query_hql.xml:795
+#, no-c-format
 msgid "A <literal>having</literal> clause is also allowed."
 msgstr "또한 <literal>having</literal> 절이 허용된다."
 
-#: index.docbook:799
+#. Tag: programlisting
+#: query_hql.xml:799
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
-      "from Cat cat\n"
-      "group by cat.color\n"
-      "having cat.color in (eg.Color.TABBY, eg.Color.BLACK)]]>"
+"<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
+"from Cat cat\n"
+"group by cat.color\n"
+"having cat.color in (eg.Color.TABBY, eg.Color.BLACK)]]>"
 msgstr ""
-      "<![CDATA[select cat.color, sum(cat.weight), count(cat) \n"
-      "from Cat cat\n"
-      "group by cat.color \n"
-      "having cat.color in (eg.Color.TABBY, eg.Color.BLACK)]]>"
 
-#: index.docbook:801
-msgid "SQL functions and aggregate functions are allowed in the <literal>having</literal> and <literal>order by</literal> clauses, if supported by the underlying database (eg. not in MySQL)."
-msgstr "SQL 함수들과 집계 함수들이 기본 데이터베이스에 의해 지원될 경우(예를 들어 MySQL은 지원되지 않는다) <literal>having</literal> 절과 <literal>order by</literal> 절 속에 허용된다."
+#. Tag: para
+#: query_hql.xml:801
+#, no-c-format
+msgid ""
+"SQL functions and aggregate functions are allowed in the <literal>having</"
+"literal> and <literal>order by</literal> clauses, if supported by the "
+"underlying database (eg. not in MySQL)."
+msgstr ""
+"SQL 함수들과 집계 함수들이 기본 데이터베이스에 의해 지원될 경우(예를 들어 "
+"MySQL은 지원되지 않는다) <literal>having</literal> 절과 <literal>order by</"
+"literal> 절 속에 허용된다."
 
-#: index.docbook:807
+#. Tag: programlisting
+#: query_hql.xml:807
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat\n"
-      "from Cat cat\n"
-      "    join cat.kittens kitten\n"
-      "group by cat.id, cat.name, cat.other, cat.properties\n"
-      "having avg(kitten.weight) > 100\n"
-      "order by count(kitten) asc, sum(kitten.weight) desc]]>"
+"<![CDATA[select cat\n"
+"from Cat cat\n"
+"    join cat.kittens kitten\n"
+"group by cat.id, cat.name, cat.other, cat.properties\n"
+"having avg(kitten.weight) > 100\n"
+"order by count(kitten) asc, sum(kitten.weight) desc]]>"
 msgstr ""
-      "<![CDATA[select cat\n"
-      "from Cat cat\n"
-      "    join cat.kittens kitten\n"
-      "group by cat.id, cat.name, cat.other, cat.properties\n"
-      "having avg(kitten.weight) > 100\n"
-      "order by count(kitten) asc, sum(kitten.weight) desc]]>"
 
-#: index.docbook:809
-msgid "Note that neither the <literal>group by</literal> clause nor the <literal>order by</literal> clause may contain arithmetic expressions. Also note that Hibernate currently does not expand a grouped entity, so you can't write <literal>group by cat</literal> if all properties of <literal>cat</literal> are non-aggregated. You have to list all non-aggregated properties explicitly."
-msgstr "<literal>group by</literal> 절도 <literal>order by</literal> 절 어느 것도 산술 표현식들을 포함할 수 없다는 점을 노트하라. 또한 Hibernate는 현재 그룹지워진 엔티티를 확장하지 않아서 만일 <literal>cat</literal>의 모든 속성들이 집계되지 않을 경우에 당신이 <literal>group by cat</literal>을 쓸수 없음을 노트하라. 당신은 명시적으로 모든 집계되지 않는 속성들을 리스트해야 한다."
+#. Tag: para
+#: query_hql.xml:809
+#, no-c-format
+msgid ""
+"Note that neither the <literal>group by</literal> clause nor the "
+"<literal>order by</literal> clause may contain arithmetic expressions. Also "
+"note that Hibernate currently does not expand a grouped entity, so you can't "
+"write <literal>group by cat</literal> if all properties of <literal>cat</"
+"literal> are non-aggregated. You have to list all non-aggregated properties "
+"explicitly."
+msgstr ""
+"<literal>group by</literal> 절도 <literal>order by</literal> 절 어느 것도 산"
+"술 표현식들을 포함할 수 없다는 점을 노트하라. 또한 Hibernate는 현재 그룹지워"
+"진 엔티티를 확장하지 않아서 만일 <literal>cat</literal>의 모든 속성들이 집계"
+"되지 않을 경우에 당신이 <literal>group by cat</literal>을 쓸수 없음을 노트하"
+"라. 당신은 명시적으로 모든 집계되지 않는 속성들을 리스트해야 한다."
 
-#: index.docbook:821
+#. Tag: title
+#: query_hql.xml:821
+#, no-c-format
 msgid "Subqueries"
 msgstr "서브질의들"
 
-#: index.docbook:823
-msgid "For databases that support subselects, Hibernate supports subqueries within queries. A subquery must be surrounded by parentheses (often by an SQL aggregate function call). Even correlated subqueries (subqueries that refer to an alias in the outer query) are allowed."
-msgstr "subselect들을 지원하는 데이터베이스들의 경우, Hibernate는 질의들 내에 서브질의들을 지원한다. 서브질의는 괄호로 묶여져야 한다(자주 SQL 집계함수 호출에 의해). 심지어 서로 상관된 서브질의들(외부 질의 내에서 alias를 참조하는 서브질의들)이 허용된다."
+#. Tag: para
+#: query_hql.xml:823
+#, no-c-format
+msgid ""
+"For databases that support subselects, Hibernate supports subqueries within "
+"queries. A subquery must be surrounded by parentheses (often by an SQL "
+"aggregate function call). Even correlated subqueries (subqueries that refer "
+"to an alias in the outer query) are allowed."
+msgstr ""
+"subselect들을 지원하는 데이터베이스들의 경우, Hibernate는 질의들 내에 서브질"
+"의들을 지원한다. 서브질의는 괄호로 묶여져야 한다(자주 SQL 집계함수 호출에 의"
+"해). 심지어 서로 상관된 서브질의들(외부 질의 내에서 alias를 참조하는 서브질의"
+"들)이 허용된다."
 
-#: index.docbook:829
+#. Tag: programlisting
+#: query_hql.xml:829
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as fatcat\n"
-      "where fatcat.weight > (\n"
-      "    select avg(cat.weight) from DomesticCat cat\n"
-      ")]]>"
+"<![CDATA[from Cat as fatcat\n"
+"where fatcat.weight > (\n"
+"    select avg(cat.weight) from DomesticCat cat\n"
+")]]>"
 msgstr ""
-      "<![CDATA[from Cat as fatcat\n"
-      "where fatcat.weight > (\n"
-      "    select avg(cat.weight) from DomesticCat cat\n"
-      ")]]>"
 
-#: index.docbook:831
+#. Tag: programlisting
+#: query_hql.xml:831
+#, no-c-format
 msgid ""
-      "<![CDATA[from DomesticCat as cat\n"
-      "where cat.name = some (\n"
-      "    select name.nickName from Name as name\n"
-      ")]]>"
+"<![CDATA[from DomesticCat as cat\n"
+"where cat.name = some (\n"
+"    select name.nickName from Name as name\n"
+")]]>"
 msgstr ""
-      "<![CDATA[from DomesticCat as cat\n"
-      "where cat.name = some (\n"
-      "    select name.nickName from Name as name\n"
-      ")]]>"
 
-#: index.docbook:833
+#. Tag: programlisting
+#: query_hql.xml:833
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "where not exists (\n"
-      "    from Cat as mate where mate.mate = cat\n"
-      ")]]>"
+"<![CDATA[from Cat as cat\n"
+"where not exists (\n"
+"    from Cat as mate where mate.mate = cat\n"
+")]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat\n"
-      "where not exists (\n"
-      "    from Cat as mate where mate.mate = cat\n"
-      ")]]>"
 
-#: index.docbook:835
+#. Tag: programlisting
+#: query_hql.xml:835
+#, no-c-format
 msgid ""
-      "<![CDATA[from DomesticCat as cat\n"
-      "where cat.name not in (\n"
-      "    select name.nickName from Name as name\n"
-      ")]]>"
+"<![CDATA[from DomesticCat as cat\n"
+"where cat.name not in (\n"
+"    select name.nickName from Name as name\n"
+")]]>"
 msgstr ""
-      "<![CDATA[from DomesticCat as cat\n"
-      "where cat.name not in (\n"
-      "    select name.nickName from Name as name\n"
-      ")]]>"
 
-#: index.docbook:837
+#. Tag: programlisting
+#: query_hql.xml:837
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
-      "from Cat as cat]]>"
+"<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
+"from Cat as cat]]>"
 msgstr ""
-      "<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
-      "from Cat as cat]]>"
 
-#: index.docbook:839
+#. Tag: para
+#: query_hql.xml:839
+#, no-c-format
 msgid "Note that HQL subqueries may occur only in the select or where clauses."
-msgstr "HQL 서브질의들이 select 절 또는 where 절 내에서만 일어날 수 있음을 노트하라."
+msgstr ""
+"HQL 서브질의들이 select 절 또는 where 절 내에서만 일어날 수 있음을 노트하라."
 
-#: index.docbook:843
-msgid "Note that subqueries can also utilize <literal>row value constructor</literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more details."
-msgstr "서브질의들은 또한 <literal>row value constructor</literal> 구문을 활용할 수 있다. 상세한 것은 <xref linkend=\"queryhql-tuple\"/>를 보라."
+#. Tag: para
+#: query_hql.xml:843
+#, no-c-format
+msgid ""
+"Note that subqueries can also utilize <literal>row value constructor</"
+"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more details."
+msgstr ""
+"서브질의들은 또한 <literal>row value constructor</literal> 구문을 활용할 수 "
+"있다. 상세한 것은 <xref linkend=\"queryhql-tuple\"/>를 보라."
 
-#: index.docbook:851
+#. Tag: title
+#: query_hql.xml:851
+#, no-c-format
 msgid "HQL examples"
 msgstr "HQL 예제들"
 
-#: index.docbook:853
-msgid "Hibernate queries can be quite powerful and complex. In fact, the power of the query language is one of Hibernate's main selling points. Here are some example queries very similar to queries that I used on a recent project. Note that most queries you will write are much simpler than these!"
-msgstr "Hibernate 질의들은 매우 강력하고 복잡할 수 있다. 사실, 질의 언어의 힘은 Hibernate의 주요 판매 포인트들 중 하나이다. 다음은 내가 최근의 프로젝트에서 사용했던 질의들과 매우 유사한 몇몇 예제 질의들이다. 당신이 작성하게 될 대부분의 질의들은 이것들보다 훨씬 간단하다는 점을 노트하라!"
+#. Tag: para
+#: query_hql.xml:853
+#, no-c-format
+msgid ""
+"Hibernate queries can be quite powerful and complex. In fact, the power of "
+"the query language is one of Hibernate's main selling points. Here are some "
+"example queries very similar to queries that I used on a recent project. "
+"Note that most queries you will write are much simpler than these!"
+msgstr ""
+"Hibernate 질의들은 매우 강력하고 복잡할 수 있다. 사실, 질의 언어의 힘은 "
+"Hibernate의 주요 판매 포인트들 중 하나이다. 다음은 내가 최근의 프로젝트에서 "
+"사용했던 질의들과 매우 유사한 몇몇 예제 질의들이다. 당신이 작성하게 될 대부분"
+"의 질의들은 이것들보다 훨씬 간단하다는 점을 노트하라!"
 
-#: index.docbook:859
-msgid "The following query returns the order id, number of items and total value of the order for all unpaid orders for a particular customer and given minimum total value, ordering the results by total value. In determining the prices, it uses the current catalog. The resulting SQL query, against the <literal>ORDER</literal>, <literal>ORDER_LINE</literal>, <literal>PRODUCT</literal>, <literal>CATALOG</literal> and <literal>PRICE</literal> tables has four inner joins and an (uncorrelated) subselect."
-msgstr "다음 질의는 특정 고객에 대한 모든 지불되지 않은 주문들의 주문 id, 항목들의 개수, 그리고 주문의 전체 합계값 그리고 주어진 최소 전체 합계를 전체 합계값에 따라 결과들을 순서지워서 반환한다. 가격 결정에 있어, 그것은 현재의 카타록을 사용한다. 귀결되는 SQL 질의는 <literal>ORDER</literal>, <literal>ORDER_LINE</literal>, <literal>PRODUCT</literal>, <literal>CATALOG</literal>, <literal>PRICE</literal> 테이블들에 대한 네 개의 inner 조인들과 한 개의(상관지워지지 않은) subselect를 갖고 있다."
+#. Tag: para
+#: query_hql.xml:859
+#, no-c-format
+msgid ""
+"The following query returns the order id, number of items and total value of "
+"the order for all unpaid orders for a particular customer and given minimum "
+"total value, ordering the results by total value. In determining the prices, "
+"it uses the current catalog. The resulting SQL query, against the "
+"<literal>ORDER</literal>, <literal>ORDER_LINE</literal>, <literal>PRODUCT</"
+"literal>, <literal>CATALOG</literal> and <literal>PRICE</literal> tables has "
+"four inner joins and an (uncorrelated) subselect."
+msgstr ""
+"다음 질의는 특정 고객에 대한 모든 지불되지 않은 주문들의 주문 id, 항목들의 개"
+"수, 그리고 주문의 전체 합계값 그리고 주어진 최소 전체 합계를 전체 합계값에 따"
+"라 결과들을 순서지워서 반환한다. 가격 결정에 있어, 그것은 현재의 카타록을 사"
+"용한다. 귀결되는 SQL 질의는 <literal>ORDER</literal>, <literal>ORDER_LINE</"
+"literal>, <literal>PRODUCT</literal>, <literal>CATALOG</literal>, "
+"<literal>PRICE</literal> 테이블들에 대한 네 개의 inner 조인들과 한 개의(상관"
+"지워지지 않은) subselect를 갖고 있다."
 
-#: index.docbook:868
+#. Tag: programlisting
+#: query_hql.xml:868
+#, no-c-format
 msgid ""
-      "<![CDATA[select order.id, sum(price.amount), count(item)\n"
-      "from Order as order\n"
-      "    join order.lineItems as item\n"
-      "    join item.product as product,\n"
-      "    Catalog as catalog\n"
-      "    join catalog.prices as price\n"
-      "where order.paid = false\n"
-      "    and order.customer = :customer\n"
-      "    and price.product = product\n"
-      "    and catalog.effectiveDate < sysdate\n"
-      "    and catalog.effectiveDate >= all (\n"
-      "        select cat.effectiveDate\n"
-      "        from Catalog as cat\n"
-      "        where cat.effectiveDate < sysdate\n"
-      "    )\n"
-      "group by order\n"
-      "having sum(price.amount) > :minAmount\n"
-      "order by sum(price.amount) desc]]>"
+"<![CDATA[select order.id, sum(price.amount), count(item)\n"
+"from Order as order\n"
+"    join order.lineItems as item\n"
+"    join item.product as product,\n"
+"    Catalog as catalog\n"
+"    join catalog.prices as price\n"
+"where order.paid = false\n"
+"    and order.customer = :customer\n"
+"    and price.product = product\n"
+"    and catalog.effectiveDate < sysdate\n"
+"    and catalog.effectiveDate >= all (\n"
+"        select cat.effectiveDate\n"
+"        from Catalog as cat\n"
+"        where cat.effectiveDate < sysdate\n"
+"    )\n"
+"group by order\n"
+"having sum(price.amount) > :minAmount\n"
+"order by sum(price.amount) desc]]>"
 msgstr ""
-      "<![CDATA[select order.id, sum(price.amount), count(item)\n"
-      "from Order as order\n"
-      "    join order.lineItems as item\n"
-      "    join item.product as product,\n"
-      "    Catalog as catalog\n"
-      "    join catalog.prices as price\n"
-      "where order.paid = false\n"
-      "    and order.customer = :customer\n"
-      "    and price.product = product\n"
-      "    and catalog.effectiveDate < sysdate\n"
-      "    and catalog.effectiveDate >= all (\n"
-      "        select cat.effectiveDate \n"
-      "        from Catalog as cat\n"
-      "        where cat.effectiveDate < sysdate\n"
-      "    )\n"
-      "group by order\n"
-      "having sum(price.amount) > :minAmount\n"
-      "order by sum(price.amount) desc]]>"
 
-#: index.docbook:870
-msgid "What a monster! Actually, in real life, I'm not very keen on subqueries, so my query was really more like this:"
-msgstr "괴물 같은 것! 실제로 실 생활에서, 나는 서브질의들을 매우 좋아하지 않아서, 나의 질의는 실제로 다음과 같았다:"
+#. Tag: para
+#: query_hql.xml:870
+#, no-c-format
+msgid ""
+"What a monster! Actually, in real life, I'm not very keen on subqueries, so "
+"my query was really more like this:"
+msgstr ""
+"괴물 같은 것! 실제로 실 생활에서, 나는 서브질의들을 매우 좋아하지 않아서, 나"
+"의 질의는 실제로 다음과 같았다:"
 
-#: index.docbook:875
+#. Tag: programlisting
+#: query_hql.xml:875
+#, no-c-format
 msgid ""
-      "<![CDATA[select order.id, sum(price.amount), count(item)\n"
-      "from Order as order\n"
-      "    join order.lineItems as item\n"
-      "    join item.product as product,\n"
-      "    Catalog as catalog\n"
-      "    join catalog.prices as price\n"
-      "where order.paid = false\n"
-      "    and order.customer = :customer\n"
-      "    and price.product = product\n"
-      "    and catalog = :currentCatalog\n"
-      "group by order\n"
-      "having sum(price.amount) > :minAmount\n"
-      "order by sum(price.amount) desc]]>"
+"<![CDATA[select order.id, sum(price.amount), count(item)\n"
+"from Order as order\n"
+"    join order.lineItems as item\n"
+"    join item.product as product,\n"
+"    Catalog as catalog\n"
+"    join catalog.prices as price\n"
+"where order.paid = false\n"
+"    and order.customer = :customer\n"
+"    and price.product = product\n"
+"    and catalog = :currentCatalog\n"
+"group by order\n"
+"having sum(price.amount) > :minAmount\n"
+"order by sum(price.amount) desc]]>"
 msgstr ""
-      "<![CDATA[select order.id, sum(price.amount), count(item)\n"
-      "from Order as order\n"
-      "    join order.lineItems as item\n"
-      "    join item.product as product,\n"
-      "    Catalog as catalog\n"
-      "    join catalog.prices as price\n"
-      "where order.paid = false\n"
-      "    and order.customer = :customer\n"
-      "    and price.product = product\n"
-      "    and catalog = :currentCatalog\n"
-      "group by order\n"
-      "having sum(price.amount) > :minAmount\n"
-      "order by sum(price.amount) desc]]>"
 
-#: index.docbook:877
-msgid "The next query counts the number of payments in each status, excluding all payments in the <literal>AWAITING_APPROVAL</literal> status where the most recent status change was made by the current user. It translates to an SQL query with two inner joins and a correlated subselect against the <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> and <literal>PAYMENT_STATUS_CHANGE</literal> tables."
-msgstr "다음 질의는 현재 사용자에 의해 가장 최근의 상태 변경이 행해졌던 <literal>AWAITING_APPROVAL</literal> 상태에 있는 모든 지불들을 제외한, 각각의 상태에 있는 지불들의 개수를 카운트 한다. 그것은 <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>, <literal>PAYMENT_STATUS_CHANGE</literal> 테이블들에 대한 두 개의 inner 조인들과 하나의 상관관계 지워진 subselect를 가진 SQL 질의로 변환된다."
+#. Tag: para
+#: query_hql.xml:877
+#, no-c-format
+msgid ""
+"The next query counts the number of payments in each status, excluding all "
+"payments in the <literal>AWAITING_APPROVAL</literal> status where the most "
+"recent status change was made by the current user. It translates to an SQL "
+"query with two inner joins and a correlated subselect against the "
+"<literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> and "
+"<literal>PAYMENT_STATUS_CHANGE</literal> tables."
+msgstr ""
+"다음 질의는 현재 사용자에 의해 가장 최근의 상태 변경이 행해졌던 "
+"<literal>AWAITING_APPROVAL</literal> 상태에 있는 모든 지불들을 제외한, 각각"
+"의 상태에 있는 지불들의 개수를 카운트 한다. 그것은 <literal>PAYMENT</"
+"literal>, <literal>PAYMENT_STATUS</literal>, <literal>PAYMENT_STATUS_CHANGE</"
+"literal> 테이블들에 대한 두 개의 inner 조인들과 하나의 상관관계 지워진 "
+"subselect를 가진 SQL 질의로 변환된다."
 
-#: index.docbook:885
+#. Tag: programlisting
+#: query_hql.xml:885
+#, no-c-format
 msgid ""
-      "<![CDATA[select count(payment), status.name\n"
-      "from Payment as payment\n"
-      "    join payment.currentStatus as status\n"
-      "    join payment.statusChanges as statusChange\n"
-      "where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
-      "    or (\n"
-      "        statusChange.timeStamp = (\n"
-      "            select max(change.timeStamp)\n"
-      "            from PaymentStatusChange change\n"
-      "            where change.payment = payment\n"
-      "        )\n"
-      "        and statusChange.user <> :currentUser\n"
-      "    )\n"
-      "group by status.name, status.sortOrder\n"
-      "order by status.sortOrder]]>"
+"<![CDATA[select count(payment), status.name\n"
+"from Payment as payment\n"
+"    join payment.currentStatus as status\n"
+"    join payment.statusChanges as statusChange\n"
+"where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
+"    or (\n"
+"        statusChange.timeStamp = (\n"
+"            select max(change.timeStamp)\n"
+"            from PaymentStatusChange change\n"
+"            where change.payment = payment\n"
+"        )\n"
+"        and statusChange.user <> :currentUser\n"
+"    )\n"
+"group by status.name, status.sortOrder\n"
+"order by status.sortOrder]]>"
 msgstr ""
-      "<![CDATA[select count(payment), status.name \n"
-      "from Payment as payment \n"
-      "    join payment.currentStatus as status\n"
-      "    join payment.statusChanges as statusChange\n"
-      "where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
-      "    or (\n"
-      "        statusChange.timeStamp = ( \n"
-      "            select max(change.timeStamp) \n"
-      "            from PaymentStatusChange change \n"
-      "            where change.payment = payment\n"
-      "        )\n"
-      "        and statusChange.user <> :currentUser\n"
-      "    )\n"
-      "group by status.name, status.sortOrder\n"
-      "order by status.sortOrder]]>"
 
-#: index.docbook:887
-msgid "If I would have mapped the <literal>statusChanges</literal> collection as a list, instead of a set, the query would have been much simpler to write."
-msgstr "만일 내가 <literal>statusChanges</literal> 콜렉션을 set가 아닌 list로 매핑했다면, 그 질의는 작성하기가 훨씬 더 간단했을 것이다."
+#. Tag: para
+#: query_hql.xml:887
+#, no-c-format
+msgid ""
+"If I would have mapped the <literal>statusChanges</literal> collection as a "
+"list, instead of a set, the query would have been much simpler to write."
+msgstr ""
+"만일 내가 <literal>statusChanges</literal> 콜렉션을 set가 아닌 list로 매핑했"
+"다면, 그 질의는 작성하기가 훨씬 더 간단했을 것이다."
 
-#: index.docbook:892
+#. Tag: programlisting
+#: query_hql.xml:892
+#, no-c-format
 msgid ""
-      "<![CDATA[select count(payment), status.name\n"
-      "from Payment as payment\n"
-      "    join payment.currentStatus as status\n"
-      "where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
-      "    or payment.statusChanges[ maxIndex(payment.statusChanges) ].user <> :currentUser\n"
-      "group by status.name, status.sortOrder\n"
-      "order by status.sortOrder]]>"
+"<![CDATA[select count(payment), status.name\n"
+"from Payment as payment\n"
+"    join payment.currentStatus as status\n"
+"where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
+"    or payment.statusChanges[ maxIndex(payment.statusChanges) ].user <> :"
+"currentUser\n"
+"group by status.name, status.sortOrder\n"
+"order by status.sortOrder]]>"
 msgstr ""
-      "<![CDATA[select count(payment), status.name \n"
-      "from Payment as payment\n"
-      "    join payment.currentStatus as status\n"
-      "where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
-      "    or payment.statusChanges[ maxIndex(payment.statusChanges) ].user <> :currentUser\n"
-      "group by status.name, status.sortOrder\n"
-      "order by status.sortOrder]]>"
 
-#: index.docbook:894
-msgid "The next query uses the MS SQL Server <literal>isNull()</literal> function to return all the accounts and unpaid payments for the organization to which the current user belongs. It translates to an SQL query with three inner joins, an outer join and a subselect against the <literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>, <literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> and <literal>ORG_USER</literal> tables."
-msgstr "다음 질의는 현재의 사용자가 속해 있는 조직의 모든 계정들과 지불되지 않은 지불들을 반환하는데 MS SQL Server <literal>isNull()</literal> 함수를 사용한다. 그것은 <literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>, <literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal>, <literal>ORG_USER</literal> 테이블들에 대한 세 개의 inner 조인들, 하나의 outer 조인, 그리고 하나의 subselect를 가진 한 개의 SQL 질의로 번역된다."
+#. Tag: para
+#: query_hql.xml:894
+#, no-c-format
+msgid ""
+"The next query uses the MS SQL Server <literal>isNull()</literal> function "
+"to return all the accounts and unpaid payments for the organization to which "
+"the current user belongs. It translates to an SQL query with three inner "
+"joins, an outer join and a subselect against the <literal>ACCOUNT</literal>, "
+"<literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>, "
+"<literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> and "
+"<literal>ORG_USER</literal> tables."
+msgstr ""
+"다음 질의는 현재의 사용자가 속해 있는 조직의 모든 계정들과 지불되지 않은 지불"
+"들을 반환하는데 MS SQL Server <literal>isNull()</literal> 함수를 사용한다. 그"
+"것은 <literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, "
+"<literal>PAYMENT_STATUS</literal>, <literal>ACCOUNT_TYPE</literal>, "
+"<literal>ORGANIZATION</literal>, <literal>ORG_USER</literal> 테이블들에 대한 "
+"세 개의 inner 조인들, 하나의 outer 조인, 그리고 하나의 subselect를 가진 한 개"
+"의 SQL 질의로 번역된다."
 
-#: index.docbook:903
+#. Tag: programlisting
+#: query_hql.xml:903
+#, no-c-format
 msgid ""
-      "<![CDATA[select account, payment\n"
-      "from Account as account\n"
-      "    left outer join account.payments as payment\n"
-      "where :currentUser in elements(account.holder.users)\n"
-      "    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)\n"
-      "order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
+"<![CDATA[select account, payment\n"
+"from Account as account\n"
+"    left outer join account.payments as payment\n"
+"where :currentUser in elements(account.holder.users)\n"
+"    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, "
+"PaymentStatus.UNPAID)\n"
+"order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
 msgstr ""
-      "<![CDATA[select account, payment\n"
-      "from Account as account\n"
-      "    left outer join account.payments as payment\n"
-      "where :currentUser in elements(account.holder.users)\n"
-      "    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)\n"
-      "order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
 
-#: index.docbook:905
-msgid "For some databases, we would need to do away with the (correlated) subselect."
-msgstr "몇몇 데이터베이스들의 경우, 우리는 (상관관계 지워진) subselect를 없앨 필요가 있을 것이다."
+#. Tag: para
+#: query_hql.xml:905
+#, no-c-format
+msgid ""
+"For some databases, we would need to do away with the (correlated) subselect."
+msgstr ""
+"몇몇 데이터베이스들의 경우, 우리는 (상관관계 지워진) subselect를 없앨 필요가 "
+"있을 것이다."
 
-#: index.docbook:909
+#. Tag: programlisting
+#: query_hql.xml:909
+#, no-c-format
 msgid ""
-      "<![CDATA[select account, payment\n"
-      "from Account as account\n"
-      "    join account.holder.users as user\n"
-      "    left outer join account.payments as payment\n"
-      "where :currentUser = user\n"
-      "    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)\n"
-      "order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
+"<![CDATA[select account, payment\n"
+"from Account as account\n"
+"    join account.holder.users as user\n"
+"    left outer join account.payments as payment\n"
+"where :currentUser = user\n"
+"    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, "
+"PaymentStatus.UNPAID)\n"
+"order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
 msgstr ""
-      "<![CDATA[select account, payment\n"
-      "from Account as account\n"
-      "    join account.holder.users as user\n"
-      "    left outer join account.payments as payment\n"
-      "where :currentUser = user\n"
-      "    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)\n"
-      "order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
 
-#: index.docbook:914
+#. Tag: title
+#: query_hql.xml:914
+#, no-c-format
 msgid "Bulk update and delete"
 msgstr "대량 update와 delete"
 
-#: index.docbook:916
-msgid "HQL now supports <literal>update</literal>, <literal>delete</literal> and <literal>insert ... select ...</literal> statements. See <xref linkend=\"batch-direct\"/> for details."
-msgstr "HQL은 이제 <literal>update</literal>, <literal>delete</literal> 그리고 <literal>insert ... select ...</literal> 문장들을 지원한다. 상세한 것은 <xref linkend=\"batch-direct\"/>를 보라."
+#. Tag: para
+#: query_hql.xml:916
+#, no-c-format
+msgid ""
+"HQL now supports <literal>update</literal>, <literal>delete</literal> and "
+"<literal>insert ... select ...</literal> statements. See <xref linkend="
+"\"batch-direct\"/> for details."
+msgstr ""
+"HQL은 이제 <literal>update</literal>, <literal>delete</literal> 그리고 "
+"<literal>insert ... select ...</literal> 문장들을 지원한다. 상세한 것은 "
+"<xref linkend=\"batch-direct\"/>를 보라."
 
-#: index.docbook:924
+#. Tag: title
+#: query_hql.xml:924
+#, no-c-format
 msgid "Tips &amp; Tricks"
 msgstr "팁들 &amp; 트릭들"
 
-#: index.docbook:926
-msgid "You can count the number of query results without actually returning them:"
-msgstr "당신은 실제로 질의 결과들을 반환하지 않고서 그것들(질의 결과들)의 개수를 카운트할 수 있다:"
+#. Tag: para
+#: query_hql.xml:926
+#, no-c-format
+msgid ""
+"You can count the number of query results without actually returning them:"
+msgstr ""
+"당신은 실제로 질의 결과들을 반환하지 않고서 그것들(질의 결과들)의 개수를 카운"
+"트할 수 있다:"
 
-#: index.docbook:930
-msgid "<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\").iterate().next() ).intValue()]]>"
-msgstr "<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\").iterate().next() ).intValue()]]>"
+#. Tag: programlisting
+#: query_hql.xml:930
+#, no-c-format
+msgid ""
+"<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\")."
+"iterate().next() ).intValue()]]>"
+msgstr ""
 
-#: index.docbook:932
+#. Tag: para
+#: query_hql.xml:932
+#, no-c-format
 msgid "To order a result by the size of a collection, use the following query:"
-msgstr "콜렉션의 크기에 따라 결과를 순서(ordering)지우려면, 다음 질의를 사용하라:"
+msgstr ""
+"콜렉션의 크기에 따라 결과를 순서(ordering)지우려면, 다음 질의를 사용하라:"
 
-#: index.docbook:936
+#. Tag: programlisting
+#: query_hql.xml:936
+#, no-c-format
 msgid ""
-      "<![CDATA[select usr.id, usr.name\n"
-      "from User as usr\n"
-      "    left join usr.messages as msg\n"
-      "group by usr.id, usr.name\n"
-      "order by count(msg)]]>"
+"<![CDATA[select usr.id, usr.name\n"
+"from User as usr\n"
+"    left join usr.messages as msg\n"
+"group by usr.id, usr.name\n"
+"order by count(msg)]]>"
 msgstr ""
-      "<![CDATA[select usr.id, usr.name\n"
-      "from User as usr \n"
-      "    left join usr.messages as msg\n"
-      "group by usr.id, usr.name\n"
-      "order by count(msg)]]>"
 
-#: index.docbook:938
-msgid "If your database supports subselects, you can place a condition upon selection size in the where clause of your query:"
-msgstr "만일 당신의 데이터베이스가 subselect들을 지원할 경우, 당신은 당신의 질의의 where 절 내에 selection 사이즈에 대한 조건을 위치지울 수 있다:"
+#. Tag: para
+#: query_hql.xml:938
+#, no-c-format
+msgid ""
+"If your database supports subselects, you can place a condition upon "
+"selection size in the where clause of your query:"
+msgstr ""
+"만일 당신의 데이터베이스가 subselect들을 지원할 경우, 당신은 당신의 질의의 "
+"where 절 내에 selection 사이즈에 대한 조건을 위치지울 수 있다:"
 
-#: index.docbook:943
+#. Tag: programlisting
+#: query_hql.xml:943
+#, no-c-format
 msgid "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
-msgstr "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
+msgstr ""
 
-#: index.docbook:945
+#. Tag: para
+#: query_hql.xml:945
+#, no-c-format
 msgid "If your database doesn't support subselects, use the following query:"
-msgstr "만일 당신의 데이터베이스가 subselect를 지원하지 않을 경우, 다음 질의를 사용하라:"
+msgstr ""
+"만일 당신의 데이터베이스가 subselect를 지원하지 않을 경우, 다음 질의를 사용하"
+"라:"
 
-#: index.docbook:949
+#. Tag: programlisting
+#: query_hql.xml:949
+#, no-c-format
 msgid ""
-      "<![CDATA[select usr.id, usr.name\n"
-      "from User usr.name\n"
-      "    join usr.messages msg\n"
-      "group by usr.id, usr.name\n"
-      "having count(msg) >= 1]]>"
+"<![CDATA[select usr.id, usr.name\n"
+"from User usr.name\n"
+"    join usr.messages msg\n"
+"group by usr.id, usr.name\n"
+"having count(msg) >= 1]]>"
 msgstr ""
-      "<![CDATA[select usr.id, usr.name\n"
-      "from User usr.name\n"
-      "    join usr.messages msg\n"
-      "group by usr.id, usr.name\n"
-      "having count(msg) >= 1]]>"
 
-#: index.docbook:951
-msgid "As this solution can't return a <literal>User</literal> with zero messages because of the inner join, the following form is also useful:"
-msgstr "이 해결책이 inner 조인 때문에 0개의 메시지를 가진 <literal>User</literal>를 반환할 수 없으므로, 다음 형식이 또한 유용하다:"
+#. Tag: para
+#: query_hql.xml:951
+#, no-c-format
+msgid ""
+"As this solution can't return a <literal>User</literal> with zero messages "
+"because of the inner join, the following form is also useful:"
+msgstr ""
+"이 해결책이 inner 조인 때문에 0개의 메시지를 가진 <literal>User</literal>를 "
+"반환할 수 없으므로, 다음 형식이 또한 유용하다:"
 
-#: index.docbook:956
+#. Tag: programlisting
+#: query_hql.xml:956
+#, no-c-format
 msgid ""
-      "<![CDATA[select usr.id, usr.name\n"
-      "from User as usr\n"
-      "    left join usr.messages as msg\n"
-      "group by usr.id, usr.name\n"
-      "having count(msg) = 0]]>"
+"<![CDATA[select usr.id, usr.name\n"
+"from User as usr\n"
+"    left join usr.messages as msg\n"
+"group by usr.id, usr.name\n"
+"having count(msg) = 0]]>"
 msgstr ""
-      "<![CDATA[select usr.id, usr.name\n"
-      "from User as usr\n"
-      "    left join usr.messages as msg\n"
-      "group by usr.id, usr.name\n"
-      "having count(msg) = 0]]>"
 
-#: index.docbook:958
+#. Tag: para
+#: query_hql.xml:958
+#, no-c-format
 msgid "Properties of a JavaBean can be bound to named query parameters:"
-msgstr "하나의 JavaBean의 프로퍼티들은 명명된 질의 파라미터들에 바인드될 수 있다:"
+msgstr ""
+"하나의 JavaBean의 프로퍼티들은 명명된 질의 파라미터들에 바인드될 수 있다:"
 
-#: index.docbook:962
+#. Tag: programlisting
+#: query_hql.xml:962
+#, no-c-format
 msgid ""
-      "<![CDATA[Query q = s.createQuery(\"from foo Foo as foo where foo.name=:name and foo.size=:size\");\n"
-      "q.setProperties(fooBean); // fooBean has getName() and getSize()\n"
-      "List foos = q.list();]]>"
+"<![CDATA[Query q = s.createQuery(\"from foo Foo as foo where foo.name=:name "
+"and foo.size=:size\");\n"
+"q.setProperties(fooBean); // fooBean has getName() and getSize()\n"
+"List foos = q.list();]]>"
 msgstr ""
-      "<![CDATA[Query q = s.createQuery(\"from foo Foo as foo where foo.name=:name and foo.size=:size\");\n"
-      "q.setProperties(fooBean); // fooBean has getName() and getSize()\n"
-      "List foos = q.list();]]>"
 
-#: index.docbook:964
-msgid "Collections are pageable by using the <literal>Query</literal> interface with a filter:"
-msgstr "콜렉션들은 필터를 가진 <literal>Query</literal> 인터페이스를 사용하여 쪼매김하는 것이 가능하다:"
+#. Tag: para
+#: query_hql.xml:964
+#, no-c-format
+msgid ""
+"Collections are pageable by using the <literal>Query</literal> interface "
+"with a filter:"
+msgstr ""
+"콜렉션들은 필터를 가진 <literal>Query</literal> 인터페이스를 사용하여 쪼매김"
+"하는 것이 가능하다:"
 
-#: index.docbook:968
+#. Tag: programlisting
+#: query_hql.xml:968
+#, no-c-format
 msgid ""
-      "<![CDATA[Query q = s.createFilter( collection, \"\" ); // the trivial filter\n"
-      "q.setMaxResults(PAGE_SIZE);\n"
-      "q.setFirstResult(PAGE_SIZE * pageNumber);\n"
-      "List page = q.list();]]>"
+"<![CDATA[Query q = s.createFilter( collection, \"\" ); // the trivial "
+"filter\n"
+"q.setMaxResults(PAGE_SIZE);\n"
+"q.setFirstResult(PAGE_SIZE * pageNumber);\n"
+"List page = q.list();]]>"
 msgstr ""
-      "<![CDATA[Query q = s.createFilter( collection, \"\" ); // the trivial filter\n"
-      "q.setMaxResults(PAGE_SIZE);\n"
-      "q.setFirstResult(PAGE_SIZE * pageNumber);\n"
-      "List page = q.list();]]>"
 
-#: index.docbook:970
+#. Tag: para
+#: query_hql.xml:970
+#, no-c-format
 msgid "Collection elements may be ordered or grouped using a query filter:"
-msgstr "콜렉션 요소들은 질의 필터를 사용하여 순서(ordering)지워지거나 그룹지워질 수 도 있다:"
+msgstr ""
+"콜렉션 요소들은 질의 필터를 사용하여 순서(ordering)지워지거나 그룹지워질 수 "
+"도 있다:"
 
-#: index.docbook:974
+#. Tag: programlisting
+#: query_hql.xml:974
+#, no-c-format
 msgid ""
-      "<![CDATA[Collection orderedCollection = s.filter( collection, \"order by this.amount\" );\n"
-      "Collection counts = s.filter( collection, \"select this.type, count(this) group by this.type\" );]]>"
+"<![CDATA[Collection orderedCollection = s.filter( collection, \"order by "
+"this.amount\" );\n"
+"Collection counts = s.filter( collection, \"select this.type, count(this) "
+"group by this.type\" );]]>"
 msgstr ""
-      "<![CDATA[Collection orderedCollection = s.filter( collection, \"order by this.amount\" );\n"
-      "Collection counts = s.filter( collection, \"select this.type, count(this) group by this.type\" );]]>"
 
-#: index.docbook:976
+#. Tag: para
+#: query_hql.xml:976
+#, no-c-format
 msgid "You can find the size of a collection without initializing it:"
 msgstr "당신은 콜렉션을 초기화 하지 않고서 그것(콜렉션)의 크기를 찾을 수 있다:"
 
-#: index.docbook:980
-msgid "<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\").iterate().next() ).intValue();]]>"
-msgstr "<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\").iterate().next() ).intValue();]]>"
+#. Tag: programlisting
+#: query_hql.xml:980
+#, no-c-format
+msgid ""
+"<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\")."
+"iterate().next() ).intValue();]]>"
+msgstr ""
 
-#: index.docbook:985
+#. Tag: title
+#: query_hql.xml:985
+#, no-c-format
 msgid "Components"
 msgstr "컴포넌트들"
 
-#: index.docbook:987
-msgid "Components might be used in just about every way that simple value types can be used in HQL queries. They can appear in the <literal>select</literal> clause:"
-msgstr "컴포넌트들은 단지 간단한 값 유형들이 HQL 질의들 내에 사용될 수 있는 모든 방법으로 사용될 수 있다. 그것들은 <literal>select</literal> 절 내에 나타날 수 있다."
+#. Tag: para
+#: query_hql.xml:987
+#, no-c-format
+msgid ""
+"Components might be used in just about every way that simple value types can "
+"be used in HQL queries. They can appear in the <literal>select</literal> "
+"clause:"
+msgstr ""
+"컴포넌트들은 단지 간단한 값 유형들이 HQL 질의들 내에 사용될 수 있는 모든 방법"
+"으로 사용될 수 있다. 그것들은 <literal>select</literal> 절 내에 나타날 수 있"
+"다."
 
-#: index.docbook:992, index.docbook:1038
+#. Tag: programlisting
+#: query_hql.xml:992 query_hql.xml:1038
+#, no-c-format
 msgid "<![CDATA[select p.name from from Person p]]>"
-msgstr "<![CDATA[select p.name from from Person p]]>"
+msgstr ""
 
-#: index.docbook:993
+#. Tag: programlisting
+#: query_hql.xml:993
+#, no-c-format
 msgid "<![CDATA[select p.name.first from from Person p]]>"
-msgstr "<![CDATA[select p.name.first from from Person p]]>"
+msgstr ""
 
-#: index.docbook:995
-msgid "where the Person's name property is a component. Components can also be used in the <literal>where</literal> clause:"
-msgstr "여기서 Person의 name 속성은 컴포넌트이다. 컴포넌트들은 또한 <literal>where</literal> 절 내에 사용될 수 있다:"
+#. Tag: para
+#: query_hql.xml:995
+#, no-c-format
+msgid ""
+"where the Person's name property is a component. Components can also be used "
+"in the <literal>where</literal> clause:"
+msgstr ""
+"여기서 Person의 name 속성은 컴포넌트이다. 컴포넌트들은 또한 <literal>where</"
+"literal> 절 내에 사용될 수 있다:"
 
-#: index.docbook:1000
+#. Tag: programlisting
+#: query_hql.xml:1000
+#, no-c-format
 msgid "<![CDATA[from from Person p where p.name = :name]]>"
-msgstr "<![CDATA[from from Person p where p.name = :name]]>"
+msgstr ""
 
-#: index.docbook:1001
+#. Tag: programlisting
+#: query_hql.xml:1001
+#, no-c-format
 msgid "<![CDATA[from from Person p where p.name.first = :firstName]]>"
-msgstr "<![CDATA[from from Person p where p.name.first = :firstName]]>"
+msgstr ""
 
-#: index.docbook:1003
+#. Tag: para
+#: query_hql.xml:1003
+#, no-c-format
 msgid "Components can also be used in the <literal>order by</literal> clause:"
 msgstr "컴포넌트들은 또한 <literal>order by</literal> 절 내에 사용될 수 있다:"
 
-#: index.docbook:1007
+#. Tag: programlisting
+#: query_hql.xml:1007
+#, no-c-format
 msgid "<![CDATA[from from Person p order by p.name]]>"
-msgstr "<![CDATA[from from Person p order by p.name]]>"
+msgstr ""
 
-#: index.docbook:1008
+#. Tag: programlisting
+#: query_hql.xml:1008
+#, no-c-format
 msgid "<![CDATA[from from Person p order by p.name.first]]>"
-msgstr "<![CDATA[from from Person p order by p.name.first]]>"
+msgstr ""
 
-#: index.docbook:1010
-msgid "Another common use of components is in <xref linkend=\"queryhql-tuple\"/>row value constructors."
-msgstr "컴포넌트들에 대한 또 다른 공통적인 사용은 <xref linkend=\"queryhql-tuple\"/>row value constructors에 있다."
+#. Tag: para
+#: query_hql.xml:1010
+#, no-c-format
+msgid ""
+"Another common use of components is in <link linkend=\"queryhql-tuple\">row "
+"value constructors</link>."
+msgstr ""
+"컴포넌트들에 대한 또 다른 공통적인 사용은 <xref linkend=\"queryhql-tuple"
+"\">row value constructors</xref>에 있다."
 
-#: index.docbook:1016
+#. Tag: title
+#: query_hql.xml:1016
+#, no-c-format
 msgid "Row value constructor syntax"
 msgstr "Row value constructor 구문"
 
-#: index.docbook:1018
-msgid "HQL supports the use of ANSI SQL <literal>row value constructor</literal> syntax (sometimes called <literal>tuple</literal> syntax), even though the underlying database may not support that notion. Here we are generally referring to multi-valued comparisons, typically associated with components. Consider an entity Person which defines a name component:"
-msgstr "HQL은 ANSI SQL <literal>row value constructor</literal> 구문(종종 <literal>tuple</literal> 구문이라 명명된다)의 사용을 지원한다. 비록 데이터베이스가 그 개념을 지원하지 않을지라도 그러하다. 여기서 우리는 전형적으로 컴포넌트들과 연관되어 있는 다중-값 비교들을 일반적으로 언급하고 있다. name 컴포넌트를 정의하는 Person 엔티티를 검토하자:"
+#. Tag: para
+#: query_hql.xml:1018
+#, no-c-format
+msgid ""
+"HQL supports the use of ANSI SQL <literal>row value constructor</literal> "
+"syntax (sometimes called <literal>tuple</literal> syntax), even though the "
+"underlying database may not support that notion. Here we are generally "
+"referring to multi-valued comparisons, typically associated with components. "
+"Consider an entity Person which defines a name component:"
+msgstr ""
+"HQL은 ANSI SQL <literal>row value constructor</literal> 구문(종종 "
+"<literal>tuple</literal> 구문이라 명명된다)의 사용을 지원한다. 비록 데이터베"
+"이스가 그 개념을 지원하지 않을지라도 그러하다. 여기서 우리는 전형적으로 컴포"
+"넌트들과 연관되어 있는 다중-값 비교들을 일반적으로 언급하고 있다. name 컴포넌"
+"트를 정의하는 Person 엔티티를 검토하자:"
 
-#: index.docbook:1025
-msgid "<![CDATA[from Person p where p.name.first='John' and p.name.last='Jingleheimer-Schmidt']]>"
-msgstr "<![CDATA[from Person p where p.name.first='John' and p.name.last='Jingleheimer-Schmidt']]>"
+#. Tag: programlisting
+#: query_hql.xml:1025
+#, no-c-format
+msgid ""
+"<![CDATA[from Person p where p.name.first='John' and p.name."
+"last='Jingleheimer-Schmidt']]>"
+msgstr ""
 
-#: index.docbook:1027
-msgid "That's valid syntax, although a little verbose. It be nice to make this a bit more concise and use <literal>row value constructor</literal> syntax:"
-msgstr "비록 약간 장황스럽지만 그것은 유효한 구문이다. 이것을 약간 더 간결하게 만들고 <literal>row value constructor</literal> 구문을 사용하는 것이 좋다:"
+#. Tag: para
+#: query_hql.xml:1027
+#, no-c-format
+msgid ""
+"That's valid syntax, although a little verbose. It be nice to make this a "
+"bit more concise and use <literal>row value constructor</literal> syntax:"
+msgstr ""
+"비록 약간 장황스럽지만 그것은 유효한 구문이다. 이것을 약간 더 간결하게 만들"
+"고 <literal>row value constructor</literal> 구문을 사용하는 것이 좋다:"
 
-#: index.docbook:1032
+#. Tag: programlisting
+#: query_hql.xml:1032
+#, no-c-format
 msgid "<![CDATA[from Person p where p.name=('John', 'Jingleheimer-Schmidt')]]>"
-msgstr "<![CDATA[from Person p where p.name=('John', 'Jingleheimer-Schmidt')]]>"
+msgstr ""
 
-#: index.docbook:1034
-msgid "It can also be useful to specify this in the <literal>select</literal> clause:"
-msgstr "<literal>select</literal>절 내에 이것을 지정하는 것이 또한 유용할 수 있다:"
+#. Tag: para
+#: query_hql.xml:1034
+#, no-c-format
+msgid ""
+"It can also be useful to specify this in the <literal>select</literal> "
+"clause:"
+msgstr ""
+"<literal>select</literal>절 내에 이것을 지정하는 것이 또한 유용할 수 있다:"
 
-#: index.docbook:1040
-msgid "Another time using <literal>row value constructor</literal> syntax can be beneficial is when using subqueries needing to compare against multiple values:"
-msgstr "<literal>row value constructor</literal> 구문을 사용하는 또 다른 경우는 다중 값들에 대해 비교할 필요가 있는 서브 질의들을 사용할 때이다:"
+#. Tag: para
+#: query_hql.xml:1040
+#, no-c-format
+msgid ""
+"Another time using <literal>row value constructor</literal> syntax can be "
+"beneficial is when using subqueries needing to compare against multiple "
+"values:"
+msgstr ""
+"<literal>row value constructor</literal> 구문을 사용하는 또 다른 경우는 다중 "
+"값들에 대해 비교할 필요가 있는 서브 질의들을 사용할 때이다:"
 
-#: index.docbook:1045
+#. Tag: programlisting
+#: query_hql.xml:1045
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "where not ( cat.name, cat.color ) in (\n"
-      "    select cat.name, cat.color from DomesticCat cat\n"
-      ")]]>"
+"<![CDATA[from Cat as cat\n"
+"where not ( cat.name, cat.color ) in (\n"
+"    select cat.name, cat.color from DomesticCat cat\n"
+")]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat\n"
-      "where not ( cat.name, cat.color ) in (\n"
-      "    select cat.name, cat.color from DomesticCat cat\n"
-      ")]]>"
 
-#: index.docbook:1047
-msgid "One thing to consider when deciding if you want to use this syntax is that the query will be dependent upon the ordering of the component sub-properties in the metadata."
-msgstr "만일 당신이 이 구문을 사용하고자 원할 경우에 고려해야 할 한 가지는 질의가 메타데이터 내에 있는 컴포넌트 서브-속성들의 순서에 종속될 것이라는 점이다."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: query_hql.xml:1047
+#, no-c-format
+msgid ""
+"One thing to consider when deciding if you want to use this syntax is that "
+"the query will be dependent upon the ordering of the component sub-"
+"properties in the metadata."
+msgstr ""
+"만일 당신이 이 구문을 사용하고자 원할 경우에 고려해야 할 한 가지는 질의가 메"
+"타데이터 내에 있는 컴포넌트 서브-속성들의 순서에 종속될 것이라는 점이다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/query_sql.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/query_sql.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/query_sql.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,1044 +1,1476 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: query_sql.xml:5
+#, no-c-format
 msgid "Native SQL"
 msgstr "Native SQL"
 
-#: index.docbook:7
-msgid "You may also express queries in the native SQL dialect of your database. This is useful if you want to utilize database specific features such as query hints or the <literal>CONNECT</literal> keyword in Oracle. It also provides a clean migration path from a direct SQL/JDBC based application to Hibernate."
-msgstr "당신은 또한 당신의 데이터베이스의 native SQL dialect로 질의들을 표현할 수도 있다. 당신이 오라클의 질의 힌트들 또는 <literal>CONNECT</literal> 키워드와 같은 데이터베이스 지정적인 특징들을 활용하고자 원할 경우에 이것이 유용하다. 그것은 또한 직접적인 SQL/JDBC 기반의 어플리케이션으로부터 Hibernate로의 보다 명료한 이전 경로를 제공한다."
+#. Tag: para
+#: query_sql.xml:7
+#, no-c-format
+msgid ""
+"You may also express queries in the native SQL dialect of your database. "
+"This is useful if you want to utilize database specific features such as "
+"query hints or the <literal>CONNECT</literal> keyword in Oracle. It also "
+"provides a clean migration path from a direct SQL/JDBC based application to "
+"Hibernate."
+msgstr ""
+"당신은 또한 당신의 데이터베이스의 native SQL dialect로 질의들을 표현할 수도 "
+"있다. 당신이 오라클의 질의 힌트들 또는 <literal>CONNECT</literal> 키워드와 같"
+"은 데이터베이스 지정적인 특징들을 활용하고자 원할 경우에 이것이 유용하다. 그"
+"것은 또한 직접적인 SQL/JDBC 기반의 어플리케이션으로부터 Hibernate로의 보다 명"
+"료한 이전 경로를 제공한다."
 
-#: index.docbook:13
-msgid "Hibernate3 allows you to specify handwritten SQL (including stored procedures) for all create, update, delete, and load operations."
-msgstr "Hibernate3은 또한 모든 create, update, delete, load 오퍼레이션들에 대해 (내장 프로시저들을 포함하여) 손으로 작성된 SQL을 지정하는 것을 당신에게 허용해준다."
+#. Tag: para
+#: query_sql.xml:13
+#, no-c-format
+msgid ""
+"Hibernate3 allows you to specify handwritten SQL (including stored "
+"procedures) for all create, update, delete, and load operations."
+msgstr ""
+"Hibernate3은 또한 모든 create, update, delete, load 오퍼레이션들에 대해 (내"
+"장 프로시저들을 포함하여) 손으로 작성된 SQL을 지정하는 것을 당신에게 허용해준"
+"다."
 
-#: index.docbook:17
+#. Tag: title
+#: query_sql.xml:17
+#, no-c-format
 msgid "Using a <literal>SQLQuery</literal>"
 msgstr "<literal>SQLQuery</literal> 사용하기"
 
-#: index.docbook:19
-msgid "Execution of native SQL queries is controlled via the <literal>SQLQuery</literal> interface, which is obtained by calling <literal>Session.createSQLQuery()</literal>. The following describes how to use this API for querying."
-msgstr "native SQL 질의들의 실행은 <literal>SQLQuery</literal> 인터페이스를 통해 제어되며, 그것은 <literal>Session.createSQLQuery()</literal>을 호출하여 획득된다. 다음은 이 API를 질의에 사용하는 방법을 설명한다."
+#. Tag: para
+#: query_sql.xml:19
+#, no-c-format
+msgid ""
+"Execution of native SQL queries is controlled via the <literal>SQLQuery</"
+"literal> interface, which is obtained by calling <literal>Session."
+"createSQLQuery()</literal>. The following describes how to use this API for "
+"querying."
+msgstr ""
+"native SQL 질의들의 실행은 <literal>SQLQuery</literal> 인터페이스를 통해 제어"
+"되며, 그것은 <literal>Session.createSQLQuery()</literal>을 호출하여 획득된"
+"다. 다음은 이 API를 질의에 사용하는 방법을 설명한다."
 
-#: index.docbook:25
+#. Tag: title
+#: query_sql.xml:25
+#, no-c-format
 msgid "Scalar queries"
 msgstr "스칼라 질의들"
 
-#: index.docbook:27
+#. Tag: para
+#: query_sql.xml:27
+#, no-c-format
 msgid "The most basic SQL query is to get a list of scalars (values)."
 msgstr "가장 기본적인 SQL 질의는 스칼라들(값들)의 목록을 얻는 것이다."
 
-#: index.docbook:30
+#. Tag: programlisting
+#: query_sql.xml:30
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
-      "sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").list();\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
+"sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").list();\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
-      "sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").list();\n"
-      "]]>"
 
-#: index.docbook:32
-msgid "These will both return a List of Object arrays (Object[]) with scalar values for each column in the CATS table. Hibernate will use ResultSetMetadata to deduce the actual order and types of the returned scalar values."
-msgstr "이것들은 둘다 CATS 테이블 내에 있는 각각의 컬럼에 대한 스칼라 값들을 가진 Object 배열들의 List를 반환할 것이다. Hibernate는 반환되는 스칼라 값들의 실제 순서와 타입들을 도출하는데 ResultSetMetadata를 사용할 것이다."
+#. Tag: para
+#: query_sql.xml:32
+#, no-c-format
+msgid ""
+"These will both return a List of Object arrays (Object[]) with scalar values "
+"for each column in the CATS table. Hibernate will use ResultSetMetadata to "
+"deduce the actual order and types of the returned scalar values."
+msgstr ""
+"이것들은 둘다 CATS 테이블 내에 있는 각각의 컬럼에 대한 스칼라 값들을 가진 "
+"Object 배열들의 List를 반환할 것이다. Hibernate는 반환되는 스칼라 값들의 실"
+"제 순서와 타입들을 도출하는데 ResultSetMetadata를 사용할 것이다."
 
-#: index.docbook:37
-msgid "To avoid the overhead of using <literal>ResultSetMetadata</literal> or simply to be more explicit in what is returned one can use <literal>addScalar()</literal>."
-msgstr "<literal>ResultSetMetadata</literal> 사용의 오버헤드를 피하거나 간단하게는 반환되는 것을 보다 명시적이게끔 하기 위해 우리는 <literal>addScalar()</literal>를 사용할 수 있다."
+#. Tag: para
+#: query_sql.xml:37
+#, no-c-format
+msgid ""
+"To avoid the overhead of using <literal>ResultSetMetadata</literal> or "
+"simply to be more explicit in what is returned one can use <literal>addScalar"
+"()</literal>."
+msgstr ""
+"<literal>ResultSetMetadata</literal> 사용의 오버헤드를 피하거나 간단하게는 반"
+"환되는 것을 보다 명시적이게끔 하기 위해 우리는 <literal>addScalar()</literal>"
+"를 사용할 수 있다."
 
-#: index.docbook:41
+#. Tag: programlisting
+#: query_sql.xml:41
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
-      " .addScalar(\"ID\", Hibernate.LONG)\n"
-      " .addScalar(\"NAME\", Hibernate.STRING)\n"
-      " .addScalar(\"BIRTHDATE\", Hibernate.DATE)\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
+" .addScalar(\"ID\", Hibernate.LONG)\n"
+" .addScalar(\"NAME\", Hibernate.STRING)\n"
+" .addScalar(\"BIRTHDATE\", Hibernate.DATE)\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
-      " .addScalar(\"ID\", Hibernate.LONG)\n"
-      " .addScalar(\"NAME\", Hibernate.STRING)\n"
-      " .addScalar(\"BIRTHDATE\", Hibernate.DATE)\n"
-      "]]>"
 
-#: index.docbook:43, index.docbook:89, index.docbook:170, index.docbook:321
+#. Tag: para
+#: query_sql.xml:43 query_sql.xml:89 query_sql.xml:170 query_sql.xml:321
+#, no-c-format
 msgid "This query specified:"
 msgstr "이 질의는 다음을 지정했다:"
 
-#: index.docbook:47, index.docbook:93, index.docbook:325
+#. Tag: para
+#: query_sql.xml:47 query_sql.xml:93 query_sql.xml:325
+#, no-c-format
 msgid "the SQL query string"
 msgstr "SQL 질의 문자열"
 
-#: index.docbook:51
+#. Tag: para
+#: query_sql.xml:51
+#, no-c-format
 msgid "the columns and types to return"
 msgstr "반환할 컬럼들과 타입들"
 
-#: index.docbook:55
-msgid "This will still return Object arrays, but now it will not use <literal>ResultSetMetdata</literal> but will instead explicitly get the ID, NAME and BIRTHDATE column as respectively a Long, String and a Short from the underlying resultset. This also means that only these three columns will be returned, even though the query is using <literal>*</literal> and could return more than the three listed columns."
-msgstr "이것은 여전히 Object 배열들을 반환할 것이지만, 이제 그것은 <literal>ResultSetMetdata</literal>를 사용하지 않을 것이고 대신에 기반 결과셋으로부터 ID, NAME 그리고 BIRTHDATE 컬럼을 각각 Long, String 그리고 Short 타입으로 반환할 것이다. 심지어 그 질의가 <literal>*</literal>를 사용하고 세 개의 열거된 컬럼들 보다 더 많은 것을 반환할 수 있을지라도, 이것은 또한 오직 이들 세 개의 컬럼들 만이 반환될 것임을 의미한다."
+#. Tag: para
+#: query_sql.xml:55
+#, no-c-format
+msgid ""
+"This will still return Object arrays, but now it will not use "
+"<literal>ResultSetMetdata</literal> but will instead explicitly get the ID, "
+"NAME and BIRTHDATE column as respectively a Long, String and a Short from "
+"the underlying resultset. This also means that only these three columns will "
+"be returned, even though the query is using <literal>*</literal> and could "
+"return more than the three listed columns."
+msgstr ""
+"이것은 여전히 Object 배열들을 반환할 것이지만, 이제 그것은 "
+"<literal>ResultSetMetdata</literal>를 사용하지 않을 것이고 대신에 기반 결과셋"
+"으로부터 ID, NAME 그리고 BIRTHDATE 컬럼을 각각 Long, String 그리고 Short 타입"
+"으로 반환할 것이다. 심지어 그 질의가 <literal>*</literal>를 사용하고 세 개의 "
+"열거된 컬럼들 보다 더 많은 것을 반환할 수 있을지라도, 이것은 또한 오직 이들 "
+"세 개의 컬럼들 만이 반환될 것임을 의미한다."
 
-#: index.docbook:63
-msgid "It is possible to leave out the type information for all or some of the scalars."
+#. Tag: para
+#: query_sql.xml:63
+#, no-c-format
+msgid ""
+"It is possible to leave out the type information for all or some of the "
+"scalars."
 msgstr "스칼라들 중 몇몇 또는 전부에 대한 타입 정보를 남겨두는 것이 가능하다."
 
-#: index.docbook:66
+#. Tag: programlisting
+#: query_sql.xml:66
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
-      " .addScalar(\"ID\", Hibernate.LONG)\n"
-      " .addScalar(\"NAME\")\n"
-      " .addScalar(\"BIRTHDATE\")\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
+" .addScalar(\"ID\", Hibernate.LONG)\n"
+" .addScalar(\"NAME\")\n"
+" .addScalar(\"BIRTHDATE\")\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
-      " .addScalar(\"ID\", Hibernate.LONG)\n"
-      " .addScalar(\"NAME\")\n"
-      " .addScalar(\"BIRTHDATE\")\n"
-      "]]>"
 
-#: index.docbook:68
-msgid "This is essentially the same query as before, but now <literal>ResultSetMetaData</literal> is used to decide the type of NAME and BIRTHDATE where as the type of ID is explicitly specified."
-msgstr "이것은 본질적으로 앞의 것과 동일한 질의이지만, 이제 <literal>ResultSetMetaData</literal>는 ID의 타입이 명시적으로 지정되어 있으므로 NAME과 BIRTHDATE의 타입을 결정하는데 사용된다."
+#. Tag: para
+#: query_sql.xml:68
+#, no-c-format
+msgid ""
+"This is essentially the same query as before, but now "
+"<literal>ResultSetMetaData</literal> is used to decide the type of NAME and "
+"BIRTHDATE where as the type of ID is explicitly specified."
+msgstr ""
+"이것은 본질적으로 앞의 것과 동일한 질의이지만, 이제 "
+"<literal>ResultSetMetaData</literal>는 ID의 타입이 명시적으로 지정되어 있으므"
+"로 NAME과 BIRTHDATE의 타입을 결정하는데 사용된다."
 
-#: index.docbook:72
-msgid "How the java.sql.Types returned from ResultSetMetaData is mapped to Hibernate types is controlled by the Dialect. If a specific type is not mapped or does not result in the expected type it is possible to customize it via calls to <literal>registerHibernateType</literal> in the Dialect."
-msgstr "java.sql.Types returned from ResultSetMetaData이 Hibernate 타입들로 매핑되는 방법은 Dialect에 의해 제어된다. 만일 특정 타입이 매핑되지 않거나 예상되는 타입으로 귀결되지 않을 경우에 Dialect 내에 있는 <literal>registerHibernateType</literal>에 대한 호출들을 통해 그것을 맞춤화 시키는 것이 가능하다."
+#. Tag: para
+#: query_sql.xml:72
+#, no-c-format
+msgid ""
+"How the java.sql.Types returned from ResultSetMetaData is mapped to "
+"Hibernate types is controlled by the Dialect. If a specific type is not "
+"mapped or does not result in the expected type it is possible to customize "
+"it via calls to <literal>registerHibernateType</literal> in the Dialect."
+msgstr ""
+"java.sql.Types returned from ResultSetMetaData이 Hibernate 타입들로 매핑되는 "
+"방법은 Dialect에 의해 제어된다. 만일 특정 타입이 매핑되지 않거나 예상되는 타"
+"입으로 귀결되지 않을 경우에 Dialect 내에 있는 "
+"<literal>registerHibernateType</literal>에 대한 호출들을 통해 그것을 맞춤화 "
+"시키는 것이 가능하다."
 
-#: index.docbook:80
+#. Tag: title
+#: query_sql.xml:80
+#, no-c-format
 msgid "Entity queries"
 msgstr "Entity 질의들"
 
-#: index.docbook:82
-msgid "The above queries were all about returning scalar values, basically returning the \"raw\" values from the resultset. The following shows how to get entity objects from a native sql query via <literal>addEntity()</literal>."
-msgstr "위의 질의들은 스칼라 값들을 반환하는 것, 결과셋들로부터 \"원래의\" 값들을 기본적으로 반환하는 것에 대한 전부였다. 다음은 <literal>addEntity()</literal>를 통해 native sql 질의로부터 엔티티 객체들을 얻는 방법을 보여준다."
+#. Tag: para
+#: query_sql.xml:82
+#, no-c-format
+msgid ""
+"The above queries were all about returning scalar values, basically "
+"returning the \"raw\" values from the resultset. The following shows how to "
+"get entity objects from a native sql query via <literal>addEntity()</"
+"literal>."
+msgstr ""
+"위의 질의들은 스칼라 값들을 반환하는 것, 결과셋들로부터 \"원래의\" 값들을 기"
+"본적으로 반환하는 것에 대한 전부였다. 다음은 <literal>addEntity()</literal>"
+"를 통해 native sql 질의로부터 엔티티 객체들을 얻는 방법을 보여준다."
 
-#: index.docbook:87
+#. Tag: programlisting
+#: query_sql.xml:87
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").addEntity(Cat.class);\n"
-      "sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").addEntity(Cat.class);\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").addEntity(Cat.class);\n"
+"sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").addEntity(Cat."
+"class);\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").addEntity(Cat.class);\n"
-      "sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").addEntity(Cat.class);\n"
-      "]]>"
 
-#: index.docbook:97
+#. Tag: para
+#: query_sql.xml:97
+#, no-c-format
 msgid "the entity returned by the query"
 msgstr "그 질의에 의해 반환되는 엔티티"
 
-#: index.docbook:101
-msgid "Assuming that Cat is mapped as a class with the columns ID, NAME and BIRTHDATE the above queries will both return a List where each element is a Cat entity."
-msgstr "Cat이 컬럼 ID, NAME 그리고 BIRTHDATE로서 매핑된다고 가정하면, 위의 질의들은 둘다 각각의 요소가 하나의 Cat 엔티티인 하나의 List를 반환할 것이다."
+#. Tag: para
+#: query_sql.xml:101
+#, no-c-format
+msgid ""
+"Assuming that Cat is mapped as a class with the columns ID, NAME and "
+"BIRTHDATE the above queries will both return a List where each element is a "
+"Cat entity."
+msgstr ""
+"Cat이 컬럼 ID, NAME 그리고 BIRTHDATE로서 매핑된다고 가정하면, 위의 질의들은 "
+"둘다 각각의 요소가 하나의 Cat 엔티티인 하나의 List를 반환할 것이다."
 
-#: index.docbook:105
-msgid "If the entity is mapped with a <literal>many-to-one</literal> to another entity it is required to also return this when performing the native query, otherwise a database specific \"column not found\" error will occur. The additional columns will automatically be returned when using the * notation, but we prefer to be explicit as in the following example for a <literal>many-to-one</literal> to a <literal>Dog</literal>:"
-msgstr "만일 그 엔티티가 또 다른 엔티티에 대해 <literal>many-to-one</literal>로 매핑되어 있다면 또한 native 질의를 실행할 때 이것을 반환하는 것이 필수적고, 그 밖의 경우 데이터베이스 지정적인 \"컬럼이 발견되지 않았습니다\" 오류가 일어날 것이다. 추가적인 컬럼은 * 표기를 사용할 자동적으로 반환될 것이지만, 우리는 다음 <literal>Dog</literal>에 대한 <literal>many-to-one</literal> 예제에서처럼 명시적인 것을 더 선호한다:"
+#. Tag: para
+#: query_sql.xml:105
+#, no-c-format
+msgid ""
+"If the entity is mapped with a <literal>many-to-one</literal> to another "
+"entity it is required to also return this when performing the native query, "
+"otherwise a database specific \"column not found\" error will occur. The "
+"additional columns will automatically be returned when using the * notation, "
+"but we prefer to be explicit as in the following example for a <literal>many-"
+"to-one</literal> to a <literal>Dog</literal>:"
+msgstr ""
+"만일 그 엔티티가 또 다른 엔티티에 대해 <literal>many-to-one</literal>로 매핑"
+"되어 있다면 또한 native 질의를 실행할 때 이것을 반환하는 것이 필수적고, 그 밖"
+"의 경우 데이터베이스 지정적인 \"컬럼이 발견되지 않았습니다\" 오류가 일어날 것"
+"이다. 추가적인 컬럼은 * 표기를 사용할 자동적으로 반환될 것이지만, 우리는 다"
+"음 <literal>Dog</literal>에 대한 <literal>many-to-one</literal> 예제에서처럼 "
+"명시적인 것을 더 선호한다:"
 
-#: index.docbook:113
+#. Tag: programlisting
+#: query_sql.xml:113
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS\").addEntity(Cat.class);\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS"
+"\").addEntity(Cat.class);\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS\").addEntity(Cat.class);\n"
-      "]]>"
 
-#: index.docbook:115
+#. Tag: para
+#: query_sql.xml:115
+#, no-c-format
 msgid "This will allow cat.getDog() to function properly."
 msgstr "이것은 cat.getDog()이 고유하게 기능하는 것을 허용한다."
 
-#: index.docbook:119
+#. Tag: title
+#: query_sql.xml:119
+#, no-c-format
 msgid "Handling associations and collections"
 msgstr "연관들과 콜렉션들을 처리하기"
 
-#: index.docbook:121
-msgid "It is possible to eagerly join in the <literal>Dog</literal> to avoid the possible extra roundtrip for initializing the proxy. This is done via the <literal>addJoin()</literal> method, which allows you to join in an association or collection."
-msgstr "프락시를 초기화 시킴에 있어 가능한 특별한 라운드트립을 피하기 위해서 <literal>Dog</literal>에서 eagerly join시키는 것이 간으하다. 이것은 <literal>addJoin()</literal> 메소드를 통해 행해지는데, 그것은 연관이나 콜렉션 내에서 조인시키는 것을 당신에게 허용해준다."
+#. Tag: para
+#: query_sql.xml:121
+#, no-c-format
+msgid ""
+"It is possible to eagerly join in the <literal>Dog</literal> to avoid the "
+"possible extra roundtrip for initializing the proxy. This is done via the "
+"<literal>addJoin()</literal> method, which allows you to join in an "
+"association or collection."
+msgstr ""
+"프락시를 초기화 시킴에 있어 가능한 특별한 라운드트립을 피하기 위해서 "
+"<literal>Dog</literal>에서 eagerly join시키는 것이 간으하다. 이것은 "
+"<literal>addJoin()</literal> 메소드를 통해 행해지는데, 그것은 연관이나 콜렉"
+"션 내에서 조인시키는 것을 당신에게 허용해준다."
 
-#: index.docbook:126
+#. Tag: programlisting
+#: query_sql.xml:126
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID, D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID\")\n"
-      " .addEntity(\"cat\", Cat.class)\n"
-      " .addJoin(\"cat.dog\");\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID, "
+"D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+" .addJoin(\"cat.dog\");\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID, D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID\")\n"
-      " .addEntity(\"cat\", Cat.class)\n"
-      " .addJoin(\"cat.dog\");\n"
-      "]]>"
 
-#: index.docbook:128
-msgid "In this example the returned <literal>Cat</literal>'s will have their <literal>dog</literal> property fully initialized without any extra roundtrip to the database. Notice that we added a alias name (\"cat\") to be able to specify the target property path of the join. It is possible to do the same eager joining for collections, e.g. if the <literal>Cat</literal> had a one-to-many to <literal>Dog</literal> instead."
-msgstr "이 예제에서 반환되는 <literal>Cat</literal>들은 데이터베이스에 대한 임의의 특별한 라운드크립 없이 전체적으로 초기화된 그것들의 <literal>dog</literal> 프로퍼티를 갖는다. 우리가 join의 대상 프로퍼티 경로를 지정하는 것을 가능하도록 하기 위해 하나의 alias 이름(\"cat\")을 추가했음을 주지하라. 대신에 예를 들어 <literal>Cat</literal>이 <literal>Dog</literal>에 대해 one-to-many를 가질 경우, 콜렉션들에 대해 동일한 eager joining을 행하는 것이 가능하다."
+#. Tag: para
+#: query_sql.xml:128
+#, no-c-format
+msgid ""
+"In this example the returned <literal>Cat</literal>'s will have their "
+"<literal>dog</literal> property fully initialized without any extra "
+"roundtrip to the database. Notice that we added a alias name (\"cat\") to be "
+"able to specify the target property path of the join. It is possible to do "
+"the same eager joining for collections, e.g. if the <literal>Cat</literal> "
+"had a one-to-many to <literal>Dog</literal> instead."
+msgstr ""
+"이 예제에서 반환되는 <literal>Cat</literal>들은 데이터베이스에 대한 임의의 특"
+"별한 라운드크립 없이 전체적으로 초기화된 그것들의 <literal>dog</literal> 프로"
+"퍼티를 갖는다. 우리가 join의 대상 프로퍼티 경로를 지정하는 것을 가능하도록 하"
+"기 위해 하나의 alias 이름(\"cat\")을 추가했음을 주지하라. 대신에 예를 들어 "
+"<literal>Cat</literal>이 <literal>Dog</literal>에 대해 one-to-many를 가질 경"
+"우, 콜렉션들에 대해 동일한 eager joining을 행하는 것이 가능하다."
 
-#: index.docbook:136
+#. Tag: programlisting
+#: query_sql.xml:136
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME, CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID\")\n"
-      " .addEntity(\"cat\", Cat.class)\n"
-      " .addJoin(\"cat.dogs\");\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME, "
+"CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+" .addJoin(\"cat.dogs\");\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME, CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID\")\n"
-      " .addEntity(\"cat\", Cat.class)\n"
-      " .addJoin(\"cat.dogs\");\n"
-      "]]>"
 
-#: index.docbook:138
-msgid "At this stage we are reaching the limits of what is possible with native queries without starting to enhance the sql queries to make them usable in Hibernate; the problems starts to arise when returning multiple entities of the same type or when the default alias/column names are not enough."
-msgstr "이 단계에서 우리는 Hibernate에서 native 질의들을 사용가능하도록 만들기 위해 sql 질의들을 강화시키지는 것을 시작하지 않고서도 native 질의들로서 가능한 것의 한계에 도달하고 있다; 문제점들은 동일한 타입의 여러 엔티티들을 반환할 때 또는 디폴트 alias/column 이름들이 충분하지 않을 때 발생하기 시작한다."
+#. Tag: para
+#: query_sql.xml:138
+#, no-c-format
+msgid ""
+"At this stage we are reaching the limits of what is possible with native "
+"queries without starting to enhance the sql queries to make them usable in "
+"Hibernate; the problems starts to arise when returning multiple entities of "
+"the same type or when the default alias/column names are not enough."
+msgstr ""
+"이 단계에서 우리는 Hibernate에서 native 질의들을 사용가능하도록 만들기 위해 "
+"sql 질의들을 강화시키지는 것을 시작하지 않고서도 native 질의들로서 가능한 것"
+"의 한계에 도달하고 있다; 문제점들은 동일한 타입의 여러 엔티티들을 반환할 때 "
+"또는 디폴트 alias/column 이름들이 충분하지 않을 때 발생하기 시작한다."
 
-#: index.docbook:146
+#. Tag: title
+#: query_sql.xml:146
+#, no-c-format
 msgid "Returning multiple entities"
 msgstr "여러 개의 엔티티들을 반환하기"
 
-#: index.docbook:148
-msgid "Until now the result set column names are assumed to be the same as the column names specified in the mapping document. This can be problematic for SQL queries which join multiple tables, since the same column names may appear in more than one table."
-msgstr "지금까지 결과 셋 컬럼 이름들은 매핑 문서 내에 지정된 컬럼 이름들과 동일하다고 가정되어 있다. 동일한 컬럼이 하나 이상의 테이블 내에서 나타날 수 있기 때문에, 이것은 여러 개의 테이블들을 조인시키는 SQL 질의들에 대해 문제가 될 수 있다."
+#. Tag: para
+#: query_sql.xml:148
+#, no-c-format
+msgid ""
+"Until now the result set column names are assumed to be the same as the "
+"column names specified in the mapping document. This can be problematic for "
+"SQL queries which join multiple tables, since the same column names may "
+"appear in more than one table."
+msgstr ""
+"지금까지 결과 셋 컬럼 이름들은 매핑 문서 내에 지정된 컬럼 이름들과 동일하다"
+"고 가정되어 있다. 동일한 컬럼이 하나 이상의 테이블 내에서 나타날 수 있기 때문"
+"에, 이것은 여러 개의 테이블들을 조인시키는 SQL 질의들에 대해 문제가 될 수 있"
+"다."
 
-#: index.docbook:153
-msgid "Column alias injection is needed in the following query (which most likely will fail):"
+#. Tag: para
+#: query_sql.xml:153
+#, no-c-format
+msgid ""
+"Column alias injection is needed in the following query (which most likely "
+"will fail):"
 msgstr "컬럼 alias 주입은 다음 질의(아마 실패할 것이다)에서 필요하다:"
 
-#: index.docbook:156
+#. Tag: programlisting
+#: query_sql.xml:156
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT c.*, m.*  FROM CATS c, CATS m WHERE c.MOTHER_ID = c.ID\")\n"
-      " .addEntity(\"cat\", Cat.class)\n"
-      " .addEntity(\"mother\", Cat.class)\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT c.*, m.*  FROM CATS c, CATS m WHERE c."
+"MOTHER_ID = c.ID\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+" .addEntity(\"mother\", Cat.class)\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT c.*, m.*  FROM CATS c, CATS m WHERE c.MOTHER_ID = c.ID\")\n"
-      " .addEntity(\"cat\", Cat.class)\n"
-      " .addEntity(\"mother\", Cat.class)\n"
-      "]]>"
 
-#: index.docbook:158
-msgid "The intention for this query is to return two Cat instances per row, a cat and its mother. This will fail since there is a conflict of names since they are mapped to the same column names and on some databases the returned column aliases will most likely be on the form \"c.ID\", \"c.NAME\", etc. which are not equal to the columns specificed in the mappings (\"ID\" and \"NAME\")."
-msgstr "이 질의의 목적은 단위 행 당 두 개의 Cat 인스턴스들, 하나의 cat 그리고 그것의 mother를 반환하는 것이다. 왜냐하면 그것들이 동일한 컬럼 이름들로 매핑되어 있기 때문에 이것은 실패할 것이고 데이베이스 상에서 반환된 컬럼 alias들은 아마 매핑들 내에 지정된 컬럼들(\"ID\" 와 \"NAME\")과 같지 않은 \"c.ID\", \"c.NAME\" 등의 형식일 것이다."
+#. Tag: para
+#: query_sql.xml:158
+#, no-c-format
+msgid ""
+"The intention for this query is to return two Cat instances per row, a cat "
+"and its mother. This will fail since there is a conflict of names since they "
+"are mapped to the same column names and on some databases the returned "
+"column aliases will most likely be on the form \"c.ID\", \"c.NAME\", etc. "
+"which are not equal to the columns specificed in the mappings (\"ID\" and "
+"\"NAME\")."
+msgstr ""
+"이 질의의 목적은 단위 행 당 두 개의 Cat 인스턴스들, 하나의 cat 그리고 그것의 "
+"mother를 반환하는 것이다. 왜냐하면 그것들이 동일한 컬럼 이름들로 매핑되어 있"
+"기 때문에 이것은 실패할 것이고 데이베이스 상에서 반환된 컬럼 alias들은 아마 "
+"매핑들 내에 지정된 컬럼들(\"ID\" 와 \"NAME\")과 같지 않은 \"c.ID\", \"c.NAME"
+"\" 등의 형식일 것이다."
 
-#: index.docbook:165
+#. Tag: para
+#: query_sql.xml:165
+#, no-c-format
 msgid "The following form is not vulnerable to column name duplication:"
 msgstr "다음 형식은 컬럼 이름 중복 취약점을 갖지 않는다:"
 
-#: index.docbook:168
+#. Tag: programlisting
+#: query_sql.xml:168
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT {cat.*}, {mother.*}  FROM CATS c, CATS m WHERE c.MOTHER_ID = c.ID\")\n"
-      " .addEntity(\"cat\", Cat.class)\n"
-      " .addEntity(\"mother\", Cat.class)\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT {cat.*}, {mother.*}  FROM CATS c, CATS "
+"m WHERE c.MOTHER_ID = c.ID\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+" .addEntity(\"mother\", Cat.class)\n"
+"]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT {cat.*}, {mother.*}  FROM CATS c, CATS m WHERE c.MOTHER_ID = c.ID\")\n"
-      " .addEntity(\"cat\", Cat.class)\n"
-      " .addEntity(\"mother\", Cat.class)\n"
-      "]]>"
 
-#: index.docbook:174
-msgid "the SQL query string, with placeholders for Hibernate to inject column aliases"
-msgstr "컬럼 alias들을 주입하기 위한 Hibernate용 placeholder들을 가진 SQL 질의 문자열"
+#. Tag: para
+#: query_sql.xml:174
+#, no-c-format
+msgid ""
+"the SQL query string, with placeholders for Hibernate to inject column "
+"aliases"
+msgstr ""
+"컬럼 alias들을 주입하기 위한 Hibernate용 placeholder들을 가진 SQL 질의 문자열"
 
-#: index.docbook:179
+#. Tag: para
+#: query_sql.xml:179
+#, no-c-format
 msgid "the entities returned by the query"
 msgstr "그 질의에 의해 반환되는 엔티티들"
 
-#: index.docbook:183
-msgid "The {cat.*} and {mother.*} notation used above is a shorthand for \"all properties\". Alternatively, you may list the columns explicity, but even in this case we let Hibernate inject the SQL column aliases for each property. The placeholder for a column alias is just the property name qualified by the table alias. In the following example, we retrieve Cats and their mothers from a different table (cat_log) to the one declared in the mapping metadata. Notice that we may even use the property aliases in the where clause if we like."
-msgstr "위에 사용된 {cat.*} 과 {mother.*} 표기는 \"모든 프로퍼티들\"에 대한 생략이다. 다른 방법으로 당신은 컬럼들을 명시적으로 열거할 수도 있지만, 이 경우에 우리는 Hibernate로 하여금 SQL 컬럼 alias들을 각각의 컬럼에 주입시키도록 강제한다. 컬럼 alias를 위한 placeholder는 단지 그 테이블 alias에 의해 수식된 프로퍼티 이름이다. 다음 예제에서, 우리는 다른 테이블(cat_log)로부터 매핑 메타데이터 내에 선언된 것으로의 Cat들과 그것들의 mother들을 검색한다. 우리는 우리가 좋다면 심지어 where 절 내에 프로퍼티 alias를 사용할 수도 있음을 주지하라."
+#. Tag: para
+#: query_sql.xml:183
+#, no-c-format
+msgid ""
+"The {cat.*} and {mother.*} notation used above is a shorthand for \"all "
+"properties\". Alternatively, you may list the columns explicity, but even in "
+"this case we let Hibernate inject the SQL column aliases for each property. "
+"The placeholder for a column alias is just the property name qualified by "
+"the table alias. In the following example, we retrieve Cats and their "
+"mothers from a different table (cat_log) to the one declared in the mapping "
+"metadata. Notice that we may even use the property aliases in the where "
+"clause if we like."
+msgstr ""
+"위에 사용된 {cat.*} 과 {mother.*} 표기는 \"모든 프로퍼티들\"에 대한 생략이"
+"다. 다른 방법으로 당신은 컬럼들을 명시적으로 열거할 수도 있지만, 이 경우에 우"
+"리는 Hibernate로 하여금 SQL 컬럼 alias들을 각각의 컬럼에 주입시키도록 강제한"
+"다. 컬럼 alias를 위한 placeholder는 단지 그 테이블 alias에 의해 수식된 프로퍼"
+"티 이름이다. 다음 예제에서, 우리는 다른 테이블(cat_log)로부터 매핑 메타데이"
+"터 내에 선언된 것으로의 Cat들과 그것들의 mother들을 검색한다. 우리는 우리가 "
+"좋다면 심지어 where 절 내에 프로퍼티 alias를 사용할 수도 있음을 주지하라."
 
-#: index.docbook:192
+#. Tag: programlisting
+#: query_sql.xml:192
+#, no-c-format
 msgid ""
-      "<![CDATA[String sql = \"SELECT ID as {c.id}, NAME as {c.name}, \" + \n"
-      "         \"BIRTHDATE as {c.birthDate}, MOTHER_ID as {c.mother}, {mother.*} \" +\n"
-      "         \"FROM CAT_LOG c, CAT_LOG m WHERE {c.mother} = c.ID\";\n"
-      "\n"
-      "List loggedCats = sess.createSQLQuery(sql)\n"
-      "        .addEntity(\"cat\", Cat.class)\n"
-      "        .addEntity(\"mother\", Cat.class).list()\n"
-      "]]>"
+"<![CDATA[String sql = \"SELECT ID as {c.id}, NAME as {c.name}, \" + \n"
+"         \"BIRTHDATE as {c.birthDate}, MOTHER_ID as {c.mother}, {mother.*} "
+"\" +\n"
+"         \"FROM CAT_LOG c, CAT_LOG m WHERE {c.mother} = c.ID\";\n"
+"\n"
+"List loggedCats = sess.createSQLQuery(sql)\n"
+"        .addEntity(\"cat\", Cat.class)\n"
+"        .addEntity(\"mother\", Cat.class).list()\n"
+"]]>"
 msgstr ""
-      "<![CDATA[String sql = \"SELECT ID as {c.id}, NAME as {c.name}, \" + \n"
-      "         \"BIRTHDATE as {c.birthDate}, MOTHER_ID as {c.mother}, {mother.*} \" +\n"
-      "         \"FROM CAT_LOG c, CAT_LOG m WHERE {c.mother} = c.ID\";\n"
-      "\n"
-      "List loggedCats = sess.createSQLQuery(sql)\n"
-      "        .addEntity(\"cat\", Cat.class)\n"
-      "        .addEntity(\"mother\", Cat.class).list()\n"
-      "]]>"
 
-#: index.docbook:195
+#. Tag: title
+#: query_sql.xml:195
+#, no-c-format
 msgid "Alias and property references"
 msgstr "alias 참조와 프로퍼티 참조"
 
-#: index.docbook:197
-msgid "For most cases the above alias injection is needed, but for queries relating to more complex mappings like composite properties, inheritance discriminators, collections etc. there are some specific aliases to use to allow Hibernate to inject the proper aliases."
-msgstr "대부분의 경우에 위의 alias 주입이 필요하지만, composite 프로퍼티들, 상속 판별자들 (inheritance discriminators), 콜렉션 등과 같은 보다 복잡한 매핑들과 관련된 질의들의 경우에는 고유한 alias들을 주입시키는 것을 Hibernate에게 허용하는데 사용될 몇몇 특별한 alias들이 존재한다."
+#. Tag: para
+#: query_sql.xml:197
+#, no-c-format
+msgid ""
+"For most cases the above alias injection is needed, but for queries relating "
+"to more complex mappings like composite properties, inheritance "
+"discriminators, collections etc. there are some specific aliases to use to "
+"allow Hibernate to inject the proper aliases."
+msgstr ""
+"대부분의 경우에 위의 alias 주입이 필요하지만, composite 프로퍼티들, 상속 판별"
+"자들 (inheritance discriminators), 콜렉션 등과 같은 보다 복잡한 매핑들과 관련"
+"된 질의들의 경우에는 고유한 alias들을 주입시키는 것을 Hibernate에게 허용하는"
+"데 사용될 몇몇 특별한 alias들이 존재한다."
 
-#: index.docbook:202
-msgid "The following table shows the different possibilities of using the alias injection. Note: the alias names in the result are examples, each alias will have a unique and probably different name when used."
-msgstr "다음 테이블은 alias 주입을 사용하는 다른 가능성들을 보여준다. 노트: 결과 내에 있는 alias 이름들이 예제이며, 각각의 alias는 사용될 때 하나의 유일한 이름과 아마 다른 이름을 가질 것이다."
+#. Tag: para
+#: query_sql.xml:202
+#, no-c-format
+msgid ""
+"The following table shows the different possibilities of using the alias "
+"injection. Note: the alias names in the result are examples, each alias will "
+"have a unique and probably different name when used."
+msgstr ""
+"다음 테이블은 alias 주입을 사용하는 다른 가능성들을 보여준다. 노트: 결과 내"
+"에 있는 alias 이름들이 예제이며, 각각의 alias는 사용될 때 하나의 유일한 이름"
+"과 아마 다른 이름을 가질 것이다."
 
-#: index.docbook:208
+#. Tag: title
+#: query_sql.xml:208
+#, no-c-format
 msgid "Alias injection names"
 msgstr "alias 주입 이름들"
 
-#: index.docbook:219
+#. Tag: entry
+#: query_sql.xml:219
+#, no-c-format
 msgid "Description"
-msgstr "<entry>설명</entry>"
+msgstr "설명"
 
-#: index.docbook:221
+#. Tag: entry
+#: query_sql.xml:221
+#, no-c-format
 msgid "Syntax"
-msgstr "<entry>구문</entry>"
+msgstr "구문"
 
-#: index.docbook:223
+#. Tag: entry
+#: query_sql.xml:223
+#, no-c-format
 msgid "Example"
-msgstr "<entry>예제</entry>"
+msgstr "예제"
 
-#: index.docbook:229
+#. Tag: entry
+#: query_sql.xml:229
+#, no-c-format
 msgid "A simple property"
 msgstr "간단한 프로퍼티"
 
-#: index.docbook:231
+#. Tag: literal
+#: query_sql.xml:231
+#, no-c-format
 msgid "{[aliasname].[propertyname]"
 msgstr "{[aliasname].[propertyname]"
 
-#: index.docbook:233
+#. Tag: literal
+#: query_sql.xml:233
+#, no-c-format
 msgid "A_NAME as {item.name}"
 msgstr "A_NAME as {item.name}"
 
-#: index.docbook:237
+#. Tag: entry
+#: query_sql.xml:237
+#, no-c-format
 msgid "A composite property"
 msgstr "composite 프로퍼티"
 
-#: index.docbook:239
+#. Tag: literal
+#: query_sql.xml:239
+#, no-c-format
 msgid "{[aliasname].[componentname].[propertyname]}"
 msgstr "{[aliasname].[componentname].[propertyname]}"
 
-#: index.docbook:241
+#. Tag: literal
+#: query_sql.xml:241
+#, no-c-format
 msgid "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
 msgstr "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
 
-#: index.docbook:246
+#. Tag: entry
+#: query_sql.xml:246
+#, no-c-format
 msgid "Discriminator of an entity"
 msgstr "엔티티의 판별자(Discriminator)"
 
-#: index.docbook:248
+#. Tag: literal
+#: query_sql.xml:248
+#, no-c-format
 msgid "{[aliasname].class}"
 msgstr "{[aliasname].class}"
 
-#: index.docbook:250
+#. Tag: literal
+#: query_sql.xml:250
+#, no-c-format
 msgid "DISC as {item.class}"
 msgstr "DISC as {item.class}"
 
-#: index.docbook:254
+#. Tag: entry
+#: query_sql.xml:254
+#, no-c-format
 msgid "All properties of an entity"
 msgstr "엔티티의 모든 프로퍼티들"
 
-#: index.docbook:256, index.docbook:304
+#. Tag: literal
+#: query_sql.xml:256 query_sql.xml:304
+#, no-c-format
 msgid "{[aliasname].*}"
 msgstr "{[aliasname].*}"
 
-#: index.docbook:258
+#. Tag: literal
+#: query_sql.xml:258
+#, no-c-format
 msgid "{item.*}"
 msgstr "{item.*}"
 
-#: index.docbook:262
+#. Tag: entry
+#: query_sql.xml:262
+#, no-c-format
 msgid "A collection key"
 msgstr "콜렉션 키"
 
-#: index.docbook:264
+#. Tag: literal
+#: query_sql.xml:264
+#, no-c-format
 msgid "{[aliasname].key}"
 msgstr "{[aliasname].key}"
 
-#: index.docbook:266
+#. Tag: literal
+#: query_sql.xml:266
+#, no-c-format
 msgid "ORGID as {coll.key}"
 msgstr "ORGID as {coll.key}"
 
-#: index.docbook:270
+#. Tag: entry
+#: query_sql.xml:270
+#, no-c-format
 msgid "The id of an collection"
 msgstr "콜렉션의 id"
 
-#: index.docbook:272
+#. Tag: literal
+#: query_sql.xml:272
+#, no-c-format
 msgid "{[aliasname].id}"
 msgstr "{[aliasname].id}"
 
-#: index.docbook:274
+#. Tag: literal
+#: query_sql.xml:274
+#, no-c-format
 msgid "EMPID as {coll.id}"
 msgstr "EMPID as {coll.id}"
 
-#: index.docbook:278
+#. Tag: entry
+#: query_sql.xml:278
+#, no-c-format
 msgid "The element of an collection"
 msgstr "콜렉션의 요소"
 
-#: index.docbook:280
+#. Tag: literal
+#: query_sql.xml:280
+#, no-c-format
 msgid "{[aliasname].element}"
 msgstr "{[aliasname].element}"
 
-#: index.docbook:282
+#. Tag: literal
+#: query_sql.xml:282
+#, no-c-format
 msgid "XID as {coll.element}"
 msgstr "XID as {coll.element}"
 
-#: index.docbook:286
+#. Tag: entry
+#: query_sql.xml:286
+#, no-c-format
 msgid "roperty of the element in the collection"
 msgstr "콜렉션 내에 있는 요소의 프로퍼티"
 
-#: index.docbook:288
+#. Tag: literal
+#: query_sql.xml:288
+#, no-c-format
 msgid "{[aliasname].element.[propertyname]}"
 msgstr "{[aliasname].element.[propertyname]}"
 
-#: index.docbook:290
+#. Tag: literal
+#: query_sql.xml:290
+#, no-c-format
 msgid "NAME as {coll.element.name}"
 msgstr "NAME as {coll.element.name}"
 
-#: index.docbook:294
+#. Tag: entry
+#: query_sql.xml:294
+#, no-c-format
 msgid "All properties of the element in the collection"
 msgstr "콜렉션 내에 있는 요소의 모든 프로퍼티들"
 
-#: index.docbook:296
+#. Tag: literal
+#: query_sql.xml:296
+#, no-c-format
 msgid "{[aliasname].element.*}"
 msgstr "{[aliasname].element.*}"
 
-#: index.docbook:298
+#. Tag: literal
+#: query_sql.xml:298
+#, no-c-format
 msgid "{coll.element.*}"
 msgstr "{coll.element.*}"
 
-#: index.docbook:302
+#. Tag: entry
+#: query_sql.xml:302
+#, no-c-format
 msgid "All properties of the the collection"
 msgstr "콜렉션의 모든 프로퍼티들"
 
-#: index.docbook:306
+#. Tag: literal
+#: query_sql.xml:306
+#, no-c-format
 msgid "{coll.*}"
 msgstr "{coll.*}"
 
-#: index.docbook:315
+#. Tag: title
+#: query_sql.xml:315
+#, no-c-format
 msgid "Returning non-managed entities"
 msgstr "non-managed 엔티티들을 반환하기"
 
-#: index.docbook:317
-msgid "It is possible to apply a ResultTransformer to native sql queries. Allowing it to e.g. return non-managed entities."
-msgstr "native sql 질의에 ResultTransformer를 적용하는 것이 가능하다. 예를 들어 non-managed 엔티티들을 반환하기 위해 ResultTransformer를 허용하는 것."
+#. Tag: para
+#: query_sql.xml:317
+#, no-c-format
+msgid ""
+"It is possible to apply a ResultTransformer to native sql queries. Allowing "
+"it to e.g. return non-managed entities."
+msgstr ""
+"native sql 질의에 ResultTransformer를 적용하는 것이 가능하다. 예를 들어 non-"
+"managed 엔티티들을 반환하기 위해 ResultTransformer를 허용하는 것."
 
-#: index.docbook:319
+#. Tag: programlisting
+#: query_sql.xml:319
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM CATS\")\n"
-      "        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM CATS\")\n"
+"        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
 msgstr ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM CATS\")\n"
-      "        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
 
-#: index.docbook:329
+#. Tag: para
+#: query_sql.xml:329
+#, no-c-format
 msgid "a result transformer"
 msgstr "결과 변환자(transformer)"
 
-#: index.docbook:333
-msgid "The above query will return a list of <literal>CatDTO</literal> which has been instantiated and injected the values of NAME and BIRTHNAME into its corresponding properties or fields."
-msgstr "위의 질의는 초기화되어 있고 NAME과 BIRTHNAME의 값들을 <literal>CatDTO</literal>의 대응하는 프로퍼티들과 필드들 속으로 주입시킨 <literal>CatDTO</literal>의 리스트를 반환할 것이다."
+#. Tag: para
+#: query_sql.xml:333
+#, no-c-format
+msgid ""
+"The above query will return a list of <literal>CatDTO</literal> which has "
+"been instantiated and injected the values of NAME and BIRTHNAME into its "
+"corresponding properties or fields."
+msgstr ""
+"위의 질의는 초기화되어 있고 NAME과 BIRTHNAME의 값들을 <literal>CatDTO</"
+"literal>의 대응하는 프로퍼티들과 필드들 속으로 주입시킨 <literal>CatDTO</"
+"literal>의 리스트를 반환할 것이다."
 
-#: index.docbook:340
+#. Tag: title
+#: query_sql.xml:340
+#, no-c-format
 msgid "Handling inheritance"
 msgstr "상속 처리하기"
 
-#: index.docbook:342
-msgid "Native sql queries which query for entities that is mapped as part of an inheritance must include all properties for the baseclass and all it subclasses."
-msgstr "상속의 부분으로서 매핑되는 엔티티들을 질의하는 native sql 질의들은 baseclass의 모든 프로퍼티들을 포함해야 하고 그 모든 것이 서브클래스화 되어야 한다."
+#. Tag: para
+#: query_sql.xml:342
+#, no-c-format
+msgid ""
+"Native sql queries which query for entities that is mapped as part of an "
+"inheritance must include all properties for the baseclass and all it "
+"subclasses."
+msgstr ""
+"상속의 부분으로서 매핑되는 엔티티들을 질의하는 native sql 질의들은 baseclass"
+"의 모든 프로퍼티들을 포함해야 하고 그 모든 것이 서브클래스화 되어야 한다."
 
-#: index.docbook:348
+#. Tag: title
+#: query_sql.xml:348
+#, no-c-format
 msgid "Parameters"
 msgstr "파라미터들"
 
-#: index.docbook:350
+#. Tag: para
+#: query_sql.xml:350
+#, no-c-format
 msgid "Native sql queries support positional as well as named parameters:"
-msgstr "Native sql 질의들은 위치 파라미터들 뿐만 아니라 명명된 파라미터들을 지원한다:"
+msgstr ""
+"Native sql 질의들은 위치 파라미터들 뿐만 아니라 명명된 파라미터들을 지원한다:"
 
-#: index.docbook:353
+#. Tag: programlisting
+#: query_sql.xml:353
+#, no-c-format
 msgid ""
-      "<![CDATA[Query query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME like ?\").addEntity(Cat.class);\n"
-      "List pusList = query.setString(0, \"Pus%\").list();\n"
-      "     \n"
-      "query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME like :name\").addEntity(Cat.class);\n"
-      "List pusList = query.setString(\"name\", \"Pus%\").list();          ]]>"
+"<![CDATA[Query query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME "
+"like ?\").addEntity(Cat.class);\n"
+"List pusList = query.setString(0, \"Pus%\").list();\n"
+"     \n"
+"query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME like :name\")."
+"addEntity(Cat.class);\n"
+"List pusList = query.setString(\"name\", \"Pus%\").list();          ]]>"
 msgstr ""
-      "<![CDATA[Query query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME like ?\").addEntity(Cat.class);\n"
-      "List pusList = query.setString(0, \"Pus%\").list();\n"
-      "     \n"
-      "query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME like :name\").addEntity(Cat.class);\n"
-      "List pusList = query.setString(\"name\", \"Pus%\").list();          ]]>"
 
-#: index.docbook:361
+#. Tag: title
+#: query_sql.xml:361
+#, no-c-format
 msgid "Named SQL queries"
 msgstr "명명된 SQL 질의들"
 
-#: index.docbook:363
-msgid "Named SQL queries may be defined in the mapping document and called in exactly the same way as a named HQL query. In this case, we do <emphasis>not</emphasis> need to call <literal>addEntity()</literal>."
-msgstr "명명된 SQL 질의들은 HQL 질의와 동일한 방법으로 매핑 문서 속에 정의될 수 있고 정확하게 호출될 수도 있다. 이 경우에, 우리는 <literal>addEntity()</literal> 호출을 필요로 하지 <emphasis>않는다</emphasis>."
+#. Tag: para
+#: query_sql.xml:363
+#, no-c-format
+msgid ""
+"Named SQL queries may be defined in the mapping document and called in "
+"exactly the same way as a named HQL query. In this case, we do "
+"<emphasis>not</emphasis> need to call <literal>addEntity()</literal>."
+msgstr ""
+"명명된 SQL 질의들은 HQL 질의와 동일한 방법으로 매핑 문서 속에 정의될 수 있고 "
+"정확하게 호출될 수도 있다. 이 경우에, 우리는 <literal>addEntity()</literal> "
+"호출을 필요로 하지 <emphasis>않는다</emphasis>."
 
-#: index.docbook:368
+#. Tag: programlisting
+#: query_sql.xml:368
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"persons\">\n"
-      "    <return alias=\"person\" class=\"eg.Person\"/>\n"
-      "    SELECT person.NAME AS {person.name},\n"
-      "           person.AGE AS {person.age},\n"
-      "           person.SEX AS {person.sex}\n"
-      "    FROM PERSON person\n"
-      "    WHERE person.NAME LIKE :namePattern\n"
-      "</sql-query>]]>"
+"<![CDATA[<sql-query name=\"persons\">\n"
+"    <return alias=\"person\" class=\"eg.Person\"/>\n"
+"    SELECT person.NAME AS {person.name},\n"
+"           person.AGE AS {person.age},\n"
+"           person.SEX AS {person.sex}\n"
+"    FROM PERSON person\n"
+"    WHERE person.NAME LIKE :namePattern\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"persons\">\n"
-      "    <return alias=\"person\" class=\"eg.Person\"/>\n"
-      "    SELECT person.NAME AS {person.name},\n"
-      "           person.AGE AS {person.age},\n"
-      "           person.SEX AS {person.sex}\n"
-      "    FROM PERSON person\n"
-      "    WHERE person.NAME LIKE :namePattern\n"
-      "</sql-query>]]>"
 
-#: index.docbook:370
+#. Tag: programlisting
+#: query_sql.xml:370
+#, no-c-format
 msgid ""
-      "<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
-      "    .setString(\"namePattern\", namePattern)\n"
-      "    .setMaxResults(50)\n"
-      "    .list();]]>"
+"<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
+"    .setString(\"namePattern\", namePattern)\n"
+"    .setMaxResults(50)\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
-      "    .setString(\"namePattern\", namePattern)\n"
-      "    .setMaxResults(50)\n"
-      "    .list();]]>"
 
-#: index.docbook:372
-msgid "The <literal>&lt;return-join&gt;</literal> and <literal>&lt;load-collection&gt;</literal> elements are used to join associations and define queries which initialize collections, respectively."
-msgstr "<literal>&lt;return-join&gt;</literal> 요소와 <literal>&lt;load-collection&gt;</literal> 요소는 연관들을 조인시키고 콜렉션들을 각각 초기화 시키는 질의들을 정의하는데 사용된다."
+#. Tag: para
+#: query_sql.xml:372
+#, no-c-format
+msgid ""
+"The <literal>&lt;return-join&gt;</literal> and <literal>&lt;load-"
+"collection&gt;</literal> elements are used to join associations and define "
+"queries which initialize collections, respectively."
+msgstr ""
+"<literal>&lt;return-join&gt;</literal> 요소와 <literal>&lt;load-"
+"collection&gt;</literal> 요소는 연관들을 조인시키고 콜렉션들을 각각 초기화 시"
+"키는 질의들을 정의하는데 사용된다."
 
-#: index.docbook:377
+#. Tag: programlisting
+#: query_sql.xml:377
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"personsWith\">\n"
-      "    <return alias=\"person\" class=\"eg.Person\"/>\n"
-      "    <return-join alias=\"address\" property=\"person.mailingAddress\"/>\n"
-      "    SELECT person.NAME AS {person.name},\n"
-      "           person.AGE AS {person.age},\n"
-      "           person.SEX AS {person.sex},\n"
-      "           address.STREET AS {address.street},\n"
-      "           address.CITY AS {address.city},\n"
-      "           address.STATE AS {address.state},\n"
-      "           address.ZIP AS {address.zip}\n"
-      "    FROM PERSON person\n"
-      "    JOIN ADDRESS address\n"
-      "        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'\n"
-      "    WHERE person.NAME LIKE :namePattern\n"
-      "</sql-query>]]>"
+"<![CDATA[<sql-query name=\"personsWith\">\n"
+"    <return alias=\"person\" class=\"eg.Person\"/>\n"
+"    <return-join alias=\"address\" property=\"person.mailingAddress\"/>\n"
+"    SELECT person.NAME AS {person.name},\n"
+"           person.AGE AS {person.age},\n"
+"           person.SEX AS {person.sex},\n"
+"           address.STREET AS {address.street},\n"
+"           address.CITY AS {address.city},\n"
+"           address.STATE AS {address.state},\n"
+"           address.ZIP AS {address.zip}\n"
+"    FROM PERSON person\n"
+"    JOIN ADDRESS address\n"
+"        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'\n"
+"    WHERE person.NAME LIKE :namePattern\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"personsWith\">\n"
-      "    <return alias=\"person\" class=\"eg.Person\"/>\n"
-      "    <return-join alias=\"address\" property=\"person.mailingAddress\"/>\n"
-      "    SELECT person.NAME AS {person.name},\n"
-      "           person.AGE AS {person.age},\n"
-      "           person.SEX AS {person.sex},\n"
-      "           address.STREET AS {address.street},\n"
-      "           address.CITY AS {address.city},\n"
-      "           address.STATE AS {address.state},\n"
-      "           address.ZIP AS {address.zip}\n"
-      "    FROM PERSON person\n"
-      "    JOIN ADDRESS address\n"
-      "        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'\n"
-      "    WHERE person.NAME LIKE :namePattern\n"
-      "</sql-query>]]>"
 
-#: index.docbook:379
-msgid "A named SQL query may return a scalar value. You must declare the column alias and Hibernate type using the <literal>&lt;return-scalar&gt;</literal> element:"
-msgstr "명명된 SQL 질의는 스칼라 값을 반환할수도 있다. 당신은 <literal>&lt;return-scalar&gt;</literal> 요소를 사용하여 컬럼 alias와 Hibernate 타입을 선언해야 한다:"
+#. Tag: para
+#: query_sql.xml:379
+#, no-c-format
+msgid ""
+"A named SQL query may return a scalar value. You must declare the column "
+"alias and Hibernate type using the <literal>&lt;return-scalar&gt;</literal> "
+"element:"
+msgstr ""
+"명명된 SQL 질의는 스칼라 값을 반환할수도 있다. 당신은 <literal>&lt;return-"
+"scalar&gt;</literal> 요소를 사용하여 컬럼 alias와 Hibernate 타입을 선언해야 "
+"한다:"
 
-#: index.docbook:383
+#. Tag: programlisting
+#: query_sql.xml:383
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"mySqlQuery\">\n"
-      "    <return-scalar column=\"name\" type=\"string\"/>\n"
-      "    <return-scalar column=\"age\" type=\"long\"/>\n"
-      "    SELECT p.NAME AS name,\n"
-      "           p.AGE AS age,\n"
-      "    FROM PERSON p WHERE p.NAME LIKE 'Hiber%'\n"
-      "</sql-query>]]>"
+"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
+"    <return-scalar column=\"name\" type=\"string\"/>\n"
+"    <return-scalar column=\"age\" type=\"long\"/>\n"
+"    SELECT p.NAME AS name,\n"
+"           p.AGE AS age,\n"
+"    FROM PERSON p WHERE p.NAME LIKE 'Hiber%'\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"mySqlQuery\">\n"
-      "    <return-scalar column=\"name\" type=\"string\"/>\n"
-      "    <return-scalar column=\"age\" type=\"long\"/>\n"
-      "    SELECT p.NAME AS name,\n"
-      "           p.AGE AS age,\n"
-      "    FROM PERSON p WHERE p.NAME LIKE 'Hiber%'\n"
-      "</sql-query>]]>"
 
-#: index.docbook:385
-msgid "You can externalize the resultset mapping informations in a <literal>&lt;resultset&gt;</literal> element to either reuse them accross several named queries or through the <literal>setResultSetMapping()</literal> API."
-msgstr "당신은 여러 개의 명명된 질의들을 가로질러 재사용하거나 <literal>setResultSetMapping()</literal> API를 통해 결과셋 매핑정보들을 재사용하기 위해 <literal>&lt;resultset&gt;</literal> 요소 속에 결과셋 매핑 정보들을 구체화 시킬 수 있다."
+#. Tag: para
+#: query_sql.xml:385
+#, no-c-format
+msgid ""
+"You can externalize the resultset mapping informations in a <literal>&lt;"
+"resultset&gt;</literal> element to either reuse them accross several named "
+"queries or through the <literal>setResultSetMapping()</literal> API."
+msgstr ""
+"당신은 여러 개의 명명된 질의들을 가로질러 재사용하거나 "
+"<literal>setResultSetMapping()</literal> API를 통해 결과셋 매핑정보들을 재사"
+"용하기 위해 <literal>&lt;resultset&gt;</literal> 요소 속에 결과셋 매핑 정보들"
+"을 구체화 시킬 수 있다."
 
-#: index.docbook:390
+#. Tag: programlisting
+#: query_sql.xml:390
+#, no-c-format
 msgid ""
-      "<![CDATA[<resultset name=\"personAddress\">\n"
-      "    <return alias=\"person\" class=\"eg.Person\"/>\n"
-      "    <return-join alias=\"address\" property=\"person.mailingAddress\"/>\n"
-      "</resultset>\n"
-      "\n"
-      "<sql-query name=\"personsWith\" resultset-ref=\"personAddress\">\n"
-      "    SELECT person.NAME AS {person.name},\n"
-      "           person.AGE AS {person.age},\n"
-      "           person.SEX AS {person.sex},\n"
-      "           address.STREET AS {address.street},\n"
-      "           address.CITY AS {address.city},\n"
-      "           address.STATE AS {address.state},\n"
-      "           address.ZIP AS {address.zip}\n"
-      "    FROM PERSON person\n"
-      "    JOIN ADDRESS address\n"
-      "        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'\n"
-      "    WHERE person.NAME LIKE :namePattern\n"
-      "</sql-query>]]>"
+"<![CDATA[<resultset name=\"personAddress\">\n"
+"    <return alias=\"person\" class=\"eg.Person\"/>\n"
+"    <return-join alias=\"address\" property=\"person.mailingAddress\"/>\n"
+"</resultset>\n"
+"\n"
+"<sql-query name=\"personsWith\" resultset-ref=\"personAddress\">\n"
+"    SELECT person.NAME AS {person.name},\n"
+"           person.AGE AS {person.age},\n"
+"           person.SEX AS {person.sex},\n"
+"           address.STREET AS {address.street},\n"
+"           address.CITY AS {address.city},\n"
+"           address.STATE AS {address.state},\n"
+"           address.ZIP AS {address.zip}\n"
+"    FROM PERSON person\n"
+"    JOIN ADDRESS address\n"
+"        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'\n"
+"    WHERE person.NAME LIKE :namePattern\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<resultset name=\"personAddress\">\n"
-      "    <return alias=\"person\" class=\"eg.Person\"/>\n"
-      "    <return-join alias=\"address\" property=\"person.mailingAddress\"/>\n"
-      "</resultset>\n"
-      "\n"
-      "<sql-query name=\"personsWith\" resultset-ref=\"personAddress\">\n"
-      "    SELECT person.NAME AS {person.name},\n"
-      "           person.AGE AS {person.age},\n"
-      "           person.SEX AS {person.sex},\n"
-      "           address.STREET AS {address.street},\n"
-      "           address.CITY AS {address.city},\n"
-      "           address.STATE AS {address.state},\n"
-      "           address.ZIP AS {address.zip}\n"
-      "    FROM PERSON person\n"
-      "    JOIN ADDRESS address\n"
-      "        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'\n"
-      "    WHERE person.NAME LIKE :namePattern\n"
-      "</sql-query>]]>"
 
-#: index.docbook:392
-msgid "You can alternatively use the resultset mapping information in your hbm files directly in java code."
-msgstr "다른방법으로 당신은 당신의 hbm 파일들 내에 직접 자바 코드로 된 결과셋 매핑 정보를 사용할 수 있다."
+#. Tag: para
+#: query_sql.xml:392
+#, no-c-format
+msgid ""
+"You can alternatively use the resultset mapping information in your hbm "
+"files directly in java code."
+msgstr ""
+"다른방법으로 당신은 당신의 hbm 파일들 내에 직접 자바 코드로 된 결과셋 매핑 정"
+"보를 사용할 수 있다."
 
-#: index.docbook:395
+#. Tag: programlisting
+#: query_sql.xml:395
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = sess.createSQLQuery(\n"
-      "        \"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id\"\n"
-      "    )\n"
-      "    .setResultSetMapping(\"catAndKitten\")\n"
-      "    .list();]]>"
+"<![CDATA[List cats = sess.createSQLQuery(\n"
+"        \"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten."
+"mother = cat.id\"\n"
+"    )\n"
+"    .setResultSetMapping(\"catAndKitten\")\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[List cats = sess.createSQLQuery(\n"
-      "        \"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id\"\n"
-      "    )\n"
-      "    .setResultSetMapping(\"catAndKitten\")\n"
-      "    .list();]]>"
 
-#: index.docbook:398
+#. Tag: title
+#: query_sql.xml:398
+#, no-c-format
 msgid "Using return-property to explicitly specify column/alias names"
 msgstr "명시적으로 column/alias 이름들을 지정하는데 return-property 사용하기"
 
-#: index.docbook:401
-msgid "With <literal>&lt;return-property&gt;</literal> you can explicitly tell Hibernate what column aliases to use, instead of using the <literal>{}</literal>-syntax to let Hibernate inject its own aliases."
-msgstr "Hibernate로 하여금 그것 자신의 alias들을 끼워넣도록 하기 위해 <literal>{}</literal>-구문을 사용하는 것 대신에, <literal>&lt;return-property&gt;</literal>로서 당신은 사용할 컬럼 alias들이 무엇인지를 Hibernate에게 명시적으로 알려줄 수 있다."
+#. Tag: para
+#: query_sql.xml:401
+#, no-c-format
+msgid ""
+"With <literal>&lt;return-property&gt;</literal> you can explicitly tell "
+"Hibernate what column aliases to use, instead of using the <literal>{}</"
+"literal>-syntax to let Hibernate inject its own aliases."
+msgstr ""
+"Hibernate로 하여금 그것 자신의 alias들을 끼워넣도록 하기 위해 <literal>{}</"
+"literal>-구문을 사용하는 것 대신에, <literal>&lt;return-property&gt;</"
+"literal>로서 당신은 사용할 컬럼 alias들이 무엇인지를 Hibernate에게 명시적으"
+"로 알려줄 수 있다."
 
-#: index.docbook:406
+#. Tag: programlisting
+#: query_sql.xml:406
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"mySqlQuery\">\n"
-      "    <return alias=\"person\" class=\"eg.Person\">\n"
-      "        <return-property name=\"name\" column=\"myName\"/>\n"
-      "        <return-property name=\"age\" column=\"myAge\"/>\n"
-      "        <return-property name=\"sex\" column=\"mySex\"/>\n"
-      "    </return>\n"
-      "    SELECT person.NAME AS myName,\n"
-      "           person.AGE AS myAge,\n"
-      "           person.SEX AS mySex,\n"
-      "    FROM PERSON person WHERE person.NAME LIKE :name\n"
-      "</sql-query>\n"
-      "]]>"
+"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
+"    <return alias=\"person\" class=\"eg.Person\">\n"
+"        <return-property name=\"name\" column=\"myName\"/>\n"
+"        <return-property name=\"age\" column=\"myAge\"/>\n"
+"        <return-property name=\"sex\" column=\"mySex\"/>\n"
+"    </return>\n"
+"    SELECT person.NAME AS myName,\n"
+"           person.AGE AS myAge,\n"
+"           person.SEX AS mySex,\n"
+"    FROM PERSON person WHERE person.NAME LIKE :name\n"
+"</sql-query>\n"
+"]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"mySqlQuery\">\n"
-      "    <return alias=\"person\" class=\"eg.Person\">\n"
-      "        <return-property name=\"name\" column=\"myName\"/>\n"
-      "        <return-property name=\"age\" column=\"myAge\"/>\n"
-      "        <return-property name=\"sex\" column=\"mySex\"/>\n"
-      "    </return>\n"
-      "    SELECT person.NAME AS myName,\n"
-      "           person.AGE AS myAge,\n"
-      "           person.SEX AS mySex,\n"
-      "    FROM PERSON person WHERE person.NAME LIKE :name\n"
-      "</sql-query>\n"
-      "]]>"
 
-#: index.docbook:408
-msgid "<literal>&lt;return-property&gt;</literal> also works with multiple columns. This solves a limitation with the <literal>{}</literal>-syntax which can not allow fine grained control of multi-column properties."
-msgstr "<literal>&lt;return-property&gt;</literal>는 또한 다중 컬럼들에 대해 동작한다. 이것은 다중-컬럼 프로퍼티들에 대한 fine grained 제어를 허용할 수 없는 <literal>{}</literal>-구문을 가진 제약을 해결해준다."
+#. Tag: para
+#: query_sql.xml:408
+#, no-c-format
+msgid ""
+"<literal>&lt;return-property&gt;</literal> also works with multiple columns. "
+"This solves a limitation with the <literal>{}</literal>-syntax which can not "
+"allow fine grained control of multi-column properties."
+msgstr ""
+"<literal>&lt;return-property&gt;</literal>는 또한 다중 컬럼들에 대해 동작한"
+"다. 이것은 다중-컬럼 프로퍼티들에 대한 fine grained 제어를 허용할 수 없는 "
+"<literal>{}</literal>-구문을 가진 제약을 해결해준다."
 
-#: index.docbook:413
+#. Tag: programlisting
+#: query_sql.xml:413
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"organizationCurrentEmployments\">\n"
-      "    <return alias=\"emp\" class=\"Employment\">\n"
-      "        <return-property name=\"salary\">\n"
-      "            <return-column name=\"VALUE\"/>\n"
-      "            <return-column name=\"CURRENCY\"/>\n"
-      "        </return-property>\n"
-      "        <return-property name=\"endDate\" column=\"myEndDate\"/>\n"
-      "    </return>\n"
-      "        SELECT EMPLOYEE AS {emp.employee}, EMPLOYER AS {emp.employer},\n"
-      "        STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate},\n"
-      "        REGIONCODE as {emp.regionCode}, EID AS {emp.id}, VALUE, CURRENCY\n"
-      "        FROM EMPLOYMENT\n"
-      "        WHERE EMPLOYER = :id AND ENDDATE IS NULL\n"
-      "        ORDER BY STARTDATE ASC\n"
-      "</sql-query>]]>"
+"<![CDATA[<sql-query name=\"organizationCurrentEmployments\">\n"
+"    <return alias=\"emp\" class=\"Employment\">\n"
+"        <return-property name=\"salary\">\n"
+"            <return-column name=\"VALUE\"/>\n"
+"            <return-column name=\"CURRENCY\"/>\n"
+"        </return-property>\n"
+"        <return-property name=\"endDate\" column=\"myEndDate\"/>\n"
+"    </return>\n"
+"        SELECT EMPLOYEE AS {emp.employee}, EMPLOYER AS {emp.employer},\n"
+"        STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate},\n"
+"        REGIONCODE as {emp.regionCode}, EID AS {emp.id}, VALUE, CURRENCY\n"
+"        FROM EMPLOYMENT\n"
+"        WHERE EMPLOYER = :id AND ENDDATE IS NULL\n"
+"        ORDER BY STARTDATE ASC\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"organizationCurrentEmployments\">\n"
-      "    <return alias=\"emp\" class=\"Employment\">\n"
-      "        <return-property name=\"salary\">\n"
-      "            <return-column name=\"VALUE\"/>\n"
-      "            <return-column name=\"CURRENCY\"/>\n"
-      "        </return-property>\n"
-      "        <return-property name=\"endDate\" column=\"myEndDate\"/>\n"
-      "    </return>\n"
-      "        SELECT EMPLOYEE AS {emp.employee}, EMPLOYER AS {emp.employer},\n"
-      "        STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate},\n"
-      "        REGIONCODE as {emp.regionCode}, EID AS {emp.id}, VALUE, CURRENCY\n"
-      "        FROM EMPLOYMENT\n"
-      "        WHERE EMPLOYER = :id AND ENDDATE IS NULL\n"
-      "        ORDER BY STARTDATE ASC\n"
-      "</sql-query>]]>"
 
-#: index.docbook:415
-msgid "Notice that in this example we used <literal>&lt;return-property&gt;</literal> in combination with the <literal>{}</literal>-syntax for injection. Allowing users to choose how they want to refer column and properties."
-msgstr "이 예제에서 우리는 끼워넣기(injection)를 위해 <literal>{}</literal>-구문과 함께 <literal>&lt;return-property&gt;</literal>를 사용했음을 주목하라. 사용자들이 컬럼과 프로퍼티들을 참조하고자 원하는 방법을 선택하는 것을 사용자들에게 허용해줌으로써."
+#. Tag: para
+#: query_sql.xml:415
+#, no-c-format
+msgid ""
+"Notice that in this example we used <literal>&lt;return-property&gt;</"
+"literal> in combination with the <literal>{}</literal>-syntax for injection. "
+"Allowing users to choose how they want to refer column and properties."
+msgstr ""
+"이 예제에서 우리는 끼워넣기(injection)를 위해 <literal>{}</literal>-구문과 함"
+"께 <literal>&lt;return-property&gt;</literal>를 사용했음을 주목하라. 사용자들"
+"이 컬럼과 프로퍼티들을 참조하고자 원하는 방법을 선택하는 것을 사용자들에게 허"
+"용해줌으로써."
 
-#: index.docbook:420
-msgid "If your mapping has a discriminator you must use <literal>&lt;return-discriminator&gt;</literal> to specify the discriminator column."
-msgstr "만일 당신의 매핑이 한 개의 판별자(discriminator )를 가질 경우 당신은 판별자 컬럼을 지정하는데 <literal>&lt;return-discriminator&gt;</literal>를 사용해야 한다."
+#. Tag: para
+#: query_sql.xml:420
+#, no-c-format
+msgid ""
+"If your mapping has a discriminator you must use <literal>&lt;return-"
+"discriminator&gt;</literal> to specify the discriminator column."
+msgstr ""
+"만일 당신의 매핑이 한 개의 판별자(discriminator )를 가질 경우 당신은 판별자 "
+"컬럼을 지정하는데 <literal>&lt;return-discriminator&gt;</literal>를 사용해야 "
+"한다."
 
-#: index.docbook:426
+#. Tag: title
+#: query_sql.xml:426
+#, no-c-format
 msgid "Using stored procedures for querying"
 msgstr "질의를 위한 내장 프로시저 사용하기"
 
-#: index.docbook:428
-msgid "Hibernate 3 introduces support for queries via stored procedures and functions. Most of the following documentation is equivalent for both. The stored procedure/function must return a resultset as the first out-parameter to be able to work with Hibernate. An example of such a stored function in Oracle 9 and higher is as follows:"
-msgstr "Hibernate 3은 내장 프로시저들과 함수들을 통한 질의 지원을 도입한다. 대부분의 다음 문서는 양자 모두에 동일하게 적용된다. 내장 프로시저/함수는 Hibernate와 동작하는 것이 가능하도록 첫 번째 out-파라미터로서 한 개의 결과셋을 반환해야 한다. Oracle9 이상의 버전에서 그런 내장 프로시저에 대한 예제는 다음과 같다:"
+#. Tag: para
+#: query_sql.xml:428
+#, no-c-format
+msgid ""
+"Hibernate 3 introduces support for queries via stored procedures and "
+"functions. Most of the following documentation is equivalent for both. The "
+"stored procedure/function must return a resultset as the first out-parameter "
+"to be able to work with Hibernate. An example of such a stored function in "
+"Oracle 9 and higher is as follows:"
+msgstr ""
+"Hibernate 3은 내장 프로시저들과 함수들을 통한 질의 지원을 도입한다. 대부분의 "
+"다음 문서는 양자 모두에 동일하게 적용된다. 내장 프로시저/함수는 Hibernate와 "
+"동작하는 것이 가능하도록 첫 번째 out-파라미터로서 한 개의 결과셋을 반환해야 "
+"한다. Oracle9 이상의 버전에서 그런 내장 프로시저에 대한 예제는 다음과 같다:"
 
-#: index.docbook:434
+#. Tag: programlisting
+#: query_sql.xml:434
+#, no-c-format
 msgid ""
-      "<![CDATA[CREATE OR REPLACE FUNCTION selectAllEmployments\n"
-      "    RETURN SYS_REFCURSOR\n"
-      "AS\n"
-      "    st_cursor SYS_REFCURSOR;\n"
-      "BEGIN\n"
-      "    OPEN st_cursor FOR\n"
-      " SELECT EMPLOYEE, EMPLOYER,\n"
-      " STARTDATE, ENDDATE,\n"
-      " REGIONCODE, EID, VALUE, CURRENCY\n"
-      " FROM EMPLOYMENT;\n"
-      "      RETURN  st_cursor;\n"
-      " END;]]>"
+"<![CDATA[CREATE OR REPLACE FUNCTION selectAllEmployments\n"
+"    RETURN SYS_REFCURSOR\n"
+"AS\n"
+"    st_cursor SYS_REFCURSOR;\n"
+"BEGIN\n"
+"    OPEN st_cursor FOR\n"
+" SELECT EMPLOYEE, EMPLOYER,\n"
+" STARTDATE, ENDDATE,\n"
+" REGIONCODE, EID, VALUE, CURRENCY\n"
+" FROM EMPLOYMENT;\n"
+"      RETURN  st_cursor;\n"
+" END;]]>"
 msgstr ""
-      "<![CDATA[CREATE OR REPLACE FUNCTION selectAllEmployments\n"
-      "    RETURN SYS_REFCURSOR\n"
-      "AS\n"
-      "    st_cursor SYS_REFCURSOR;\n"
-      "BEGIN\n"
-      "    OPEN st_cursor FOR\n"
-      " SELECT EMPLOYEE, EMPLOYER,\n"
-      " STARTDATE, ENDDATE,\n"
-      " REGIONCODE, EID, VALUE, CURRENCY\n"
-      " FROM EMPLOYMENT;\n"
-      "      RETURN  st_cursor;\n"
-      " END;]]>"
 
-#: index.docbook:436
+#. Tag: para
+#: query_sql.xml:436
+#, no-c-format
 msgid "To use this query in Hibernate you need to map it via a named query."
-msgstr "Hibernate에서 이 질의를 사용하기 위해 당신은 하나의 명명된 질의(a named query)를 통해 그것을 매핑할 필요가 있다."
+msgstr ""
+"Hibernate에서 이 질의를 사용하기 위해 당신은 하나의 명명된 질의(a named "
+"query)를 통해 그것을 매핑할 필요가 있다."
 
-#: index.docbook:439
+#. Tag: programlisting
+#: query_sql.xml:439
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"selectAllEmployees_SP\" callable=\"true\">\n"
-      "    <return alias=\"emp\" class=\"Employment\">\n"
-      "        <return-property name=\"employee\" column=\"EMPLOYEE\"/>\n"
-      "        <return-property name=\"employer\" column=\"EMPLOYER\"/>\n"
-      "        <return-property name=\"startDate\" column=\"STARTDATE\"/>\n"
-      "        <return-property name=\"endDate\" column=\"ENDDATE\"/>\n"
-      "        <return-property name=\"regionCode\" column=\"REGIONCODE\"/>\n"
-      "        <return-property name=\"id\" column=\"EID\"/>\n"
-      "        <return-property name=\"salary\">\n"
-      "            <return-column name=\"VALUE\"/>\n"
-      "            <return-column name=\"CURRENCY\"/>\n"
-      "        </return-property>\n"
-      "    </return>\n"
-      "    { ? = call selectAllEmployments() }\n"
-      "</sql-query>]]>"
+"<![CDATA[<sql-query name=\"selectAllEmployees_SP\" callable=\"true\">\n"
+"    <return alias=\"emp\" class=\"Employment\">\n"
+"        <return-property name=\"employee\" column=\"EMPLOYEE\"/>\n"
+"        <return-property name=\"employer\" column=\"EMPLOYER\"/>\n"
+"        <return-property name=\"startDate\" column=\"STARTDATE\"/>\n"
+"        <return-property name=\"endDate\" column=\"ENDDATE\"/>\n"
+"        <return-property name=\"regionCode\" column=\"REGIONCODE\"/>\n"
+"        <return-property name=\"id\" column=\"EID\"/>\n"
+"        <return-property name=\"salary\">\n"
+"            <return-column name=\"VALUE\"/>\n"
+"            <return-column name=\"CURRENCY\"/>\n"
+"        </return-property>\n"
+"    </return>\n"
+"    { ? = call selectAllEmployments() }\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"selectAllEmployees_SP\" callable=\"true\">\n"
-      "    <return alias=\"emp\" class=\"Employment\">\n"
-      "        <return-property name=\"employee\" column=\"EMPLOYEE\"/>\n"
-      "        <return-property name=\"employer\" column=\"EMPLOYER\"/>\n"
-      "        <return-property name=\"startDate\" column=\"STARTDATE\"/>\n"
-      "        <return-property name=\"endDate\" column=\"ENDDATE\"/>\n"
-      "        <return-property name=\"regionCode\" column=\"REGIONCODE\"/>\n"
-      "        <return-property name=\"id\" column=\"EID\"/>\n"
-      "        <return-property name=\"salary\">\n"
-      "            <return-column name=\"VALUE\"/>\n"
-      "            <return-column name=\"CURRENCY\"/>\n"
-      "        </return-property>\n"
-      "    </return>\n"
-      "    { ? = call selectAllEmployments() }\n"
-      "</sql-query>]]>"
 
-#: index.docbook:441
-msgid "Notice stored procedures currently only return scalars and entities. <literal>&lt;return-join&gt;</literal> and <literal>&lt;load-collection&gt;</literal> are not supported."
-msgstr "내장 프로시저들은 현재 스칼라들과 엔티티들 만을 반환함을 주목하라. <literal>&lt;return-join&gt;</literal>과 <literal>&lt;load-collection&gt;</literal>은 지원되지 않는다."
+#. Tag: para
+#: query_sql.xml:441
+#, no-c-format
+msgid ""
+"Notice stored procedures currently only return scalars and entities. "
+"<literal>&lt;return-join&gt;</literal> and <literal>&lt;load-collection&gt;</"
+"literal> are not supported."
+msgstr ""
+"내장 프로시저들은 현재 스칼라들과 엔티티들 만을 반환함을 주목하라. "
+"<literal>&lt;return-join&gt;</literal>ê³¼ <literal>&lt;load-collection&gt;</"
+"literal>은 지원되지 않는다."
 
-#: index.docbook:446
+#. Tag: title
+#: query_sql.xml:446
+#, no-c-format
 msgid "Rules/limitations for using stored procedures"
 msgstr "내장 프로시저들을 사용하는 규칙들/제약들"
 
-#: index.docbook:448
-msgid "To use stored procedures with Hibernate the procedures/functions have to follow some rules. If they do not follow those rules they are not usable with Hibernate. If you still want to use these procedures you have to execute them via <literal>session.connection()</literal>. The rules are different for each database, since database vendors have different stored procedure semantics/syntax."
-msgstr "Hibernate에서 내장 프로시저들을 사용하기 위해서 프로시저들/함수들은 다음 몇몇 규칙들을 따라야 한다. 만일 그것들이 그들 규칙들을 따르지 않을 경우 그것들은 Hibernate와 함께 사용 불가능하다. 만일 당신이 여전히 이들 프로시저들을 사용하고자 원할 경우, 당신은 <literal>session.connection()</literal>을 통해 그것들을 실행시켜야 한다. 데이터베이스 벤더들이 다른 내장 프로시저 의미론/구문을 갖고 있기 때문에, 규칙들은 각각의 데이터베이스에 따라 차이가 난다."
+#. Tag: para
+#: query_sql.xml:448
+#, no-c-format
+msgid ""
+"To use stored procedures with Hibernate the procedures/functions have to "
+"follow some rules. If they do not follow those rules they are not usable "
+"with Hibernate. If you still want to use these procedures you have to "
+"execute them via <literal>session.connection()</literal>. The rules are "
+"different for each database, since database vendors have different stored "
+"procedure semantics/syntax."
+msgstr ""
+"Hibernate에서 내장 프로시저들을 사용하기 위해서 프로시저들/함수들은 다음 몇"
+"몇 규칙들을 따라야 한다. 만일 그것들이 그들 규칙들을 따르지 않을 경우 그것들"
+"은 Hibernate와 함께 사용 불가능하다. 만일 당신이 여전히 이들 프로시저들을 사"
+"용하고자 원할 경우, 당신은 <literal>session.connection()</literal>을 통해 그"
+"것들을 실행시켜야 한다. 데이터베이스 벤더들이 다른 내장 프로시저 의미론/구문"
+"을 갖고 있기 때문에, 규칙들은 각각의 데이터베이스에 따라 차이가 난다."
 
-#: index.docbook:455
-msgid "Stored procedure queries can't be paged with <literal>setFirstResult()/setMaxResults()</literal>."
-msgstr "내장 프로시저 질의들은 <literal>setFirstResult()/setMaxResults()</literal>로서 쪽매김 될 수 없다."
+#. Tag: para
+#: query_sql.xml:455
+#, no-c-format
+msgid ""
+"Stored procedure queries can't be paged with <literal>setFirstResult()/"
+"setMaxResults()</literal>."
+msgstr ""
+"내장 프로시저 질의들은 <literal>setFirstResult()/setMaxResults()</literal>로"
+"서 쪽매김 될 수 없다."
 
-#: index.docbook:458
-msgid "Recommended call form is standard SQL92: <literal>{ ? = call functionName(&lt;parameters&gt;) }</literal> or <literal>{ ? = call procedureName(&lt;parameters&gt;}</literal>. Native call syntax is not supported."
-msgstr "권장되는 호출 형식은 표준 SQL92이다: <literal>{ ? = call functionName(&lt;parameters&gt;) }</literal> 또는 <literal>{ ? = call procedureName(&lt;parameters&gt;}</literal>. Native 호출 구문은 지원되지 않는다."
+#. Tag: para
+#: query_sql.xml:458
+#, no-c-format
+msgid ""
+"Recommended call form is standard SQL92: <literal>{ ? = call functionName"
+"(&lt;parameters&gt;) }</literal> or <literal>{ ? = call procedureName(&lt;"
+"parameters&gt;}</literal>. Native call syntax is not supported."
+msgstr ""
+"권장되는 호출 형식은 표준 SQL92이다: <literal>{ ? = call functionName(&lt;"
+"parameters&gt;) }</literal> 또는 <literal>{ ? = call procedureName(&lt;"
+"parameters&gt;}</literal>. Native 호출 구문은 지원되지 않는다."
 
-#: index.docbook:463
+#. Tag: para
+#: query_sql.xml:463
+#, no-c-format
 msgid "For Oracle the following rules apply:"
 msgstr "Oracle의 경우 다음 규칙들이 적용된다:"
 
-#: index.docbook:467
-msgid "A function must return a result set. The first parameter of a procedure must be an <literal>OUT</literal> that returns a result set. This is done by using a <literal>SYS_REFCURSOR</literal> type in Oracle 9 or 10. In Oracle you need to define a <literal>REF CURSOR</literal> type, see Oracle literature."
-msgstr "하나의 함수는 하나의 결과 셋을 반환해야 한다. 프로시저의 첫 번째 파라미터는 하나의 결과 셋을 반환하는 하나의 <literal>OUT</literal>이어야 한다. 이것은 Oracle 9 또는 10에서 하나의 <literal>SYS_REFCURSOR</literal>를 사용하여 행해진다. Oracle에서 당신은 <literal>REF CURSOR</literal> 타입을 정의할 필요가 있는데, Oracle 보고서를 보라."
+#. Tag: para
+#: query_sql.xml:467
+#, no-c-format
+msgid ""
+"A function must return a result set. The first parameter of a procedure must "
+"be an <literal>OUT</literal> that returns a result set. This is done by "
+"using a <literal>SYS_REFCURSOR</literal> type in Oracle 9 or 10. In Oracle "
+"you need to define a <literal>REF CURSOR</literal> type, see Oracle "
+"literature."
+msgstr ""
+"하나의 함수는 하나의 결과 셋을 반환해야 한다. 프로시저의 첫 번째 파라미터는 "
+"하나의 결과 셋을 반환하는 하나의 <literal>OUT</literal>이어야 한다. 이것은 "
+"Oracle 9 또는 10에서 하나의 <literal>SYS_REFCURSOR</literal>를 사용하여 행해"
+"진다. Oracle에서 당신은 <literal>REF CURSOR</literal> 타입을 정의할 필요가 있"
+"는데, Oracle 보고서를 보라."
 
-#: index.docbook:476
+#. Tag: para
+#: query_sql.xml:476
+#, no-c-format
 msgid "For Sybase or MS SQL server the following rules apply:"
 msgstr "Sybase 또는 MS SQL server의 경우 다음 규칙들이 적용된다:"
 
-#: index.docbook:480
-msgid "The procedure must return a result set. Note that since these servers can/will return multiple result sets and update counts, Hibernate will iterate the results and take the first result that is a result set as its return value. Everything else will be discarded."
-msgstr "프로시저는 한 개의 결과 셋을 반환해야 한다. 이들 서버들이 여러 개의 결과셋들과 업데이트 카운트들을 반환 할수 있다/할 것이이므로, Hibernate는 결과들을 반복 순환할 것이고 그것의 반환 값으로서 하나의 결과 셋인 첫 번째 결과를 취할 것이다. 그 밖의 모든 것은 폐기될 것이다."
+#. Tag: para
+#: query_sql.xml:480
+#, no-c-format
+msgid ""
+"The procedure must return a result set. Note that since these servers can/"
+"will return multiple result sets and update counts, Hibernate will iterate "
+"the results and take the first result that is a result set as its return "
+"value. Everything else will be discarded."
+msgstr ""
+"프로시저는 한 개의 결과 셋을 반환해야 한다. 이들 서버들이 여러 개의 결과셋들"
+"과 업데이트 카운트들을 반환 할수 있다/할 것이이므로, Hibernate는 결과들을 반"
+"복 순환할 것이고 그것의 반환 값으로서 하나의 결과 셋인 첫 번째 결과를 취할 것"
+"이다. 그 밖의 모든 것은 폐기될 것이다."
 
-#: index.docbook:488
-msgid "If you can enable <literal>SET NOCOUNT ON</literal> in your procedure it will probably be more efficient, but this is not a requirement."
-msgstr "만일 당신이 당신의 프로시저 내에 <literal>SET NOCOUNT ON</literal>을 이용 가능하게 할 수 있다면 그것은 아마 보다 효율적이게 될 것이지만 이것은 필요 조건이 아니다."
+#. Tag: para
+#: query_sql.xml:488
+#, no-c-format
+msgid ""
+"If you can enable <literal>SET NOCOUNT ON</literal> in your procedure it "
+"will probably be more efficient, but this is not a requirement."
+msgstr ""
+"만일 당신이 당신의 프로시저 내에 <literal>SET NOCOUNT ON</literal>을 이용 가"
+"능하게 할 수 있다면 그것은 아마 보다 효율적이게 될 것이지만 이것은 필요 조건"
+"이 아니다."
 
-#: index.docbook:498
+#. Tag: title
+#: query_sql.xml:498
+#, no-c-format
 msgid "Custom SQL for create, update and delete"
 msgstr "create, update 그리고 delete를 위한 맞춤형 SQL"
 
-#: index.docbook:500
-msgid "Hibernate3 can use custom SQL statements for create, update, and delete operations. The class and collection persisters in Hibernate already contain a set of configuration time generated strings (insertsql, deletesql, updatesql etc.). The mapping tags <literal>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</literal>, and <literal>&lt;sql-update&gt;</literal> override these strings:"
-msgstr "Hibernate3는 create, update, delete 오퍼레이션들을 위한 맞춤형 문장들을 사용할 수 있다. Hibernate에서 클래스와 콜렉션 영속자들은 구성 시에 생성된 문자열들의 집합(insertsql, deletesql, updatesql 등)을 이미 포함하고 있다. <literal>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</literal>, <literal>&lt;sql-update&gt;</literal> 매핑 태그들은 이들 문자열들을 오버라이드 시킨다:"
+#. Tag: para
+#: query_sql.xml:500
+#, no-c-format
+msgid ""
+"Hibernate3 can use custom SQL statements for create, update, and delete "
+"operations. The class and collection persisters in Hibernate already contain "
+"a set of configuration time generated strings (insertsql, deletesql, "
+"updatesql etc.). The mapping tags <literal>&lt;sql-insert&gt;</literal>, "
+"<literal>&lt;sql-delete&gt;</literal>, and <literal>&lt;sql-update&gt;</"
+"literal> override these strings:"
+msgstr ""
+"Hibernate3는 create, update, delete 오퍼레이션들을 위한 맞춤형 문장들을 사용"
+"할 수 있다. Hibernate에서 클래스와 콜렉션 영속자들은 구성 시에 생성된 문자열"
+"들의 집합(insertsql, deletesql, updatesql 등)을 이미 포함하고 있다. "
+"<literal>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</"
+"literal>, <literal>&lt;sql-update&gt;</literal> 매핑 태그들은 이들 문자열들"
+"을 오버라이드 시킨다:"
 
-#: index.docbook:508
+#. Tag: programlisting
+#: query_sql.xml:508
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"increment\"/>\n"
-      "    </id>\n"
-      "    <property name=\"name\" not-null=\"true\"/>\n"
-      "    <sql-insert>INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ? )</sql-insert>\n"
-      "    <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE ID=?</sql-update>\n"
-      "    <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\">\n"
+"        <generator class=\"increment\"/>\n"
+"    </id>\n"
+"    <property name=\"name\" not-null=\"true\"/>\n"
+"    <sql-insert>INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ? )</sql-"
+"insert>\n"
+"    <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE ID=?</sql-update>\n"
+"    <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"increment\"/>\n"
-      "    </id>\n"
-      "    <property name=\"name\" not-null=\"true\"/>\n"
-      "    <sql-insert>INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ? )</sql-insert>\n"
-      "    <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE ID=?</sql-update>\n"
-      "    <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>\n"
-      "</class>]]>"
 
-#: index.docbook:510
-msgid "The SQL is directly executed in your database, so you are free to use any dialect you like. This will of course reduce the portability of your mapping if you use database specific SQL."
-msgstr "SQL이 당신의 데이터베이스 내에서 직접 실행되어서, 당신이 좋아하는 임의의 dialect를 사용하는 것이 자유롭다. 만일 당신이 데이터베이스 지정적인 SQL을 사용할 경우 이것은 물론 당신의 매핑의 이식성을 감소시킬 것이다."
+#. Tag: para
+#: query_sql.xml:510
+#, no-c-format
+msgid ""
+"The SQL is directly executed in your database, so you are free to use any "
+"dialect you like. This will of course reduce the portability of your mapping "
+"if you use database specific SQL."
+msgstr ""
+"SQL이 당신의 데이터베이스 내에서 직접 실행되어서, 당신이 좋아하는 임의의 "
+"dialect를 사용하는 것이 자유롭다. 만일 당신이 데이터베이스 지정적인 SQL을 사"
+"용할 경우 이것은 물론 당신의 매핑의 이식성을 감소시킬 것이다."
 
-#: index.docbook:514
-msgid "Stored procedures are supported if the <literal>callable</literal> attribute is set:"
-msgstr "만일 <literal>callable</literal> 속성이 설정되면 내장 프로시저들이 지원된다:"
+#. Tag: para
+#: query_sql.xml:514
+#, no-c-format
+msgid ""
+"Stored procedures are supported if the <literal>callable</literal> attribute "
+"is set:"
+msgstr ""
+"만일 <literal>callable</literal> 속성이 설정되면 내장 프로시저들이 지원된다:"
 
-#: index.docbook:517
+#. Tag: programlisting
+#: query_sql.xml:517
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"increment\"/>\n"
-      "    </id>\n"
-      "    <property name=\"name\" not-null=\"true\"/>\n"
-      "    <sql-insert callable=\"true\">{call createPerson (?, ?)}</sql-insert>\n"
-      "    <sql-delete callable=\"true\">{? = call deletePerson (?)}</sql-delete>\n"
-      "    <sql-update callable=\"true\">{? = call updatePerson (?, ?)}</sql-update>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\">\n"
+"        <generator class=\"increment\"/>\n"
+"    </id>\n"
+"    <property name=\"name\" not-null=\"true\"/>\n"
+"    <sql-insert callable=\"true\">{call createPerson (?, ?)}</sql-insert>\n"
+"    <sql-delete callable=\"true\">{? = call deletePerson (?)}</sql-delete>\n"
+"    <sql-update callable=\"true\">{? = call updatePerson (?, ?)}</sql-"
+"update>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"increment\"/>\n"
-      "    </id>\n"
-      "    <property name=\"name\" not-null=\"true\"/>\n"
-      "    <sql-insert callable=\"true\">{call createPerson (?, ?)}</sql-insert>\n"
-      "    <sql-delete callable=\"true\">{? = call deletePerson (?)}</sql-delete>\n"
-      "    <sql-update callable=\"true\">{? = call updatePerson (?, ?)}</sql-update>\n"
-      "</class>]]>"
 
-#: index.docbook:519
-msgid "The order of the positional parameters are currently vital, as they must be in the same sequence as Hibernate expects them."
-msgstr "위치 파라미터들은 Hibernate가 그것들을 기대하는 것과 같은 순서가 되어야 하므로, 위치 파라미터들의 순서는 현재 절대적으로 중요하다."
+#. Tag: para
+#: query_sql.xml:519
+#, no-c-format
+msgid ""
+"The order of the positional parameters are currently vital, as they must be "
+"in the same sequence as Hibernate expects them."
+msgstr ""
+"위치 파라미터들은 Hibernate가 그것들을 기대하는 것과 같은 순서가 되어야 하므"
+"로, 위치 파라미터들의 순서는 현재 절대적으로 중요하다."
 
-#: index.docbook:522
-msgid "You can see the expected order by enabling debug logging for the <literal>org.hibernate.persister.entity</literal> level. With this level enabled Hibernate will print out the static SQL that is used to create, update, delete etc. entities. (To see the expected sequence, remember to not include your custom SQL in the mapping files as that will override the Hibernate generated static sql.)"
-msgstr "당신은 <literal>org.hiberate.persister.entity</literal> 레벨로 디버그 로깅을 사용 가능하게 함으로써 예상된 순서를 볼 수 있다. 이 레벨을 이용 가능하게 하면 Hibernate는 엔티티들을 생성시키고, 업데이트하고, 삭제하는데 사용되는 정적인 SQL을 출력할 것이다. (예상되는 결과를 보려면, Hibernate 생성된 정적인 sql을 오버라이드 시키게 매핑 파일들 속에 당신의 맞춤형 SQL을 포함시키지 않도록 염두에 두라.)"
+#. Tag: para
+#: query_sql.xml:522
+#, no-c-format
+msgid ""
+"You can see the expected order by enabling debug logging for the "
+"<literal>org.hibernate.persister.entity</literal> level. With this level "
+"enabled Hibernate will print out the static SQL that is used to create, "
+"update, delete etc. entities. (To see the expected sequence, remember to not "
+"include your custom SQL in the mapping files as that will override the "
+"Hibernate generated static sql.)"
+msgstr ""
+"당신은 <literal>org.hiberate.persister.entity</literal> 레벨로 디버그 로깅을 "
+"사용 가능하게 함으로써 예상된 순서를 볼 수 있다. 이 레벨을 이용 가능하게 하"
+"면 Hibernate는 엔티티들을 생성시키고, 업데이트하고, 삭제하는데 사용되는 정적"
+"인 SQL을 출력할 것이다. (예상되는 결과를 보려면, Hibernate 생성된 정적인 sql"
+"을 오버라이드 시키게 매핑 파일들 속에 당신의 맞춤형 SQL을 포함시키지 않도록 "
+"염두에 두라.)"
 
-#: index.docbook:529
-msgid "The stored procedures are in most cases (read: better do it than not) required to return the number of rows inserted/updated/deleted, as Hibernate has some runtime checks for the success of the statement. Hibernate always registers the first statement parameter as a numeric output parameter for the CUD operations:"
-msgstr "Hibernate가 문장의 성공을 위해 몇몇 실행 시 체크들을 행하므로, 내장 프로시저들은 대부분의 경우들(읽기:다른 경우들 보다 그것을 더 잘 행한다)에서 insert되고/업데이트되고/삭제된 행들의 개수를 반환하는데 필요하다. Hibernate는 항상 CUD 오퍼레이션들에 대한 숫자 출력 파라미터로서 첫 번째 문장 파라미터를 등록시킨다:"
+#. Tag: para
+#: query_sql.xml:529
+#, no-c-format
+msgid ""
+"The stored procedures are in most cases (read: better do it than not) "
+"required to return the number of rows inserted/updated/deleted, as Hibernate "
+"has some runtime checks for the success of the statement. Hibernate always "
+"registers the first statement parameter as a numeric output parameter for "
+"the CUD operations:"
+msgstr ""
+"Hibernate가 문장의 성공을 위해 몇몇 실행 시 체크들을 행하므로, 내장 프로시저"
+"들은 대부분의 경우들(읽기:다른 경우들 보다 그것을 더 잘 행한다)에서 insert되"
+"고/업데이트되고/삭제된 행들의 개수를 반환하는데 필요하다. Hibernate는 항상 "
+"CUD 오퍼레이션들에 대한 숫자 출력 파라미터로서 첫 번째 문장 파라미터를 등록시"
+"킨다:"
 
-#: index.docbook:535
+#. Tag: programlisting
+#: query_sql.xml:535
+#, no-c-format
 msgid ""
-      "<![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN VARCHAR2)\n"
-      "    RETURN NUMBER IS\n"
-      "BEGIN\n"
-      "\n"
-      "    update PERSON\n"
-      "    set\n"
-      "        NAME = uname,\n"
-      "    where\n"
-      "        ID = uid;\n"
-      "\n"
-      "    return SQL%ROWCOUNT;\n"
-      "\n"
-      "END updatePerson;]]>"
+"<![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN "
+"VARCHAR2)\n"
+"    RETURN NUMBER IS\n"
+"BEGIN\n"
+"\n"
+"    update PERSON\n"
+"    set\n"
+"        NAME = uname,\n"
+"    where\n"
+"        ID = uid;\n"
+"\n"
+"    return SQL%ROWCOUNT;\n"
+"\n"
+"END updatePerson;]]>"
 msgstr ""
-      "<![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN VARCHAR2)\n"
-      "    RETURN NUMBER IS\n"
-      "BEGIN\n"
-      "\n"
-      "    update PERSON\n"
-      "    set\n"
-      "        NAME = uname,\n"
-      "    where\n"
-      "        ID = uid;\n"
-      "\n"
-      "    return SQL%ROWCOUNT;\n"
-      "\n"
-      "END updatePerson;]]>"
 
-#: index.docbook:539
+#. Tag: title
+#: query_sql.xml:539
+#, no-c-format
 msgid "Custom SQL for loading"
 msgstr "로딩을 위한 맞춤형 SQL"
 
-#: index.docbook:541
+#. Tag: para
+#: query_sql.xml:541
+#, no-c-format
 msgid "You may also declare your own SQL (or HQL) queries for entity loading:"
-msgstr "당신은 또한 엔티티 로딩을 위한 당신 자신의 SQL (또는 HQL)을 선언할 수도 있다:"
+msgstr ""
+"당신은 또한 엔티티 로딩을 위한 당신 자신의 SQL (또는 HQL)을 선언할 수도 있다:"
 
-#: index.docbook:544
+#. Tag: programlisting
+#: query_sql.xml:544
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"person\">\n"
-      "    <return alias=\"pers\" class=\"Person\" lock-mode=\"upgrade\"/>\n"
-      "    SELECT NAME AS {pers.name}, ID AS {pers.id}\n"
-      "    FROM PERSON\n"
-      "    WHERE ID=?\n"
-      "    FOR UPDATE\n"
-      "</sql-query>]]>"
+"<![CDATA[<sql-query name=\"person\">\n"
+"    <return alias=\"pers\" class=\"Person\" lock-mode=\"upgrade\"/>\n"
+"    SELECT NAME AS {pers.name}, ID AS {pers.id}\n"
+"    FROM PERSON\n"
+"    WHERE ID=?\n"
+"    FOR UPDATE\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"person\">\n"
-      "    <return alias=\"pers\" class=\"Person\" lock-mode=\"upgrade\"/>\n"
-      "    SELECT NAME AS {pers.name}, ID AS {pers.id}\n"
-      "    FROM PERSON\n"
-      "    WHERE ID=?\n"
-      "    FOR UPDATE\n"
-      "</sql-query>]]>"
 
-#: index.docbook:546
-msgid "This is just a named query declaration, as discussed earlier. You may reference this named query in a class mapping:"
-msgstr "이것은 앞서 논의했듯이 단지 명명된 질의 선언이다. 당신은 class 매핑 속에 이 명명된 질의를 참조할 수 있다:"
+#. Tag: para
+#: query_sql.xml:546
+#, no-c-format
+msgid ""
+"This is just a named query declaration, as discussed earlier. You may "
+"reference this named query in a class mapping:"
+msgstr ""
+"이것은 앞서 논의했듯이 단지 명명된 질의 선언이다. 당신은 class 매핑 속에 이 "
+"명명된 질의를 참조할 수 있다:"
 
-#: index.docbook:549
+#. Tag: programlisting
+#: query_sql.xml:549
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"increment\"/>\n"
-      "    </id>\n"
-      "    <property name=\"name\" not-null=\"true\"/>\n"
-      "    <loader query-ref=\"person\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\">\n"
+"        <generator class=\"increment\"/>\n"
+"    </id>\n"
+"    <property name=\"name\" not-null=\"true\"/>\n"
+"    <loader query-ref=\"person\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\">\n"
-      "        <generator class=\"increment\"/>\n"
-      "    </id>\n"
-      "    <property name=\"name\" not-null=\"true\"/>\n"
-      "    <loader query-ref=\"person\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:551
+#. Tag: para
+#: query_sql.xml:551
+#, no-c-format
 msgid "This even works with stored procedures."
 msgstr "이것은 심지어 내장 프로시저들에 동작한다."
 
-#: index.docbook:553
+#. Tag: para
+#: query_sql.xml:553
+#, no-c-format
 msgid "You may even define a query for collection loading:"
 msgstr "당신은 콜렉션 로딩을 위한 한 개의 질의를 정의할 수도 있다:"
 
-#: index.docbook:555
+#. Tag: programlisting
+#: query_sql.xml:555
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"employments\" inverse=\"true\">\n"
-      "    <key/>\n"
-      "    <one-to-many class=\"Employment\"/>\n"
-      "    <loader query-ref=\"employments\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"employments\" inverse=\"true\">\n"
+"    <key/>\n"
+"    <one-to-many class=\"Employment\"/>\n"
+"    <loader query-ref=\"employments\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"employments\" inverse=\"true\">\n"
-      "    <key/>\n"
-      "    <one-to-many class=\"Employment\"/>\n"
-      "    <loader query-ref=\"employments\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:557
+#. Tag: programlisting
+#: query_sql.xml:557
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"employments\">\n"
-      "    <load-collection alias=\"emp\" role=\"Person.employments\"/>\n"
-      "    SELECT {emp.*}\n"
-      "    FROM EMPLOYMENT emp\n"
-      "    WHERE EMPLOYER = :id\n"
-      "    ORDER BY STARTDATE ASC, EMPLOYEE ASC\n"
-      "</sql-query>]]>"
+"<![CDATA[<sql-query name=\"employments\">\n"
+"    <load-collection alias=\"emp\" role=\"Person.employments\"/>\n"
+"    SELECT {emp.*}\n"
+"    FROM EMPLOYMENT emp\n"
+"    WHERE EMPLOYER = :id\n"
+"    ORDER BY STARTDATE ASC, EMPLOYEE ASC\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"employments\">\n"
-      "    <load-collection alias=\"emp\" role=\"Person.employments\"/>\n"
-      "    SELECT {emp.*}\n"
-      "    FROM EMPLOYMENT emp\n"
-      "    WHERE EMPLOYER = :id\n"
-      "    ORDER BY STARTDATE ASC, EMPLOYEE ASC\n"
-      "</sql-query>]]>"
 
-#: index.docbook:559
-msgid "You could even define an entity loader that loads a collection by join fetching:"
-msgstr "당신은 심지어 조인 페칭에 의해 하나의 콜렉션을 로드시키는 하나의 엔티티를 정의할 수 있다:"
+#. Tag: para
+#: query_sql.xml:559
+#, no-c-format
+msgid ""
+"You could even define an entity loader that loads a collection by join "
+"fetching:"
+msgstr ""
+"당신은 심지어 조인 페칭에 의해 하나의 콜렉션을 로드시키는 하나의 엔티티를 정"
+"의할 수 있다:"
 
-#: index.docbook:562
+#. Tag: programlisting
+#: query_sql.xml:562
+#, no-c-format
 msgid ""
-      "<![CDATA[<sql-query name=\"person\">\n"
-      "    <return alias=\"pers\" class=\"Person\"/>\n"
-      "    <return-join alias=\"emp\" property=\"pers.employments\"/>\n"
-      "    SELECT NAME AS {pers.*}, {emp.*}\n"
-      "    FROM PERSON pers\n"
-      "    LEFT OUTER JOIN EMPLOYMENT emp\n"
-      "        ON pers.ID = emp.PERSON_ID\n"
-      "    WHERE ID=?\n"
-      "</sql-query>]]>"
+"<![CDATA[<sql-query name=\"person\">\n"
+"    <return alias=\"pers\" class=\"Person\"/>\n"
+"    <return-join alias=\"emp\" property=\"pers.employments\"/>\n"
+"    SELECT NAME AS {pers.*}, {emp.*}\n"
+"    FROM PERSON pers\n"
+"    LEFT OUTER JOIN EMPLOYMENT emp\n"
+"        ON pers.ID = emp.PERSON_ID\n"
+"    WHERE ID=?\n"
+"</sql-query>]]>"
 msgstr ""
-      "<![CDATA[<sql-query name=\"person\">\n"
-      "    <return alias=\"pers\" class=\"Person\"/>\n"
-      "    <return-join alias=\"emp\" property=\"pers.employments\"/>\n"
-      "    SELECT NAME AS {pers.*}, {emp.*}\n"
-      "    FROM PERSON pers\n"
-      "    LEFT OUTER JOIN EMPLOYMENT emp\n"
-      "        ON pers.ID = emp.PERSON_ID\n"
-      "    WHERE ID=?\n"
-      "</sql-query>]]>"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/ko-KR/content/session_api.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/session_api.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/session_api.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,1225 +1,2215 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: session_api.xml:5
+#, no-c-format
 msgid "Working with objects"
 msgstr "객체들로 작업하기"
 
-#: index.docbook:7
-msgid "Hibernate is a full object/relational mapping solution that not only shields the developer from the details of the underlying database management system, but also offers <emphasis>state management</emphasis> of objects. This is, contrary to the management of SQL <literal>statements</literal> in common JDBC/SQL persistence layers, a very natural object-oriented view of persistence in Java applications."
-msgstr "Hibernate는 기본 데이터베이스 관리 시스템의 상세로부터 개발자들을 은폐시켜줄 뿐만 아니라, 또한 객체들에 대한 <emphasis>상태 관리</emphasis>를 제공하는 하나의 완전한 객체/관계형 매핑 솔루션이다. 이것은 공통적인 JDBC/SQL 영속 계층들 내에서의 SQL <literal>문장들</literal>에 대한 관리와는 반대로, 자바 어플리케이션들에서 영속에 관한 매우 고유한 객체-지향적 관점이다."
+#. Tag: para
+#: session_api.xml:7
+#, no-c-format
+msgid ""
+"Hibernate is a full object/relational mapping solution that not only shields "
+"the developer from the details of the underlying database management system, "
+"but also offers <emphasis>state management</emphasis> of objects. This is, "
+"contrary to the management of SQL <literal>statements</literal> in common "
+"JDBC/SQL persistence layers, a very natural object-oriented view of "
+"persistence in Java applications."
+msgstr ""
+"Hibernate는 기본 데이터베이스 관리 시스템의 상세로부터 개발자들을 은폐시켜줄 "
+"뿐만 아니라, 또한 객체들에 대한 <emphasis>상태 관리</emphasis>를 제공하는 하"
+"나의 완전한 객체/관계형 매핑 솔루션이다. 이것은 공통적인 JDBC/SQL 영속 계층"
+"들 내에서의 SQL <literal>문장들</literal>에 대한 관리와는 반대로, 자바 어플리"
+"케이션들에서 영속에 관한 매우 고유한 객체-지향적 관점이다."
 
-#: index.docbook:16
-msgid "In other words, Hibernate application developers should always think about the <emphasis>state</emphasis> of their objects, and not necessarily about the execution of SQL statements. This part is taken care of by Hibernate and is only relevant for the application developer when tuning the performance of the system."
-msgstr "달리 말해, Hibernate 어플리케이션 개발자들은 그들의 객체들의 <emphasis>상태</emphasis>에 대해 항상 생각해야 하고, SQL 문장들의 실행에 대해서는 필수적이지 않다. 이 부분은 Hibernate에 의해 처리되고 시스템의 퍼포먼스를 튜닝할 때 어플리케이션 개발자와 유일하게 관련된다."
+#. Tag: para
+#: session_api.xml:16
+#, no-c-format
+msgid ""
+"In other words, Hibernate application developers should always think about "
+"the <emphasis>state</emphasis> of their objects, and not necessarily about "
+"the execution of SQL statements. This part is taken care of by Hibernate and "
+"is only relevant for the application developer when tuning the performance "
+"of the system."
+msgstr ""
+"달리 말해, Hibernate 어플리케이션 개발자들은 그들의 객체들의 <emphasis>상태</"
+"emphasis>에 대해 항상 생각해야 하고, SQL 문장들의 실행에 대해서는 필수적이지 "
+"않다. 이 부분은 Hibernate에 의해 처리되고 시스템의 퍼포먼스를 튜닝할 때 어플"
+"리케이션 개발자와 유일하게 관련된다."
 
-#: index.docbook:24
+#. Tag: title
+#: session_api.xml:24
+#, no-c-format
 msgid "Hibernate object states"
 msgstr "Hibernate 객체 상태들"
 
-#: index.docbook:26
+#. Tag: para
+#: session_api.xml:26
+#, no-c-format
 msgid "Hibernate defines and supports the following object states:"
 msgstr "Hibernate 다음 객체 상태들을 정의하고 지원한다:"
 
-#: index.docbook:32
-msgid "<emphasis>Transient</emphasis> - an object is transient if it has just been instantiated using the <literal>new</literal> operator, and it is not associated with a Hibernate <literal>Session</literal>. It has no persistent representation in the database and no identifier value has been assigned. Transient instances will be destroyed by the garbage collector if the application doesn't hold a reference anymore. Use the Hibernate <literal>Session</literal> to make an object persistent (and let Hibernate take care of the SQL statements that need to be executed for this transition)."
-msgstr "<emphasis>Transient</emphasis> - 만일 객체가 <literal>new</literal> 연산자를 사용하여 방금 초기화 되었다면 객체는 transient이고, 그것은 Hibernate <literal>Session</literal>과 연관되어 있지 않다. 그것은 데이터베이스 내에서 영속 표상을 갖지 않고 식별자 값이 할당되지 않았다. 만일 어플리케이션이 더 이상 참조를 소유하지 않을 경우 transient 인스턴스들은 쓰레기 수집기에 의해 파괴될 것이다. 객체를 영속화 시키는데 (그리고 이 전이(transition)에 대해 실행될 필요가 있는 SQL 문장들을 Hibernate로 하여금 처리하도록 하는데) Hibernate <literal>Session</literal>을 사용하라."
+#. Tag: para
+#: session_api.xml:32
+#, no-c-format
+msgid ""
+"<emphasis>Transient</emphasis> - an object is transient if it has just been "
+"instantiated using the <literal>new</literal> operator, and it is not "
+"associated with a Hibernate <literal>Session</literal>. It has no persistent "
+"representation in the database and no identifier value has been assigned. "
+"Transient instances will be destroyed by the garbage collector if the "
+"application doesn't hold a reference anymore. Use the Hibernate "
+"<literal>Session</literal> to make an object persistent (and let Hibernate "
+"take care of the SQL statements that need to be executed for this "
+"transition)."
+msgstr ""
+"<emphasis>Transient</emphasis> - 만일 객체가 <literal>new</literal> 연산자를 "
+"사용하여 방금 초기화 되었다면 객체는 transient이고, 그것은 Hibernate "
+"<literal>Session</literal>과 연관되어 있지 않다. 그것은 데이터베이스 내에서 "
+"영속 표상을 갖지 않고 식별자 값이 할당되지 않았다. 만일 어플리케이션이 더 이"
+"상 참조를 소유하지 않을 경우 transient 인스턴스들은 쓰레기 수집기에 의해 파괴"
+"될 것이다. 객체를 영속화 시키는데 (그리고 이 전이(transition)에 대해 실행될 "
+"필요가 있는 SQL 문장들을 Hibernate로 하여금 처리하도록 하는데) Hibernate "
+"<literal>Session</literal>을 사용하라."
 
-#: index.docbook:44
-msgid "<emphasis>Persistent</emphasis> - a persistent instance has a representation in the database and an identifier value. It might just have been saved or loaded, however, it is by definition in the scope of a <literal>Session</literal>. Hibernate will detect any changes made to an object in persistent state and synchronize the state with the database when the unit of work completes. Developers don't execute manual <literal>UPDATE</literal> statements, or <literal>DELETE</literal> statements when an object should be made transient."
-msgstr "<emphasis>Persistent</emphasis> - 하나의 영속 인스턴스는 데이터베이스 내에서 하나의 표상을 갖고 하나의 식별자 값을 갖는다. 그것은 방금 저장되었거나 로드되었을 수 있지만, 정의상 그것은 <literal>Session</literal>의 범위 내에 있다. Hibernate는 영속 상태에서 객체에 대해 행해진 임의의 변경들을 검출해낼 것이고 단위 작업이 완료될 때 그 상태를 데이터베이스와 동기화 시킬 것이다. 개발자들은 하나의 객체가 transient로 되어야 할 때 <literal>UPDATE</literal> 문장들이나 <literal>DELETE</literal> 문장들을 수작업으로 실행하지 않는다."
+#. Tag: para
+#: session_api.xml:44
+#, no-c-format
+msgid ""
+"<emphasis>Persistent</emphasis> - a persistent instance has a representation "
+"in the database and an identifier value. It might just have been saved or "
+"loaded, however, it is by definition in the scope of a <literal>Session</"
+"literal>. Hibernate will detect any changes made to an object in persistent "
+"state and synchronize the state with the database when the unit of work "
+"completes. Developers don't execute manual <literal>UPDATE</literal> "
+"statements, or <literal>DELETE</literal> statements when an object should be "
+"made transient."
+msgstr ""
+"<emphasis>Persistent</emphasis> - 하나의 영속 인스턴스는 데이터베이스 내에서 "
+"하나의 표상을 갖고 하나의 식별자 값을 갖는다. 그것은 방금 저장되었거나 로드되"
+"었을 수 있지만, 정의상 그것은 <literal>Session</literal>의 범위 내에 있다. "
+"Hibernate는 영속 상태에서 객체에 대해 행해진 임의의 변경들을 검출해낼 것이고 "
+"단위 작업이 완료될 때 그 상태를 데이터베이스와 동기화 시킬 것이다. 개발자들"
+"은 하나의 객체가 transient로 되어야 할 때 <literal>UPDATE</literal> 문장들이"
+"나 <literal>DELETE</literal> 문장들을 수작업으로 실행하지 않는다."
 
-#: index.docbook:55
-msgid "<emphasis>Detached</emphasis> - a detached instance is an object that has been persistent, but its <literal>Session</literal> has been closed. The reference to the object is still valid, of course, and the detached instance might even be modified in this state. A detached instance can be reattached to a new <literal>Session</literal> at a later point in time, making it (and all the modifications) persistent again. This feature enables a programming model for long running units of work that require user think-time. We call them <emphasis>application transactions</emphasis>, i.e. a unit of work from the point of view of the user."
-msgstr "<emphasis>Detached</emphasis> - 하나의 detached 인스턴스는 영속화 되었지만, 그것의 <literal>Session</literal>이 닫혀진 객체이다. 물론 그 객체에 대한 참조는 여전히 유효하고, 그 detached 인스턴스는 이 상태에서도 변경될 수도 있다. 하나의 detached 인스턴스는 나중에 그것(과 모두 변경들)을 다시 영속화 시켜서 새로운 <literal>Session</literal>에 다시 첨부될 수 있다. 이 특징은 사용자가 생각할 시간을 필요로 하는 장 기간 실행되는 작업 단위를 위한 프로그래밍 모형을 가능하게 해준다. 우리는 그것들을 <emphasis>어플리케이션 트랜잭션들</emphasis>, 즉 사용자의 관점의 작업 단위라고 부른다."
+#. Tag: para
+#: session_api.xml:55
+#, no-c-format
+msgid ""
+"<emphasis>Detached</emphasis> - a detached instance is an object that has "
+"been persistent, but its <literal>Session</literal> has been closed. The "
+"reference to the object is still valid, of course, and the detached instance "
+"might even be modified in this state. A detached instance can be reattached "
+"to a new <literal>Session</literal> at a later point in time, making it (and "
+"all the modifications) persistent again. This feature enables a programming "
+"model for long running units of work that require user think-time. We call "
+"them <emphasis>application transactions</emphasis>, i.e. a unit of work from "
+"the point of view of the user."
+msgstr ""
+"<emphasis>Detached</emphasis> - 하나의 detached 인스턴스는 영속화 되었지만, "
+"그것의 <literal>Session</literal>이 닫혀진 객체이다. 물론 그 객체에 대한 참조"
+"는 여전히 유효하고, 그 detached 인스턴스는 이 상태에서도 변경될 수도 있다. 하"
+"나의 detached 인스턴스는 나중에 그것(과 모두 변경들)을 다시 영속화 시켜서 새"
+"로운 <literal>Session</literal>에 다시 첨부될 수 있다. 이 특징은 사용자가 생"
+"각할 시간을 필요로 하는 장 기간 실행되는 작업 단위를 위한 프로그래밍 모형을 "
+"가능하게 해준다. 우리는 그것들을 <emphasis>어플리케이션 트랜잭션들</"
+"emphasis>, 즉 사용자의 관점의 작업 단위라고 부른다."
 
-#: index.docbook:69
-msgid "We'll now discuss the states and state transitions (and the Hibernate methods that trigger a transition) in more detail."
-msgstr "이제 우리는 상태들과 상태 전이(transition)들(그리고 전이를 트리거 시키는 Hibernate 메소드들)을 상세하게 논의할 것이다."
+#. Tag: para
+#: session_api.xml:69
+#, no-c-format
+msgid ""
+"We'll now discuss the states and state transitions (and the Hibernate "
+"methods that trigger a transition) in more detail."
+msgstr ""
+"이제 우리는 상태들과 상태 전이(transition)들(그리고 전이를 트리거 시키는 "
+"Hibernate 메소드들)을 상세하게 논의할 것이다."
 
-#: index.docbook:77
+#. Tag: title
+#: session_api.xml:77
+#, no-c-format
 msgid "Making objects persistent"
 msgstr "객체들을 영속화 시키기"
 
-#: index.docbook:79
-msgid "Newly instantiated instances of a a persistent class are considered <emphasis>transient</emphasis> by Hibernate. We can make a transient instance <emphasis>persistent</emphasis> by associating it with a session:"
-msgstr "하나의 영속 클래스의 새로이 초기화 된 인스턴스들은 Hibernate에 의해 <emphasis>transient</emphasis>로 간주된다. 우리는 그것을 세션과 연관지어서 transient 인스턴스를 <emphasis>영속화</emphasis> 시킬 수 있다:"
+#. Tag: para
+#: session_api.xml:79
+#, no-c-format
+msgid ""
+"Newly instantiated instances of a a persistent class are considered "
+"<emphasis>transient</emphasis> by Hibernate. We can make a transient "
+"instance <emphasis>persistent</emphasis> by associating it with a session:"
+msgstr ""
+"하나의 영속 클래스의 새로이 초기화 된 인스턴스들은 Hibernate에 의해 "
+"<emphasis>transient</emphasis>로 간주된다. 우리는 그것을 세션과 연관지어서 "
+"transient 인스턴스를 <emphasis>영속화</emphasis> 시킬 수 있다:"
 
-#: index.docbook:86
+#. Tag: programlisting
+#: session_api.xml:86
+#, no-c-format
 msgid ""
-      "<![CDATA[DomesticCat fritz = new DomesticCat();\n"
-      "fritz.setColor(Color.GINGER);\n"
-      "fritz.setSex('M');\n"
-      "fritz.setName(\"Fritz\");\n"
-      "Long generatedId = (Long) sess.save(fritz);]]>"
+"<![CDATA[DomesticCat fritz = new DomesticCat();\n"
+"fritz.setColor(Color.GINGER);\n"
+"fritz.setSex('M');\n"
+"fritz.setName(\"Fritz\");\n"
+"Long generatedId = (Long) sess.save(fritz);]]>"
 msgstr ""
-      "<![CDATA[DomesticCat fritz = new DomesticCat();\n"
-      "fritz.setColor(Color.GINGER);\n"
-      "fritz.setSex('M');\n"
-      "fritz.setName(\"Fritz\");\n"
-      "Long generatedId = (Long) sess.save(fritz);]]>"
 
-#: index.docbook:88
-msgid "If <literal>Cat</literal> has a generated identifier, the identifier is generated and assigned to the <literal>cat</literal> when <literal>save()</literal> is called. If <literal>Cat</literal> has an <literal>assigned</literal> identifier, or a composite key, the identifier should be assigned to the <literal>cat</literal> instance before calling <literal>save()</literal>. You may also use <literal>persist()</literal> instead of <literal>save()</literal>, with the semantics defined in the EJB3 early draft."
-msgstr "만일 <literal>Cat</literal>이 생성된 식별자를 가질 경우, <literal>save()</literal>가 호출될 때 그 식별자가 생성되고 <literal>cat</literal>에 할당된다. 만일 <literal>Cat</literal>이 하나의 <literal>assigned</literal> 식별자나 하나의 composite key를 가질 경우, <literal>save()</literal>를 호출하기 전에 그 식별자가<literal>cat</literal> 인스턴스에 할당될 것이다. 당신은 또한 EJB3 초기 드래프트에서 정의된 의미로 <literal>save()</literal> 대신 <literal>persist()</literal>를 사용할 수도 있다."
+#. Tag: para
+#: session_api.xml:88
+#, no-c-format
+msgid ""
+"If <literal>Cat</literal> has a generated identifier, the identifier is "
+"generated and assigned to the <literal>cat</literal> when <literal>save()</"
+"literal> is called. If <literal>Cat</literal> has an <literal>assigned</"
+"literal> identifier, or a composite key, the identifier should be assigned "
+"to the <literal>cat</literal> instance before calling <literal>save()</"
+"literal>. You may also use <literal>persist()</literal> instead of "
+"<literal>save()</literal>, with the semantics defined in the EJB3 early "
+"draft."
+msgstr ""
+"만일 <literal>Cat</literal>이 생성된 식별자를 가질 경우, <literal>save()</"
+"literal>가 호출될 때 그 식별자가 생성되고 <literal>cat</literal>에 할당된다. "
+"만일 <literal>Cat</literal>이 하나의 <literal>assigned</literal> 식별자나 하"
+"나의 composite key를 가질 경우, <literal>save()</literal>를 호출하기 전에 그 "
+"식별자가<literal>cat</literal> 인스턴스에 할당될 것이다. 당신은 또한 EJB3 초"
+"기 드래프트에서 정의된 의미로 <literal>save()</literal> 대신 <literal>persist"
+"()</literal>를 사용할 수도 있다."
 
-#: index.docbook:100
-msgid "<literal>persist()</literal> makes a transient instance persistent. However, it doesn't guarantee that the identifier value will be assigned to the persistent instance immediately, the assignment might happen at flush time. <literal>persist()</literal> also guarantees that it will not execute an <literal>INSERT</literal> statement if it is called outside of transaction boundaries. This is useful in long-running conversations with an extended Session/persistence context."
-msgstr "다른 방법으로, 당신은 <literal>save()</literal>의 오버로드된 버전을 사용하여 식별자를 할당할 수 있다."
+#. Tag: para
+#: session_api.xml:100
+#, no-c-format
+msgid ""
+"<literal>persist()</literal> makes a transient instance persistent. However, "
+"it doesn't guarantee that the identifier value will be assigned to the "
+"persistent instance immediately, the assignment might happen at flush time. "
+"<literal>persist()</literal> also guarantees that it will not execute an "
+"<literal>INSERT</literal> statement if it is called outside of transaction "
+"boundaries. This is useful in long-running conversations with an extended "
+"Session/persistence context."
+msgstr ""
+"UNTRANSLATED! <literal>persist()</literal> makes a transient instance "
+"persistent. However, it doesn't guarantee that the identifier value will be "
+"assigned to the persistent instance immediately, the assignment might happen "
+"at flush time. <literal>persist()</literal> also guarantees that it will not "
+"execute an <literal>INSERT</literal> statement if it is called outside of "
+"transaction boundaries. This is useful in long-running conversations with an "
+"extended Session/persistence context."
 
-#: index.docbook:111
-msgid "<literal>save()</literal> does guarantee to return an identifier. If an INSERT has to be executed to get the identifier ( e.g. \"identity\" generator, not \"sequence\"), this INSERT happens immediately, no matter if you are inside or outside of a transaction. This is problematic in a long-running conversation with an extended Session/persistence context."
+#. Tag: para
+#: session_api.xml:111
+#, no-c-format
+msgid ""
+"<literal>save()</literal> does guarantee to return an identifier. If an "
+"INSERT has to be executed to get the identifier ( e.g. \"identity\" "
+"generator, not \"sequence\"), this INSERT happens immediately, no matter if "
+"you are inside or outside of a transaction. This is problematic in a long-"
+"running conversation with an extended Session/persistence context."
 msgstr ""
-      "<![CDATA[DomesticCat pk = new DomesticCat();\n"
-      "pk.setColor(Color.TABBY);\n"
-      "pk.setSex('F');\n"
-      "pk.setName(\"PK\");\n"
-      "pk.setKittens( new HashSet() );\n"
-      "pk.addKitten(fritz);\n"
-      "sess.save( pk, new Long(1234) );]]>"
+"<literal>save()</literal> does guarantee to return an identifier. If an "
+"INSERT has to be executed to get the identifier ( e.g. \"identity\" "
+"generator, not \"sequence\"), this INSERT happens immediately, no matter if "
+"you are inside or outside of a transaction. This is problematic in a long-"
+"running conversation with an extended Session/persistence context."
 
-#: index.docbook:121
-msgid "Alternatively, you may assign the identifier using an overloaded version of <literal>save()</literal>."
-msgstr "만일 당신이 영속화 시키는 객체가 연관된 객체들(예를 들면. 앞의 예제에 있는 <literal>kittens</literal> 콜렉션)을 갖고 있다면, 당신이 하나의 foreign 키 컬럼에 대해 하나의 <literal>NOT NULL</literal> 컨스트레인트를 갖지 않는 한, 이들 객체들은 당신이 좋아하는 임의의 순서로 영속화 되었을 수도 있다. foreign 키 컨스트레인트들을 위배하는 위험성이 결코 존재하지 않는다. 하지만 당신이 잘못된 순서로 그 객체들을 <literal>save()</literal> 시킬 경우 당신은 <literal>NOT NULL</literal> 컨스트레인트를 위배할 수도 있다."
+#. Tag: para
+#: session_api.xml:121
+#, no-c-format
+msgid ""
+"Alternatively, you may assign the identifier using an overloaded version of "
+"<literal>save()</literal>."
+msgstr ""
+"다른 방법으로, 당신은 <literal>save()</literal>의 오버로드된 버전을 사용하여 "
+"식별자를 할당할 수 있다."
 
-#: index.docbook:126
+#. Tag: programlisting
+#: session_api.xml:126
+#, no-c-format
 msgid ""
-      "<![CDATA[DomesticCat pk = new DomesticCat();\n"
-      "pk.setColor(Color.TABBY);\n"
-      "pk.setSex('F');\n"
-      "pk.setName(\"PK\");\n"
-      "pk.setKittens( new HashSet() );\n"
-      "pk.addKitten(fritz);\n"
-      "sess.save( pk, new Long(1234) );]]>"
-msgstr "당신이 연관된 객체들을 자동적으로 저장시키는데 Hibernate의 <emphasis>transitive persistence(전이 영속)</emphasis> 특징을 사용하는 것을 매우 좋아할 것이므로 대개 당신은 이 상세를 내버려둔다. 그때 <literal>NOT NULL</literal> 컨스트레인트 위배들이 발생되지 않을지라도 - Hibernate는 모든 것을 처리할 것이다. Transitive persistence(전이 영속)은 이 장에서 후반부에서 논의된다."
+"<![CDATA[DomesticCat pk = new DomesticCat();\n"
+"pk.setColor(Color.TABBY);\n"
+"pk.setSex('F');\n"
+"pk.setName(\"PK\");\n"
+"pk.setKittens( new HashSet() );\n"
+"pk.addKitten(fritz);\n"
+"sess.save( pk, new Long(1234) );]]>"
+msgstr ""
 
-#: index.docbook:128
-msgid "If the object you make persistent has associated objects (e.g. the <literal>kittens</literal> collection in the previous example), these objects may be made persistent in any order you like unless you have a <literal>NOT NULL</literal> constraint upon a foreign key column. There is never a risk of violating foreign key constraints. However, you might violate a <literal>NOT NULL</literal> constraint if you <literal>save()</literal> the objects in the wrong order."
-msgstr "객체를 로드시키기"
+#. Tag: para
+#: session_api.xml:128
+#, no-c-format
+msgid ""
+"If the object you make persistent has associated objects (e.g. the "
+"<literal>kittens</literal> collection in the previous example), these "
+"objects may be made persistent in any order you like unless you have a "
+"<literal>NOT NULL</literal> constraint upon a foreign key column. There is "
+"never a risk of violating foreign key constraints. However, you might "
+"violate a <literal>NOT NULL</literal> constraint if you <literal>save()</"
+"literal> the objects in the wrong order."
+msgstr ""
+"만일 당신이 영속화 시키는 객체가 연관된 객체들(예를 들면. 앞의 예제에 있는 "
+"<literal>kittens</literal> 콜렉션)을 갖고 있다면, 당신이 하나의 foreign 키 컬"
+"럼에 대해 하나의 <literal>NOT NULL</literal> 컨스트레인트를 갖지 않는 한, 이"
+"들 객체들은 당신이 좋아하는 임의의 순서로 영속화 되었을 수도 있다. foreign "
+"키 컨스트레인트들을 위배하는 위험성이 결코 존재하지 않는다. 하지만 당신이 잘"
+"못된 순서로 그 객체들을 <literal>save()</literal> 시킬 경우 당신은 "
+"<literal>NOT NULL</literal> 컨스트레인트를 위배할 수도 있다."
 
-#: index.docbook:138
-msgid "Usually you don't bother with this detail, as you'll very likely use Hibernate's <emphasis>transitive persistence</emphasis> feature to save the associated objects automatically. Then, even <literal>NOT NULL</literal> constraint violations don't occur - Hibernate will take care of everything. Transitive persistence is discussed later in this chapter."
-msgstr "<literal>Session</literal>의 <literal>load()</literal> 메소드들은 만일 당신이 그것(영속 인스턴스)의 식별자들을 이미 알고 있을 경우에 영속 인스턴스를 검색하는 방법을 당신에게 제공한다. <literal>load()</literal>는 하나의 클래스 객체를 취하고 그 상태를 영속(persistent) 상태로 그 클래스의 새로이 초기화 된 인스턴스 속으로 로드시킬 것이다."
+#. Tag: para
+#: session_api.xml:138
+#, no-c-format
+msgid ""
+"Usually you don't bother with this detail, as you'll very likely use "
+"Hibernate's <emphasis>transitive persistence</emphasis> feature to save the "
+"associated objects automatically. Then, even <literal>NOT NULL</literal> "
+"constraint violations don't occur - Hibernate will take care of everything. "
+"Transitive persistence is discussed later in this chapter."
+msgstr ""
+"당신이 연관된 객체들을 자동적으로 저장시키는데 Hibernate의 "
+"<emphasis>transitive persistence(전이 영속)</emphasis> 특징을 사용하는 것을 "
+"매우 좋아할 것이므로 대개 당신은 이 상세를 내버려둔다. 그때 <literal>NOT "
+"NULL</literal> 컨스트레인트 위배들이 발생되지 않을지라도 - Hibernate는 모든 "
+"것을 처리할 것이다. Transitive persistence(전이 영속)은 이 장에서 후반부에서 "
+"논의된다."
 
-#: index.docbook:149
+#. Tag: title
+#: session_api.xml:149
+#, no-c-format
 msgid "Loading an object"
-msgstr "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
+msgstr "객체를 로드시키기"
 
-#: index.docbook:151
-msgid "The <literal>load()</literal> methods of <literal>Session</literal> gives you a way to retrieve a persistent instance if you already know its identifier. <literal>load()</literal> takes a class object and will load the state into a newly instantiated instance of that class, in persistent state."
+#. Tag: para
+#: session_api.xml:151
+#, no-c-format
+msgid ""
+"The <literal>load()</literal> methods of <literal>Session</literal> gives "
+"you a way to retrieve a persistent instance if you already know its "
+"identifier. <literal>load()</literal> takes a class object and will load the "
+"state into a newly instantiated instance of that class, in persistent state."
 msgstr ""
-      "<![CDATA[// you need to wrap primitive identifiers\n"
-      "long id = 1234;\n"
-      "DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long(id) );]]>"
+"<literal>Session</literal>의 <literal>load()</literal> 메소드들은 만일 당신"
+"이 그것(영속 인스턴스)의 식별자들을 이미 알고 있을 경우에 영속 인스턴스를 검"
+"색하는 방법을 당신에게 제공한다. <literal>load()</literal>는 하나의 클래스 객"
+"체를 취하고 그 상태를 영속(persistent) 상태로 그 클래스의 새로이 초기화 된 인"
+"스턴스 속으로 로드시킬 것이다."
 
-#: index.docbook:158
+#. Tag: programlisting
+#: session_api.xml:158
+#, no-c-format
 msgid "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
-msgstr "다른 방법으로 당신은 주어진 인스턴스 속으로 상태를 로드시킬 수 있다:"
+msgstr ""
 
-#: index.docbook:160
+#. Tag: programlisting
+#: session_api.xml:160
+#, no-c-format
 msgid ""
-      "<![CDATA[// you need to wrap primitive identifiers\n"
-      "long id = 1234;\n"
-      "DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long(id) );]]>"
+"<![CDATA[// you need to wrap primitive identifiers\n"
+"long id = 1234;\n"
+"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long"
+"(id) );]]>"
 msgstr ""
-      "<![CDATA[Cat cat = new DomesticCat();\n"
-      "// load pk's state into cat\n"
-      "sess.load( cat, new Long(pkId) );\n"
-      "Set kittens = cat.getKittens();]]>"
 
-#: index.docbook:162
+#. Tag: para
+#: session_api.xml:162
+#, no-c-format
 msgid "Alternatively, you can load state into a given instance:"
-msgstr "만일 일치하는 데이터베이스 행이 존재하지 않을 경우에 <literal>load()</literal>가 unrecoverable(복구 불가능한) 예외상황을 던질 것임을 노트하라. 만일 클래스가 프락시를 갖도록 매핑된 경우, <literal>load()</literal>는 초기화 되지 않은 프락시를 단지 반환하고 당신이 그 프락시의 메소드를 호출하기 전까지는 실제로 데이터베이스에 접속하지 않는다. 당신이 데이터베이스로부터 객체에 대한 연관을 실제로 로드시키지 않고서 객체에 대한 연관을 생성시키고자 원할 경우에 이 특징이 매우 유용하다. 만일 <literal>batch-size</literal>가 class 매핑에 정의되는 경우 그것은 또한 다중 인스턴스들이 하나의 배치로서 로드되는 것을 허용해준다."
+msgstr "다른 방법으로 당신은 주어진 인스턴스 속으로 상태를 로드시킬 수 있다:"
 
-#: index.docbook:166
+#. Tag: programlisting
+#: session_api.xml:166
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat cat = new DomesticCat();\n"
-      "// load pk's state into cat\n"
-      "sess.load( cat, new Long(pkId) );\n"
-      "Set kittens = cat.getKittens();]]>"
-msgstr "만일 당신이 하나의 일치하는 행이 존재하는지를 확신할 수 없을 경우, 당신은 <literal>get()</literal> 메소드를 사용해야 한다. 그것(<literal>get()</literal> 메소드)는 데이터베이스에 즉시 접속하고 만일 일치하는 행이 없을 경우 null을 반환한다."
+"<![CDATA[Cat cat = new DomesticCat();\n"
+"// load pk's state into cat\n"
+"sess.load( cat, new Long(pkId) );\n"
+"Set kittens = cat.getKittens();]]>"
+msgstr ""
 
-#: index.docbook:168
-msgid "Note that <literal>load()</literal> will throw an unrecoverable exception if there is no matching database row. If the class is mapped with a proxy, <literal>load()</literal> just returns an uninitialized proxy and does not actually hit the database until you invoke a method of the proxy. This behaviour is very useful if you wish to create an association to an object without actually loading it from the database. It also allows multiple instances to be loaded as a batch if <literal>batch-size</literal> is defined for the class mapping."
+#. Tag: para
+#: session_api.xml:168
+#, no-c-format
+msgid ""
+"Note that <literal>load()</literal> will throw an unrecoverable exception if "
+"there is no matching database row. If the class is mapped with a proxy, "
+"<literal>load()</literal> just returns an uninitialized proxy and does not "
+"actually hit the database until you invoke a method of the proxy. This "
+"behaviour is very useful if you wish to create an association to an object "
+"without actually loading it from the database. It also allows multiple "
+"instances to be loaded as a batch if <literal>batch-size</literal> is "
+"defined for the class mapping."
 msgstr ""
-      "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
-      "if (cat==null) {\n"
-      "    cat = new Cat();\n"
-      "    sess.save(cat, id);\n"
-      "}\n"
-      "return cat;]]>"
+"만일 일치하는 데이터베이스 행이 존재하지 않을 경우에 <literal>load()</"
+"literal>가 unrecoverable(복구 불가능한) 예외상황을 던질 것임을 노트하라. 만"
+"일 클래스가 프락시를 갖도록 매핑된 경우, <literal>load()</literal>는 초기화 "
+"되지 않은 프락시를 단지 반환하고 당신이 그 프락시의 메소드를 호출하기 전까지"
+"는 실제로 데이터베이스에 접속하지 않는다. 당신이 데이터베이스로부터 객체에 대"
+"한 연관을 실제로 로드시키지 않고서 객체에 대한 연관을 생성시키고자 원할 경우"
+"에 이 특징이 매우 유용하다. 만일 <literal>batch-size</literal>가 class 매핑"
+"에 정의되는 경우 그것은 또한 다중 인스턴스들이 하나의 배치로서 로드되는 것을 "
+"허용해준다."
 
-#: index.docbook:179
-msgid "If you are not certain that a matching row exists, you should use the <literal>get()</literal> method, which hits the database immediately and returns null if there is no matching row."
-msgstr "당신은 하나의 <literal>LockMode</literal>를 사용하는, <literal>SELECT ... FOR UPDATE</literal>를 사용하여 하나의 객체를 로드시킬 수도 있다. 추가 정보는 API 문서를 보라."
+#. Tag: para
+#: session_api.xml:179
+#, no-c-format
+msgid ""
+"If you are not certain that a matching row exists, you should use the "
+"<literal>get()</literal> method, which hits the database immediately and "
+"returns null if there is no matching row."
+msgstr ""
+"만일 당신이 하나의 일치하는 행이 존재하는지를 확신할 수 없을 경우, 당신은 "
+"<literal>get()</literal> 메소드를 사용해야 한다. 그것(<literal>get()</"
+"literal> 메소드)는 데이터베이스에 즉시 접속하고 만일 일치하는 행이 없을 경우 "
+"null을 반환한다."
 
-#: index.docbook:185
+#. Tag: programlisting
+#: session_api.xml:185
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
-      "if (cat==null) {\n"
-      "    cat = new Cat();\n"
-      "    sess.save(cat, id);\n"
-      "}\n"
-      "return cat;]]>"
-msgstr "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
+"<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
+"if (cat==null) {\n"
+"    cat = new Cat();\n"
+"    sess.save(cat, id);\n"
+"}\n"
+"return cat;]]>"
+msgstr ""
 
-#: index.docbook:187
-msgid "You may even load an object using an SQL <literal>SELECT ... FOR UPDATE</literal>, using a <literal>LockMode</literal>. See the API documentation for more information."
-msgstr "어떤 연관된 인스턴스들이나 포함된 콜렉션들은 당신이 그 연관에 대한 케스케이드 스타일로서 <literal>lock</literal> 또는 <literal>all</literal>을 지정하도록 결정하지 않는 한, <literal>FOR UPDATE</literal>로 선택되지 않음을 노트하라."
+#. Tag: para
+#: session_api.xml:187
+#, no-c-format
+msgid ""
+"You may even load an object using an SQL <literal>SELECT ... FOR UPDATE</"
+"literal>, using a <literal>LockMode</literal>. See the API documentation for "
+"more information."
+msgstr ""
+"당신은 하나의 <literal>LockMode</literal>를 사용하는, <literal>SELECT ... "
+"FOR UPDATE</literal>를 사용하여 하나의 객체를 로드시킬 수도 있다. 추가 정보"
+"는 API 문서를 보라."
 
-#: index.docbook:192
+#. Tag: programlisting
+#: session_api.xml:192
+#, no-c-format
 msgid "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
-msgstr "<literal>refresh()</literal> 메소드를 사용하여, 아무때나 하나의 객체와 모든 그것의 콜렉션들을 다시 로드시키는 것이 가능하다. 데이터베이스 트리거들이 그 객체의 프로퍼티들 중 어떤 것을 초기화 시키는데 사용될 때 이것이 유용하다."
+msgstr ""
 
-#: index.docbook:194
-msgid "Note that any associated instances or contained collections are <emphasis>not</emphasis> selected <literal>FOR UPDATE</literal>, unless you decide to specify <literal>lock</literal> or <literal>all</literal> as a cascade style for the association."
+#. Tag: para
+#: session_api.xml:194
+#, no-c-format
+msgid ""
+"Note that any associated instances or contained collections are "
+"<emphasis>not</emphasis> selected <literal>FOR UPDATE</literal>, unless you "
+"decide to specify <literal>lock</literal> or <literal>all</literal> as a "
+"cascade style for the association."
 msgstr ""
-      "<![CDATA[sess.save(cat);\n"
-      "sess.flush(); //force the SQL INSERT\n"
-      "sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
+"어떤 연관된 인스턴스들이나 포함된 콜렉션들은 당신이 그 연관에 대한 케스케이"
+"드 스타일로서 <literal>lock</literal> 또는 <literal>all</literal>을 지정하도"
+"록 결정하지 않는 한, <literal>FOR UPDATE</literal>로 선택되지 않음을 노트하"
+"라."
 
-#: index.docbook:201
-msgid "It is possible to re-load an object and all its collections at any time, using the <literal>refresh()</literal> method. This is useful when database triggers are used to initialize some of the properties of the object."
-msgstr "중요한 질문이 대개 이 지점에서 나타난다: Hibernate는 데이터베이로부터 그것을 얼마나 많이 로드시키고 그리고 얼마나 많은 SQL <literal>SELECT</literal>들이 그것을 사용할 것인가? 이것은 <emphasis>페칭 방도</emphasis>에 의존하고 <xref linkend=\"performance-fetching\"/>에 설명되어 있다."
+#. Tag: para
+#: session_api.xml:201
+#, no-c-format
+msgid ""
+"It is possible to re-load an object and all its collections at any time, "
+"using the <literal>refresh()</literal> method. This is useful when database "
+"triggers are used to initialize some of the properties of the object."
+msgstr ""
+"<literal>refresh()</literal> 메소드를 사용하여, 아무때나 하나의 객체와 모든 "
+"그것의 콜렉션들을 다시 로드시키는 것이 가능하다. 데이터베이스 트리거들이 그 "
+"객체의 프로퍼티들 중 어떤 것을 초기화 시키는데 사용될 때 이것이 유용하다."
 
-#: index.docbook:207
+#. Tag: programlisting
+#: session_api.xml:207
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.save(cat);\n"
-      "sess.flush(); //force the SQL INSERT\n"
-      "sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
-msgstr "질의하기"
+"<![CDATA[sess.save(cat);\n"
+"sess.flush(); //force the SQL INSERT\n"
+"sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
+msgstr ""
 
-#: index.docbook:209
-msgid "An important question usually appears at this point: How much does Hibernate load from the database and how many SQL <literal>SELECT</literal>s will it use? This depends on the <emphasis>fetching strategy</emphasis> and is explained in <xref linkend=\"performance-fetching\"/>."
-msgstr "만일 당신이 당신이 찾고 있는 객체들에 대한 식별자들을 모를 경우, 당신은 하나의 질의를 필요로 한다. Hibernate는 사용이 쉽지만 강력한 객체 지향 질의 언어(HQL)를 지원한다. 프로그램 상의 질의 생성을 위해, Hibernate는 정교한 Criteria 및 Example 질의 특징(QBC와 QBE)를 지원한다. 당신은 또한 객체들로의 결과 셋 변환을 위한 선택적인 Hibernate의 지원으로, 당신의 데이터베이스의 native SQL 속에 당신의 질의를 표현할 수도 있다."
+#. Tag: para
+#: session_api.xml:209
+#, no-c-format
+msgid ""
+"An important question usually appears at this point: How much does Hibernate "
+"load from the database and how many SQL <literal>SELECT</literal>s will it "
+"use? This depends on the <emphasis>fetching strategy</emphasis> and is "
+"explained in <xref linkend=\"performance-fetching\"/>."
+msgstr ""
+"중요한 질문이 대개 이 지점에서 나타난다: Hibernate는 데이터베이로부터 그것을 "
+"얼마나 많이 로드시키고 그리고 얼마나 많은 SQL <literal>SELECT</literal>들이 "
+"그것을 사용할 것인가? 이것은 <emphasis>페칭 방도</emphasis>에 의존하고 <xref "
+"linkend=\"performance-fetching\"/>에 설명되어 있다."
 
-#: index.docbook:219
+#. Tag: title
+#: session_api.xml:219
+#, no-c-format
 msgid "Querying"
-msgstr "질의들을 실행하기"
+msgstr "질의하기"
 
-#: index.docbook:221
-msgid "If you don't know the identifiers of the objects you are looking for, you need a query. Hibernate supports an easy-to-use but powerful object oriented query language (HQL). For programmatic query creation, Hibernate supports a sophisticated Criteria and Example query feature (QBC and QBE). You may also express your query in the native SQL of your database, with optional support from Hibernate for result set conversion into objects."
-msgstr "HQL 질의와 native SQL 질의는 <literal>org.hibernate.Query</literal>의 인스턴스로 표현된다. 이 인터페이스는 파라미터 바인딩, 결과셋 핸들링을 위한, 그리고 실제 질의의 실행을 위한 메소드들을 제공한다. 당신은 항상 현재 <literal>Session</literal>을 사용하여 하나의 <literal>Query</literal>를 얻는다:"
+#. Tag: para
+#: session_api.xml:221
+#, no-c-format
+msgid ""
+"If you don't know the identifiers of the objects you are looking for, you "
+"need a query. Hibernate supports an easy-to-use but powerful object oriented "
+"query language (HQL). For programmatic query creation, Hibernate supports a "
+"sophisticated Criteria and Example query feature (QBC and QBE). You may also "
+"express your query in the native SQL of your database, with optional support "
+"from Hibernate for result set conversion into objects."
+msgstr ""
+"만일 당신이 당신이 찾고 있는 객체들에 대한 식별자들을 모를 경우, 당신은 하나"
+"의 질의를 필요로 한다. Hibernate는 사용이 쉽지만 강력한 객체 지향 질의 언어"
+"(HQL)를 지원한다. 프로그램 상의 질의 생성을 위해, Hibernate는 정교한 "
+"Criteria 및 Example 질의 특징(QBC와 QBE)를 지원한다. 당신은 또한 객체들로의 "
+"결과 셋 변환을 위한 선택적인 Hibernate의 지원으로, 당신의 데이터베이스의 "
+"native SQL 속에 당신의 질의를 표현할 수도 있다."
 
-#: index.docbook:231
+#. Tag: title
+#: session_api.xml:231
+#, no-c-format
 msgid "Executing queries"
+msgstr "질의들을 실행하기"
+
+#. Tag: para
+#: session_api.xml:233
+#, no-c-format
+msgid ""
+"HQL and native SQL queries are represented with an instance of <literal>org."
+"hibernate.Query</literal>. This interface offers methods for parameter "
+"binding, result set handling, and for the execution of the actual query. You "
+"always obtain a <literal>Query</literal> using the current <literal>Session</"
+"literal>:"
 msgstr ""
-      "<![CDATA[List cats = session.createQuery(\n"
-      "    \"from Cat as cat where cat.birthdate < ?\")\n"
-      "    .setDate(0, date)\n"
-      "    .list();\n"
-      "\n"
-      "List mothers = session.createQuery(\n"
-      "    \"select mother from Cat as cat join cat.mother as mother where cat.name = ?\")\n"
-      "    .setString(0, name)\n"
-      "    .list();\n"
-      "\n"
-      "List kittens = session.createQuery(\n"
-      "    \"from Cat as cat where cat.mother = ?\")\n"
-      "    .setEntity(0, pk)\n"
-      "    .list();\n"
-      "\n"
-      "Cat mother = (Cat) session.createQuery(\n"
-      "    \"select cat.mother from Cat as cat where cat = ?\")\n"
-      "    .setEntity(0, izi)\n"
-      "    .uniqueResult();]]\n"
-      "\n"
-      "Query mothersWithKittens = (Cat) session.createQuery(\n"
-      "    \"select mother from Cat as mother left join fetch mother.kittens\");\n"
-      "Set uniqueMothers = new HashSet(mothersWithKittens.list());]]>"
+"HQL 질의와 native SQL 질의는 <literal>org.hibernate.Query</literal>의 인스턴"
+"스로 표현된다. 이 인터페이스는 파라미터 바인딩, 결과셋 핸들링을 위한, 그리고 "
+"실제 질의의 실행을 위한 메소드들을 제공한다. 당신은 항상 현재 "
+"<literal>Session</literal>을 사용하여 하나의 <literal>Query</literal>를 얻는"
+"다:"
 
-#: index.docbook:233
-msgid "HQL and native SQL queries are represented with an instance of <literal>org.hibernate.Query</literal>. This interface offers methods for parameter binding, result set handling, and for the execution of the actual query. You always obtain a <literal>Query</literal> using the current <literal>Session</literal>:"
-msgstr "하나의 질의는 대개 <literal>list()</literal>를 호출하여 실행되고, 질의의 결과는 메모리 내에서 하나의 콜렉션 속으로 전체적으로 로드될 것이다. 하나의 질의에 의해 검색된 엔티티 인스턴스들은 영속(persistent) 상태에 있다. 당신의 질의가 하나의 객체를 오직 반환할 것임을 당신이 알고 있을 경우에 <literal>uniqueResult()</literal> 메소드는 단축을 제공한다. 콜렉션들에 대해 eager 페칭을 사용하는 질의들은 대개 (그것들의 초기화된 콜렉션들을 가진) 루트 객체들에 대한 중복들을 대개 반환한다. 당신은 <literal>Set</literal>을 통해 이들 중복들을 간단하게 필터링할 수 있다."
+#. Tag: programlisting
+#: session_api.xml:240
+#, no-c-format
+msgid ""
+"<![CDATA[List cats = session.createQuery(\n"
+"    \"from Cat as cat where cat.birthdate < ?\")\n"
+"    .setDate(0, date)\n"
+"    .list();\n"
+"\n"
+"List mothers = session.createQuery(\n"
+"    \"select mother from Cat as cat join cat.mother as mother where cat.name "
+"= ?\")\n"
+"    .setString(0, name)\n"
+"    .list();\n"
+"\n"
+"List kittens = session.createQuery(\n"
+"    \"from Cat as cat where cat.mother = ?\")\n"
+"    .setEntity(0, pk)\n"
+"    .list();\n"
+"\n"
+"Cat mother = (Cat) session.createQuery(\n"
+"    \"select cat.mother from Cat as cat where cat = ?\")\n"
+"    .setEntity(0, izi)\n"
+"    .uniqueResult();]]\n"
+"\n"
+"Query mothersWithKittens = (Cat) session.createQuery(\n"
+"    \"select mother from Cat as mother left join fetch mother.kittens\");\n"
+"Set uniqueMothers = new HashSet(mothersWithKittens.list());]]>"
+msgstr ""
 
-#: index.docbook:240
+#. Tag: para
+#: session_api.xml:242
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = session.createQuery(\n"
-      "    \"from Cat as cat where cat.birthdate < ?\")\n"
-      "    .setDate(0, date)\n"
-      "    .list();\n"
-      "\n"
-      "List mothers = session.createQuery(\n"
-      "    \"select mother from Cat as cat join cat.mother as mother where cat.name = ?\")\n"
-      "    .setString(0, name)\n"
-      "    .list();\n"
-      "\n"
-      "List kittens = session.createQuery(\n"
-      "    \"from Cat as cat where cat.mother = ?\")\n"
-      "    .setEntity(0, pk)\n"
-      "    .list();\n"
-      "\n"
-      "Cat mother = (Cat) session.createQuery(\n"
-      "    \"select cat.mother from Cat as cat where cat = ?\")\n"
-      "    .setEntity(0, izi)\n"
-      "    .uniqueResult();]]\n"
-      "\n"
-      "Query mothersWithKittens = (Cat) session.createQuery(\n"
-      "    \"select mother from Cat as mother left join fetch mother.kittens\");\n"
-      "Set uniqueMothers = new HashSet(mothersWithKittens.list());]]>"
+"A query is usually executed by invoking <literal>list()</literal>, the "
+"result of the query will be loaded completely into a collection in memory. "
+"Entity instances retrieved by a query are in persistent state. The "
+"<literal>uniqueResult()</literal> method offers a shortcut if you know your "
+"query will only return a single object. Note that queries that make use of "
+"eager fetching of collections usually return duplicates of the root objects "
+"(but with their collections initialized). You can filter these duplicates "
+"simply through a <literal>Set</literal>."
+msgstr ""
+"하나의 질의는 대개 <literal>list()</literal>를 호출하여 실행되고, 질의의 결과"
+"는 메모리 내에서 하나의 콜렉션 속으로 전체적으로 로드될 것이다. 하나의 질의"
+"에 의해 검색된 엔티티 인스턴스들은 영속(persistent) 상태에 있다. 당신의 질의"
+"가 하나의 객체를 오직 반환할 것임을 당신이 알고 있을 경우에 "
+"<literal>uniqueResult()</literal> 메소드는 단축을 제공한다. 콜렉션들에 대해 "
+"eager 페칭을 사용하는 질의들은 대개 (그것들의 초기화된 콜렉션들을 가진) 루트 "
+"객체들에 대한 중복들을 대개 반환한다. 당신은 <literal>Set</literal>을 통해 이"
+"들 중복들을 간단하게 필터링할 수 있다."
+
+#. Tag: title
+#: session_api.xml:254
+#, no-c-format
+msgid "Iterating results"
 msgstr "결과들을 반복하기"
 
-#: index.docbook:242
-msgid "A query is usually executed by invoking <literal>list()</literal>, the result of the query will be loaded completely into a collection in memory. Entity instances retrieved by a query are in persistent state. The <literal>uniqueResult()</literal> method offers a shortcut if you know your query will only return a single object. Note that queries that make use of eager fetching of collections usually return duplicates of the root objects (but with their collections initialized). You can filter these duplicates simply through a <literal>Set</literal>."
-msgstr "종종, 당신은 <literal>iterate()</literal> 메소드를 사용하여 질의를 실행함으로써 더 나은 퍼포먼스를 성취하는 것이 가능할 수 있다. 이것은 오직 대개 질의에 의해 반환되는 실제 엔티티 인스턴스들이 이미 세션 내에 있거나 second-level 캐시 내에 있을 것임을 당신이 예상하는 경우일 것이다. 만일 그것들이 이미 캐시되지 않았다면, <literal>iterate()</literal>는 <literal>list()</literal> 보다 더 느릴 것이고 간단한 질의에 대해 많은 데이터베이스 접속들을, 대개 오직 식별자들을 반환하는 초기 select에 대해 <emphasis>1</emphasis>번의 접속과 실제 인스턴스들을 초기화 시키는 추가적인 select들에 대해 <emphasis>n</emphasis> 번의 접속을 필요로 할 수 있다."
+#. Tag: para
+#: session_api.xml:256
+#, no-c-format
+msgid ""
+"Occasionally, you might be able to achieve better performance by executing "
+"the query using the <literal>iterate()</literal> method. This will only "
+"usually be the case if you expect that the actual entity instances returned "
+"by the query will already be in the session or second-level cache. If they "
+"are not already cached, <literal>iterate()</literal> will be slower than "
+"<literal>list()</literal> and might require many database hits for a simple "
+"query, usually <emphasis>1</emphasis> for the initial select which only "
+"returns identifiers, and <emphasis>n</emphasis> additional selects to "
+"initialize the actual instances."
+msgstr ""
+"종종, 당신은 <literal>iterate()</literal> 메소드를 사용하여 질의를 실행함으로"
+"써 더 나은 퍼포먼스를 성취하는 것이 가능할 수 있다. 이것은 오직 대개 질의에 "
+"의해 반환되는 실제 엔티티 인스턴스들이 이미 세션 내에 있거나 second-level 캐"
+"시 내에 있을 것임을 당신이 예상하는 경우일 것이다. 만일 그것들이 이미 캐시되"
+"지 않았다면, <literal>iterate()</literal>는 <literal>list()</literal> 보다 "
+"더 느릴 것이고 간단한 질의에 대해 많은 데이터베이스 접속들을, 대개 오직 식별"
+"자들을 반환하는 초기 select에 대해 <emphasis>1</emphasis>번의 접속과 실제 인"
+"스턴스들을 초기화 시키는 추가적인 select들에 대해 <emphasis>n</emphasis> 번"
+"의 접속을 필요로 할 수 있다."
 
-#: index.docbook:254
-msgid "Iterating results"
+#. Tag: programlisting
+#: session_api.xml:268
+#, no-c-format
+msgid ""
+"<![CDATA[// fetch ids\n"
+"Iterator iter = sess.createQuery(\"from eg.Qux q order by q.likeliness\")."
+"iterate();\n"
+"while ( iter.hasNext() ) {\n"
+"    Qux qux = (Qux) iter.next();  // fetch the object\n"
+"    // something we couldnt express in the query\n"
+"    if ( qux.calculateComplicatedAlgorithm() ) {\n"
+"        // delete the current instance\n"
+"        iter.remove();\n"
+"        // dont need to process the rest\n"
+"        break;\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[// fetch ids\n"
-      "Iterator iter = sess.createQuery(\"from eg.Qux q order by q.likeliness\").iterate();\n"
-      "while ( iter.hasNext() ) {\n"
-      "    Qux qux = (Qux) iter.next();  // fetch the object\n"
-      "    // something we couldnt express in the query\n"
-      "    if ( qux.calculateComplicatedAlgorithm() ) {\n"
-      "        // delete the current instance\n"
-      "        iter.remove();\n"
-      "        // dont need to process the rest\n"
-      "        break;\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:256
-msgid "Occasionally, you might be able to achieve better performance by executing the query using the <literal>iterate()</literal> method. This will only usually be the case if you expect that the actual entity instances returned by the query will already be in the session or second-level cache. If they are not already cached, <literal>iterate()</literal> will be slower than <literal>list()</literal> and might require many database hits for a simple query, usually <emphasis>1</emphasis> for the initial select which only returns identifiers, and <emphasis>n</emphasis> additional selects to initialize the actual instances."
+#. Tag: title
+#: session_api.xml:272
+#, no-c-format
+msgid "Queries that return tuples"
 msgstr "튜플들을 반환하는 질의들"
 
-#: index.docbook:268
+#. Tag: para
+#: session_api.xml:274
+#, no-c-format
 msgid ""
-      "<![CDATA[// fetch ids\n"
-      "Iterator iter = sess.createQuery(\"from eg.Qux q order by q.likeliness\").iterate();\n"
-      "while ( iter.hasNext() ) {\n"
-      "    Qux qux = (Qux) iter.next();  // fetch the object\n"
-      "    // something we couldnt express in the query\n"
-      "    if ( qux.calculateComplicatedAlgorithm() ) {\n"
-      "        // delete the current instance\n"
-      "        iter.remove();\n"
-      "        // dont need to process the rest\n"
-      "        break;\n"
-      "    }\n"
-      "}]]>"
-msgstr "Hibernate 질의들은 때때로 객체들의 튜플들을 반환하고, 그 경우에 각각의 튜플은 배열로서 반환된다:"
+"Hibernate queries sometimes return tuples of objects, in which case each "
+"tuple is returned as an array:"
+msgstr ""
+"Hibernate 질의들은 때때로 객체들의 튜플들을 반환하고, 그 경우에 각각의 튜플"
+"은 배열로서 반환된다:"
 
-#: index.docbook:272
-msgid "Queries that return tuples"
+#. Tag: programlisting
+#: session_api.xml:279
+#, no-c-format
+msgid ""
+"<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
+"            \"select kitten, mother from Cat kitten join kitten.mother mother"
+"\")\n"
+"            .list()\n"
+"            .iterator();\n"
+"\n"
+"while ( kittensAndMothers.hasNext() ) {\n"
+"    Object[] tuple = (Object[]) kittensAndMothers.next();\n"
+"    Cat kitten = (Cat) tuple[0];\n"
+"    Cat mother = (Cat) tuple[1];\n"
+"    ....\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
-      "            \"select kitten, mother from Cat kitten join kitten.mother mother\")\n"
-      "            .list()\n"
-      "            .iterator();\n"
-      "\n"
-      "while ( kittensAndMothers.hasNext() ) {\n"
-      "    Object[] tuple = (Object[]) kittensAndMothers.next();\n"
-      "    Cat kitten = (Cat) tuple[0];
-\n"
-      "    Cat mother = (Cat) tuple[1];
-\n"
-      "    ....\n"
-      "}]]>"
 
-#: index.docbook:274
-msgid "Hibernate queries sometimes return tuples of objects, in which case each tuple is returned as an array:"
+#. Tag: title
+#: session_api.xml:284
+#, no-c-format
+msgid "Scalar results"
 msgstr "스칼라 결과들"
 
-#: index.docbook:279
+#. Tag: para
+#: session_api.xml:286
+#, no-c-format
 msgid ""
-      "<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
-      "            \"select kitten, mother from Cat kitten join kitten.mother mother\")\n"
-      "            .list()\n"
-      "            .iterator();\n"
-      "\n"
-      "while ( kittensAndMothers.hasNext() ) {\n"
-      "    Object[] tuple = (Object[]) kittensAndMothers.next();\n"
-      "    Cat kitten = (Cat) tuple[0];\n"
-      "    Cat mother = (Cat) tuple[1];\n"
-      "    ....\n"
-      "}]]>"
-msgstr "질의들은 <literal>select</literal> 절 내에 하나의 클래스에 대한 하나의 프로퍼티를 지정할 수 있다. 그것들은 심지어 SQL 집계 함수들을 호출할 수도 있다. 프로퍼티들이나 aggregate들은 \"스칼라\" 결과들(그리고 영속 상태에 있는 엔티티들이 아닌 것으)로 간주된다."
+"Queries may specify a property of a class in the <literal>select</literal> "
+"clause. They may even call SQL aggregate functions. Properties or aggregates "
+"are considered \"scalar\" results (and not entities in persistent state)."
+msgstr ""
+"질의들은 <literal>select</literal> 절 내에 하나의 클래스에 대한 하나의 프로퍼"
+"티를 지정할 수 있다. 그것들은 심지어 SQL 집계 함수들을 호출할 수도 있다. 프로"
+"퍼티들이나 aggregate들은 \"스칼라\" 결과들(그리고 영속 상태에 있는 엔티티들"
+"이 아닌 것으)로 간주된다."
 
-#: index.docbook:284
-msgid "Scalar results"
+#. Tag: programlisting
+#: session_api.xml:292
+#, no-c-format
+msgid ""
+"<![CDATA[Iterator results = sess.createQuery(\n"
+"        \"select cat.color, min(cat.birthdate), count(cat) from Cat cat \" "
+"+\n"
+"        \"group by cat.color\")\n"
+"        .list()\n"
+"        .iterator();\n"
+"\n"
+"while ( results.hasNext() ) {\n"
+"    Object[] row = (Object[]) results.next();\n"
+"    Color type = (Color) row[0];\n"
+"    Date oldest = (Date) row[1];\n"
+"    Integer count = (Integer) row[2];\n"
+"    .....\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[Iterator results = sess.createQuery(\n"
-      "        \"select cat.color, min(cat.birthdate), count(cat) from Cat cat \" +\n"
-      "        \"group by cat.color\")\n"
-      "        .list()\n"
-      "        .iterator();\n"
-      "\n"
-      "while ( results.hasNext() ) {\n"
-      "    Object[] row = (Object[]) results.next();\n"
-      "    Color type = (Color) row[0];\n"
-      "    Date oldest = (Date) row[1];\n"
-      "    Integer count = (Integer) row[2];\n"
-      "    .....\n"
-      "}]]>"
 
-#: index.docbook:286
-msgid "Queries may specify a property of a class in the <literal>select</literal> clause. They may even call SQL aggregate functions. Properties or aggregates are considered \"scalar\" results (and not entities in persistent state)."
+#. Tag: title
+#: session_api.xml:297
+#, no-c-format
+msgid "Bind parameters"
 msgstr "바인드 프라미터들"
 
-#: index.docbook:292
+#. Tag: para
+#: session_api.xml:299
+#, no-c-format
 msgid ""
-      "<![CDATA[Iterator results = sess.createQuery(\n"
-      "        \"select cat.color, min(cat.birthdate), count(cat) from Cat cat \" +\n"
-      "        \"group by cat.color\")\n"
-      "        .list()\n"
-      "        .iterator();\n"
-      "\n"
-      "while ( results.hasNext() ) {\n"
-      "    Object[] row = (Object[]) results.next();\n"
-      "    Color type = (Color) row[0];\n"
-      "    Date oldest = (Date) row[1];\n"
-      "    Integer count = (Integer) row[2];\n"
-      "    .....\n"
-      "}]]>"
-msgstr "<literal>Query</literal> 상의 메소드들은 명명된 파라미터들 또는 JDBC-스타일의 <literal>?</literal> 파라미터들에 바인딩 값들을 제공한다. <emphasis>JDBC와는 대조적으로, Hibernate 숫자 파라미터들은 0에서 시작된다.</emphasis> 명명된 파라미터들은 질의 문자열 속에서 <literal>:name</literal> 형식의 식별자들이다. 명명된 파라미터들의 장점들은 다음과 같다:"
+"Methods on <literal>Query</literal> are provided for binding values to named "
+"parameters or JDBC-style <literal>?</literal> parameters. <emphasis>Contrary "
+"to JDBC, Hibernate numbers parameters from zero.</emphasis> Named parameters "
+"are identifiers of the form <literal>:name</literal> in the query string. "
+"The advantages of named parameters are:"
+msgstr ""
+"<literal>Query</literal> 상의 메소드들은 명명된 파라미터들 또는 JDBC-스타일"
+"의 <literal>?</literal> 파라미터들에 바인딩 값들을 제공한다. <emphasis>JDBC와"
+"는 대조적으로, Hibernate 숫자 파라미터들은 0에서 시작된다.</emphasis> 명명된 "
+"파라미터들은 질의 문자열 속에서 <literal>:name</literal> 형식의 식별자들이"
+"다. 명명된 파라미터들의 장점들은 다음과 같다:"
 
-#: index.docbook:297
-msgid "Bind parameters"
+#. Tag: para
+#: session_api.xml:309
+#, no-c-format
+msgid ""
+"named parameters are insensitive to the order they occur in the query string"
 msgstr "명명된 파라미터들은 그것들이 질의 문자열 내에 발생하는 순서에 관계없다"
 
-#: index.docbook:299
-msgid "Methods on <literal>Query</literal> are provided for binding values to named parameters or JDBC-style <literal>?</literal> parameters. <emphasis>Contrary to JDBC, Hibernate numbers parameters from zero.</emphasis> Named parameters are identifiers of the form <literal>:name</literal> in the query string. The advantages of named parameters are:"
+#. Tag: para
+#: session_api.xml:315
+#, no-c-format
+msgid "they may occur multiple times in the same query"
 msgstr "그것들은 동일한 질의 내에서 여러 번 발생할 수 있다"
 
-#: index.docbook:309
-msgid "named parameters are insensitive to the order they occur in the query string"
+#. Tag: para
+#: session_api.xml:320
+#, no-c-format
+msgid "they are self-documenting"
 msgstr "그것은 자기-설명적이다"
 
-#: index.docbook:315
-msgid "they may occur multiple times in the same query"
+#. Tag: programlisting
+#: session_api.xml:326
+#, no-c-format
+msgid ""
+"<![CDATA[//named parameter (preferred)\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = :name"
+"\");\n"
+"q.setString(\"name\", \"Fritz\");\n"
+"Iterator cats = q.iterate();]]>"
 msgstr ""
-      "<![CDATA[//named parameter (preferred)\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name = :name\");\n"
-      "q.setString(\"name\", \"Fritz\");\n"
-      "Iterator cats = q.iterate();]]>"
 
-#: index.docbook:320
-msgid "they are self-documenting"
+#. Tag: programlisting
+#: session_api.xml:328
+#, no-c-format
+msgid ""
+"<![CDATA[//positional parameter\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
+"q.setString(0, \"Izi\");\n"
+"Iterator cats = q.iterate();]]>"
 msgstr ""
-      "<![CDATA[//positional parameter\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
-      "q.setString(0, \"Izi\");\n"
-      "Iterator cats = q.iterate();]]>"
 
-#: index.docbook:326
+#. Tag: programlisting
+#: session_api.xml:330
+#, no-c-format
 msgid ""
-      "<![CDATA[//named parameter (preferred)\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name = :name\");\n"
-      "q.setString(\"name\", \"Fritz\");\n"
-      "Iterator cats = q.iterate();]]>"
+"<![CDATA[//named parameter list\n"
+"List names = new ArrayList();\n"
+"names.add(\"Izi\");\n"
+"names.add(\"Fritz\");\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name in (:"
+"namesList)\");\n"
+"q.setParameterList(\"namesList\", names);\n"
+"List cats = q.list();]]>"
 msgstr ""
-      "<![CDATA[//named parameter list\n"
-      "List names = new ArrayList();\n"
-      "names.add(\"Izi\");\n"
-      "names.add(\"Fritz\");\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name in (:namesList)\");\n"
-      "q.setParameterList(\"namesList\", names);\n"
-      "List cats = q.list();]]>"
 
-#: index.docbook:328
+#. Tag: title
+#: session_api.xml:335
+#, no-c-format
+msgid "Pagination"
+msgstr "쪽매김"
+
+#. Tag: para
+#: session_api.xml:337
+#, no-c-format
 msgid ""
-      "<![CDATA[//positional parameter\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
-      "q.setString(0, \"Izi\");\n"
-      "Iterator cats = q.iterate();]]>"
-msgstr "<title>쪽매김</title>"
+"If you need to specify bounds upon your result set (the maximum number of "
+"rows you want to retrieve and / or the first row you want to retrieve) you "
+"should use methods of the <literal>Query</literal> interface:"
+msgstr ""
+"만일 당신이 당신의 결과 셋에 경계(당신이 검색하고자 원하는 최대 개수 그리고/"
+"또는 당신이 검색하고자 원하는 첫 번째 행)을 지정할 필요가 있다면 당신은 "
+"<literal>Query</literal> 인터페이스의 메소드들을 사용해야 한다:"
 
-#: index.docbook:330
+#. Tag: programlisting
+#: session_api.xml:343
+#, no-c-format
 msgid ""
-      "<![CDATA[//named parameter list\n"
-      "List names = new ArrayList();\n"
-      "names.add(\"Izi\");\n"
-      "names.add(\"Fritz\");\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name in (:namesList)\");\n"
-      "q.setParameterList(\"namesList\", names);\n"
-      "List cats = q.list();]]>"
-msgstr "만일 당신이 당신의 결과 셋에 경계(당신이 검색하고자 원하는 최대 개수 그리고/또는 당신이 검색하고자 원하는 첫 번째 행)을 지정할 필요가 있다면 당신은 <literal>Query</literal> 인터페이스의 메소드들을 사용해야 한다:"
+"<![CDATA[Query q = sess.createQuery(\"from DomesticCat cat\");\n"
+"q.setFirstResult(20);\n"
+"q.setMaxResults(10);\n"
+"List cats = q.list();]]>"
+msgstr ""
 
-#: index.docbook:335
-msgid "Pagination"
+#. Tag: para
+#: session_api.xml:345
+#, no-c-format
+msgid ""
+"Hibernate knows how to translate this limit query into the native SQL of "
+"your DBMS."
 msgstr ""
-      "<![CDATA[Query q = sess.createQuery(\"from DomesticCat cat\");\n"
-      "q.setFirstResult(20);\n"
-      "q.setMaxResults(10);\n"
-      "List cats = q.list();]]>"
+"Hibernate는 이 limit 질의를 당신의 DBMS의 native SQL로 번역하는 방법을 알고 "
+"있다."
 
-#: index.docbook:337
-msgid "If you need to specify bounds upon your result set (the maximum number of rows you want to retrieve and / or the first row you want to retrieve) you should use methods of the <literal>Query</literal> interface:"
-msgstr "Hibernate는 이 limit 질의를 당신의 DBMS의 native SQL로 번역하는 방법을 알고 있다."
+#. Tag: title
+#: session_api.xml:353
+#, no-c-format
+msgid "Scrollable iteration"
+msgstr "스크롤 가능한 iteration"
 
-#: index.docbook:343
+#. Tag: para
+#: session_api.xml:355
+#, no-c-format
 msgid ""
-      "<![CDATA[Query q = sess.createQuery(\"from DomesticCat cat\");\n"
-      "q.setFirstResult(20);\n"
-      "q.setMaxResults(10);\n"
-      "List cats = q.list();]]>"
-msgstr "스크롤 가능한 iteration"
+"If your JDBC driver supports scrollable <literal>ResultSet</literal>s, the "
+"<literal>Query</literal> interface may be used to obtain a "
+"<literal>ScrollableResults</literal> object, which allows flexible "
+"navigation of the query results."
+msgstr ""
+"당신의 JDBC 드라이버가 스크롤 가능한 <literal>ResultSet</literal>들을 지원할 "
+"경우, <literal>Query</literal> 인터페이스는 <literal>ScrollableResults</"
+"literal> 객체를 얻는데 사용될 수 있고, 그것은 질의 결과들에 대한 유연한 네비"
+"게이션을 허용해준다."
 
-#: index.docbook:345
-msgid "Hibernate knows how to translate this limit query into the native SQL of your DBMS."
-msgstr "당신의 JDBC 드라이버가 스크롤 가능한 <literal>ResultSet</literal>들을 지원할 경우, <literal>Query</literal> 인터페이스는 <literal>ScrollableResults</literal> 객체를 얻는데 사용될 수 있고, 그것은 질의 결과들에 대한 유연한 네비게이션을 허용해준다."
+#. Tag: programlisting
+#: session_api.xml:362
+#, no-c-format
+msgid ""
+"<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat "
+"cat \" +\n"
+"                            \"order by cat.name\");\n"
+"ScrollableResults cats = q.scroll();\n"
+"if ( cats.first() ) {\n"
+"\n"
+"    // find the first name on each page of an alphabetical list of cats by "
+"name\n"
+"    firstNamesOfPages = new ArrayList();\n"
+"    do {\n"
+"        String name = cats.getString(0);\n"
+"        firstNamesOfPages.add(name);\n"
+"    }\n"
+"    while ( cats.scroll(PAGE_SIZE) );\n"
+"\n"
+"    // Now get the first page of cats\n"
+"    pageOfCats = new ArrayList();\n"
+"    cats.beforeFirst();\n"
+"    int i=0;\n"
+"    while( ( PAGE_SIZE > i++ ) && cats.next() ) pageOfCats.add( cats.get"
+"(1) );\n"
+"\n"
+"}\n"
+"cats.close()]]>"
+msgstr ""
 
-#: index.docbook:353
-msgid "Scrollable iteration"
+#. Tag: para
+#: session_api.xml:364
+#, no-c-format
+msgid ""
+"Note that an open database connection (and cursor) is required for this "
+"functionality, use <literal>setMaxResult()</literal>/<literal>setFirstResult"
+"()</literal> if you need offline pagination functionality."
 msgstr ""
-      "<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat cat \" +\n"
-      "                            \"order by cat.name\");\n"
-      "ScrollableResults cats = q.scroll();\n"
-      "if ( cats.first() ) {\n"
-      "\n"
-      "    // find the first name on each page of an alphabetical list of cats by name\n"
-      "    firstNamesOfPages = new ArrayList();\n"
-      "    do {\n"
-      "        String name = cats.getString(0);\n"
-      "        firstNamesOfPages.add(name);\n"
-      "    }\n"
-      "    while ( cats.scroll(PAGE_SIZE) );\n"
-      "\n"
-      "    // Now get the first page of cats\n"
-      "    pageOfCats = new ArrayList();\n"
-      "    cats.beforeFirst();\n"
-      "    int i=0;\n"
-      "    while( ( PAGE_SIZE > i++ ) && cats.next() ) pageOfCats.add( cats.get(1) );\n"
-      "\n"
-      "}\n"
-      "cats.close()]]>"
+"열려진 데이터베이스 커넥션(과 커서)가 이 기능에 필요함을 노트하고, 만일 당신"
+"이 쪽매김 기능을 작동시킬 필요가 있다면 <literal>setMaxResult()</literal>/"
+"<literal>setFirstResult()</literal>를 사용하라."
 
-#: index.docbook:355
-msgid "If your JDBC driver supports scrollable <literal>ResultSet</literal>s, the <literal>Query</literal> interface may be used to obtain a <literal>ScrollableResults</literal> object, which allows flexible navigation of the query results."
-msgstr "열려진 데이터베이스 커넥션(과 커서)가 이 기능에 필요함을 노트하고, 만일 당신이 쪽매김 기능을 작동시킬 필요가 있다면 <literal>setMaxResult()</literal>/<literal>setFirstResult()</literal>를 사용하라."
+#. Tag: title
+#: session_api.xml:373
+#, no-c-format
+msgid "Externalizing named queries"
+msgstr "명명된 질의들을 구체화 시키기"
 
-#: index.docbook:362
+#. Tag: para
+#: session_api.xml:375
+#, no-c-format
 msgid ""
-      "<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat cat \" +\n"
-      "                            \"order by cat.name\");\n"
-      "ScrollableResults cats = q.scroll();\n"
-      "if ( cats.first() ) {\n"
-      "\n"
-      "    // find the first name on each page of an alphabetical list of cats by name\n"
-      "    firstNamesOfPages = new ArrayList();\n"
-      "    do {\n"
-      "        String name = cats.getString(0);\n"
-      "        firstNamesOfPages.add(name);\n"
-      "    }\n"
-      "    while ( cats.scroll(PAGE_SIZE) );\n"
-      "\n"
-      "    // Now get the first page of cats\n"
-      "    pageOfCats = new ArrayList();\n"
-      "    cats.beforeFirst();\n"
-      "    int i=0;\n"
-      "    while( ( PAGE_SIZE > i++ ) && cats.next() ) pageOfCats.add( cats.get(1) );\n"
-      "\n"
-      "}\n"
-      "cats.close()]]>"
-msgstr "명명된 질의들을 구체화 시키기"
+"You may also define named queries in the mapping document. (Remember to use "
+"a <literal>CDATA</literal> section if your query contains characters that "
+"could be interpreted as markup.)"
+msgstr ""
+"당신은 또한 매핑 문서 속에 명명된 질의들을 정의할 수 있다.(만일 당신의 질의"
+"가 마크업으로서 해석될 수 있는 문자들을 포함할 경우에 <literal>CDATA</"
+"literal> 섹션을 사용하는 것을 기억하라))"
 
-#: index.docbook:364
-msgid "Note that an open database connection (and cursor) is required for this functionality, use <literal>setMaxResult()</literal>/<literal>setFirstResult()</literal> if you need offline pagination functionality."
-msgstr "당신은 또한 매핑 문서 속에 명명된 질의들을 정의할 수 있다.(만일 당신의 질의가 마크업으로서 해석될 수 있는 문자들을 포함할 경우에 <literal>CDATA</literal> 섹션을 사용하는 것을 기억하라))"
-
-#: index.docbook:373
-msgid "Externalizing named queries"
+#. Tag: programlisting
+#: session_api.xml:381
+#, no-c-format
+msgid ""
+"<![CDATA[<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
+"    from eg.DomesticCat as cat\n"
+"        where cat.name = ?\n"
+"        and cat.weight > ?\n"
+"] ]></query>]]>"
 msgstr ""
-      "<![CDATA[<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
-      "    from eg.DomesticCat as cat\n"
-      "        where cat.name = ?\n"
-      "        and cat.weight > ?\n"
-      "] ]></query>]]>"
 
-#: index.docbook:375
-msgid "You may also define named queries in the mapping document. (Remember to use a <literal>CDATA</literal> section if your query contains characters that could be interpreted as markup.)"
+#. Tag: para
+#: session_api.xml:383
+#, no-c-format
+msgid "Parameter binding and executing is done programatically:"
 msgstr "파라미터 바인딩과 실행은 프로그램 상으로 행해진다:"
 
-#: index.docbook:381
+#. Tag: programlisting
+#: session_api.xml:387
+#, no-c-format
 msgid ""
-      "<![CDATA[<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
-      "    from eg.DomesticCat as cat\n"
-      "        where cat.name = ?\n"
-      "        and cat.weight > ?\n"
-      "] ]></query>]]>"
+"<![CDATA[Query q = sess.getNamedQuery(\"ByNameAndMaximumWeight\");\n"
+"q.setString(0, name);\n"
+"q.setInt(1, minWeight);\n"
+"List cats = q.list();]]>"
 msgstr ""
-      "<![CDATA[Query q = sess.getNamedQuery(\"ByNameAndMaximumWeight\");\n"
-      "q.setString(0, name);\n"
-      "q.setInt(1, minWeight);\n"
-      "List cats = q.list();]]>"
 
-#: index.docbook:383
-msgid "Parameter binding and executing is done programatically:"
-msgstr "실제 프로그램 코드는 사용되는 질의 언어에 독립적이고, 당신은 또한 메타데이터로 native SQL 질의들을 정의할 수도 있거나 그것들을 매핑 파일들 속에 기존 질의들을 위치지움으로써 기존 질의들을 Hibernate로 이전시킬 수도 있음을 노트하라."
+#. Tag: para
+#: session_api.xml:389
+#, no-c-format
+msgid ""
+"Note that the actual program code is independent of the query language that "
+"is used, you may also define native SQL queries in metadata, or migrate "
+"existing queries to Hibernate by placing them in mapping files."
+msgstr ""
+"실제 프로그램 코드는 사용되는 질의 언어에 독립적이고, 당신은 또한 메타데이터"
+"로 native SQL 질의들을 정의할 수도 있거나 그것들을 매핑 파일들 속에 기존 질의"
+"들을 위치지움으로써 기존 질의들을 Hibernate로 이전시킬 수도 있음을 노트하라."
 
-#: index.docbook:387
+#. Tag: para
+#: session_api.xml:395
+#, no-c-format
 msgid ""
-      "<![CDATA[Query q = sess.getNamedQuery(\"ByNameAndMaximumWeight\");\n"
-      "q.setString(0, name);\n"
-      "q.setInt(1, minWeight);\n"
-      "List cats = q.list();]]>"
-msgstr "또한 <literal>&lt;hibernate-mapping&gt;</literal> 요소 내에서 하나의 질의 선언은 그 질의에 대한 전역 유일 이름을 필요로 하고, 반면에 <literal>&lt;class&gt;</literal> 요소 내에서의 질의 선언은 클래스 이름으로 수직된이름을 첨가하여 자동적으로 유일하게 만들어진다. 예를 들어 <literal>eg.Cat.ByNameAndMaximumWeight</literal>."
+"Also note that a query declaration inside a <literal>&lt;hibernate-"
+"mapping&gt;</literal> element requires a global unique name for the query, "
+"while a query declaration inside a <literal>&lt;class&gt;</literal> element "
+"is made unique automatically by prepending the fully qualified name of the "
+"class, for example <literal>eg.Cat.ByNameAndMaximumWeight</literal>."
+msgstr ""
+"또한 <literal>&lt;hibernate-mapping&gt;</literal> 요소 내에서 하나의 질의 선"
+"언은 그 질의에 대한 전역 유일 이름을 필요로 하고, 반면에 <literal>&lt;"
+"class&gt;</literal> 요소 내에서의 질의 선언은 클래스 이름으로 수직된이름을 첨"
+"가하여 자동적으로 유일하게 만들어진다. 예를 들어 <literal>eg.Cat."
+"ByNameAndMaximumWeight</literal>."
 
-#: index.docbook:389
-msgid "Note that the actual program code is independent of the query language that is used, you may also define native SQL queries in metadata, or migrate existing queries to Hibernate by placing them in mapping files."
+#. Tag: title
+#: session_api.xml:408
+#, no-c-format
+msgid "Filtering collections"
 msgstr "콜렉션들을 필터링 하기"
 
-#: index.docbook:395
-msgid "Also note that a query declaration inside a <literal>&lt;hibernate-mapping&gt;</literal> element requires a global unique name for the query, while a query declaration inside a <literal>&lt;class&gt;</literal> element is made unique automatically by prepending the fully qualified name of the class, for example <literal>eg.Cat.ByNameAndMaximumWeight</literal>."
-msgstr "콜렉션 <emphasis>필터</emphasis>는 영속 콜렉션 또는 배열에 적용될 수 있는 질의의 특별한 타입이다. 질의 문자열은 현재의 콜렉션 요소를 의미하는 <literal>this</literal>를 참조할 수 있다."
+#. Tag: para
+#: session_api.xml:409
+#, no-c-format
+msgid ""
+"A collection <emphasis>filter</emphasis> is a special type of query that may "
+"be applied to a persistent collection or array. The query string may refer "
+"to <literal>this</literal>, meaning the current collection element."
+msgstr ""
+"콜렉션 <emphasis>필터</emphasis>는 영속 콜렉션 또는 배열에 적용될 수 있는 질"
+"의의 특별한 타입이다. 질의 문자열은 현재의 콜렉션 요소를 의미하는 "
+"<literal>this</literal>를 참조할 수 있다."
 
-#: index.docbook:408
-msgid "Filtering collections"
+#. Tag: programlisting
+#: session_api.xml:415
+#, no-c-format
+msgid ""
+"<![CDATA[Collection blackKittens = session.createFilter(\n"
+"    pk.getKittens(), \n"
+"    \"where this.color = ?\")\n"
+"    .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )\n"
+"    .list()\n"
+");]]>"
 msgstr ""
-      "<![CDATA[Collection blackKittens = session.createFilter(\n"
-      "    pk.getKittens(), \n"
-      "    \"where this.color = ?\")\n"
-      "    .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )\n"
-      "    .list()\n"
-      ");]]>"
 
-#: index.docbook:409
-msgid "A collection <emphasis>filter</emphasis> is a special type of query that may be applied to a persistent collection or array. The query string may refer to <literal>this</literal>, meaning the current collection element."
-msgstr "반환되는 콜렉션은 하나의 bag으로 간주되고, 그것은 주어진 콜렉션에 대한 사본이다. 원래의 콜렉션은 변경되지 않는다 (이것은 이름 \"filter\"의 의미와는 정반대이지만, 예상되는 행위와 일치된다)."
+#. Tag: para
+#: session_api.xml:417
+#, no-c-format
+msgid ""
+"The returned collection is considered a bag, and it's a copy of the given "
+"collection. The original collection is not modified (this is contrary to the "
+"implication of the name \"filter\", but consistent with expected behavior)."
+msgstr ""
+"반환되는 콜렉션은 하나의 bag으로 간주되고, 그것은 주어진 콜렉션에 대한 사본이"
+"다. 원래의 콜렉션은 변경되지 않는다 (이것은 이름 \"filter\"의 의미와는 정반대"
+"이지만, 예상되는 행위와 일치된다)."
 
-#: index.docbook:415
+#. Tag: para
+#: session_api.xml:423
+#, no-c-format
 msgid ""
-      "<![CDATA[Collection blackKittens = session.createFilter(\n"
-      "    pk.getKittens(), \n"
-      "    \"where this.color = ?\")\n"
-      "    .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )\n"
-      "    .list()\n"
-      ");]]>"
-msgstr "필터들은 <literal>from</literal> 절을 필요로 하지 않음을 관찰하라(필요할 경우에 필터들이 한 개의 from 절을 가질 수 있을지라도). 필터들은 콜렉션 요소들 자체들을 반환하는 것으로 한정되지 않는다."
+"Observe that filters do not require a <literal>from</literal> clause (though "
+"they may have one if required). Filters are not limited to returning the "
+"collection elements themselves."
+msgstr ""
+"필터들은 <literal>from</literal> 절을 필요로 하지 않음을 관찰하라(필요할 경우"
+"에 필터들이 한 개의 from 절을 가질 수 있을지라도). 필터들은 콜렉션 요소들 자"
+"체들을 반환하는 것으로 한정되지 않는다."
 
-#: index.docbook:417
-msgid "The returned collection is considered a bag, and it's a copy of the given collection. The original collection is not modified (this is contrary to the implication of the name \"filter\", but consistent with expected behavior)."
+#. Tag: programlisting
+#: session_api.xml:428
+#, no-c-format
+msgid ""
+"<![CDATA[Collection blackKittenMates = session.createFilter(\n"
+"    pk.getKittens(), \n"
+"    \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[Collection blackKittenMates = session.createFilter(\n"
-      "    pk.getKittens(), \n"
-      "    \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
-      "    .list();]]>"
 
-#: index.docbook:423
-msgid "Observe that filters do not require a <literal>from</literal> clause (though they may have one if required). Filters are not limited to returning the collection elements themselves."
-msgstr "심지어 하나의 공백의 필터 질의도 예를 들어 거대한 콜렉션 내에 있는 요소들의 부분집합들을 로드시키는데 유용하다:"
+#. Tag: para
+#: session_api.xml:430
+#, no-c-format
+msgid ""
+"Even an empty filter query is useful, e.g. to load a subset of elements in a "
+"huge collection:"
+msgstr ""
+"심지어 하나의 공백의 필터 질의도 예를 들어 거대한 콜렉션 내에 있는 요소들의 "
+"부분집합들을 로드시키는데 유용하다:"
 
-#: index.docbook:428
+#. Tag: programlisting
+#: session_api.xml:435
+#, no-c-format
 msgid ""
-      "<![CDATA[Collection blackKittenMates = session.createFilter(\n"
-      "    pk.getKittens(), \n"
-      "    \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
-      "    .list();]]>"
+"<![CDATA[Collection tenKittens = session.createFilter(\n"
+"    mother.getKittens(), \"\")\n"
+"    .setFirstResult(0).setMaxResults(10)\n"
+"    .list();]]>"
 msgstr ""
-      "<![CDATA[Collection tenKittens = session.createFilter(\n"
-      "    mother.getKittens(), \"\")\n"
-      "    .setFirstResult(0).setMaxResults(10)\n"
-      "    .list();]]>"
 
-#: index.docbook:430
-msgid "Even an empty filter query is useful, e.g. to load a subset of elements in a huge collection:"
+#. Tag: title
+#: session_api.xml:440
+#, no-c-format
+msgid "Criteria queries"
 msgstr "Criteria 질의들"
 
-#: index.docbook:435
+#. Tag: para
+#: session_api.xml:442
+#, no-c-format
 msgid ""
-      "<![CDATA[Collection tenKittens = session.createFilter(\n"
-      "    mother.getKittens(), \"\")\n"
-      "    .setFirstResult(0).setMaxResults(10)\n"
-      "    .list();]]>"
-msgstr "HQL은 극히 강력하지만 몇몇 개발자들은 질의 문자열들을 빌드하기 보다, 객체 지향 API를 사용하여 동적으로 질의들을 빌드시키는 것을 선호한다. Hibernate는 이들 경우들을 위한 직관적인 <literal>Criteria</literal> query API를 제공한다:"
+"HQL is extremely powerful but some developers prefer to build queries "
+"dynamically, using an object-oriented API, rather than building query "
+"strings. Hibernate provides an intuitive <literal>Criteria</literal> query "
+"API for these cases:"
+msgstr ""
+"HQL은 극히 강력하지만 몇몇 개발자들은 질의 문자열들을 빌드하기 보다, 객체 지"
+"향 API를 사용하여 동적으로 질의들을 빌드시키는 것을 선호한다. Hibernate는 이"
+"들 경우들을 위한 직관적인 <literal>Criteria</literal> query API를 제공한다:"
 
-#: index.docbook:440
-msgid "Criteria queries"
+#. Tag: programlisting
+#: session_api.xml:448
+#, no-c-format
+msgid ""
+"<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
+"crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
+"crit.setMaxResults(10);\n"
+"List cats = crit.list();]]>"
 msgstr ""
-      "<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
-      "crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
-      "crit.setMaxResults(10);\n"
-      "List cats = crit.list();]]>"
 
-#: index.docbook:442
-msgid "HQL is extremely powerful but some developers prefer to build queries dynamically, using an object-oriented API, rather than building query strings. Hibernate provides an intuitive <literal>Criteria</literal> query API for these cases:"
-msgstr "<literal>Criteria</literal>와 연관된 <literal>Example</literal> API 는 <xref linkend=\"querycriteria\"/>에서 상세하게 논의된다."
+#. Tag: para
+#: session_api.xml:450
+#, no-c-format
+msgid ""
+"The <literal>Criteria</literal> and the associated <literal>Example</"
+"literal> API are discussed in more detail in <xref linkend=\"querycriteria\"/"
+">."
+msgstr ""
+"<literal>Criteria</literal>와 연관된 <literal>Example</literal> API 는 <xref "
+"linkend=\"querycriteria\"/>에서 상세하게 논의된다."
 
-#: index.docbook:448
-msgid ""
-      "<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
-      "crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
-      "crit.setMaxResults(10);\n"
-      "List cats = crit.list();]]>"
+#. Tag: title
+#: session_api.xml:458
+#, no-c-format
+msgid "Queries in native SQL"
 msgstr "native SQL에서 질의들"
 
-#: index.docbook:450
-msgid "The <literal>Criteria</literal> and the associated <literal>Example</literal> API are discussed in more detail in <xref linkend=\"querycriteria\"/>."
-msgstr "당신은 <literal>createSQLQuery()</literal>를 사용하여 SQL 속에 하나의 질의를 표현할 수 있고, Hibernate로 하여금 결과 셋들로부터 객체들로의 매핑을 처리하도록 할수도 있다. 당신은 아무때나 <literal>session.connection()</literal>을 호출할 수 있고 직접 JDBC <literal>Connection</literal>을 사용할 수 있음을 노트하라. 만일 당신이 Hibernate API를 사용하고자 선택한 경우에 , 당신은 SQL alias들을 중괄호들 속에 포함시켜야 한다:"
+#. Tag: para
+#: session_api.xml:460
+#, no-c-format
+msgid ""
+"You may express a query in SQL, using <literal>createSQLQuery()</literal> "
+"and let Hibernate take care of the mapping from result sets to objects. Note "
+"that you may at any time call <literal>session.connection()</literal> and "
+"use the JDBC <literal>Connection</literal> directly. If you chose to use the "
+"Hibernate API, you must enclose SQL aliases in braces:"
+msgstr ""
+"당신은 <literal>createSQLQuery()</literal>를 사용하여 SQL 속에 하나의 질의를 "
+"표현할 수 있고, Hibernate로 하여금 결과 셋들로부터 객체들로의 매핑을 처리하도"
+"록 할수도 있다. 당신은 아무때나 <literal>session.connection()</literal>을 호"
+"출할 수 있고 직접 JDBC <literal>Connection</literal>을 사용할 수 있음을 노트"
+"하라. 만일 당신이 Hibernate API를 사용하고자 선택한 경우에 , 당신은 SQL alias"
+"들을 중괄호들 속에 포함시켜야 한다:"
 
-#: index.docbook:458
-msgid "Queries in native SQL"
+#. Tag: programlisting
+#: session_api.xml:468
+#, no-c-format
+msgid ""
+"<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} "
+"WHERE ROWNUM<10\")\n"
+"    .addEntity(\"cat\", Cat.class)\n"
+".list();]]>"
 msgstr ""
-      "<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} WHERE ROWNUM<10\")
-\n"
-      "    .addEntity(\"cat\", Cat.class)
-\n"
-      ".list();]]>"
 
-#: index.docbook:460
-msgid "You may express a query in SQL, using <literal>createSQLQuery()</literal> and let Hibernate take care of the mapping from result sets to objects. Note that you may at any time call <literal>session.connection()</literal> and use the JDBC <literal>Connection</literal> directly. If you chose to use the Hibernate API, you must enclose SQL aliases in braces:"
+#. Tag: programlisting
+#: session_api.xml:470
+#, no-c-format
+msgid ""
+"<![CDATA[List cats = session.createSQLQuery(\n"
+"    \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n"
+"           \"{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ... \" "
+"+\n"
+"    \"FROM CAT {cat} WHERE ROWNUM<10\")\n"
+"    .addEntity(\"cat\", Cat.class)\n"
+".list()]]>"
 msgstr ""
-      "<![CDATA[List cats = session.createSQLQuery(
-\n"
-      "    \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +
-\n"
-      "           \"{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ... \" +
-\n"
-      "    \"FROM CAT {cat} WHERE ROWNUM<10\")
-\n"
-      "    .addEntity(\"cat\", Cat.class)
-\n"
-      ".list()]]>"
 
-#: index.docbook:468
+#. Tag: para
+#: session_api.xml:472
+#, no-c-format
 msgid ""
-      "<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} WHERE ROWNUM<10\")\n"
-      "    .addEntity(\"cat\", Cat.class)\n"
-      ".list();]]>"
-msgstr "SQL 질의들은 Hibernate 질의들처럼 명명된 파라미터들과 위치 파라미터들을 포함할 수도 있다. SQL 질의들에 대한 추가 정보는 <xref linkend=\"querysql\"/>에서 찾을 수 있다."
+"SQL queries may contain named and positional parameters, just like Hibernate "
+"queries. More information about native SQL queries in Hibernate can be found "
+"in <xref linkend=\"querysql\"/>."
+msgstr ""
+"SQL 질의들은 Hibernate 질의들처럼 명명된 파라미터들과 위치 파라미터들을 포함"
+"할 수도 있다. SQL 질의들에 대한 추가 정보는 <xref linkend=\"querysql\"/>에서 "
+"찾을 수 있다."
 
-#: index.docbook:470
-msgid ""
-      "<![CDATA[List cats = session.createSQLQuery(\n"
-      "    \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n"
-      "           \"{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ... \" +\n"
-      "    \"FROM CAT {cat} WHERE ROWNUM<10\")\n"
-      "    .addEntity(\"cat\", Cat.class)\n"
-      ".list()]]>"
+#. Tag: title
+#: session_api.xml:483
+#, no-c-format
+msgid "Modifying persistent objects"
 msgstr "영속 객체들을 변경하기"
 
-#: index.docbook:472
-msgid "SQL queries may contain named and positional parameters, just like Hibernate queries. More information about native SQL queries in Hibernate can be found in <xref linkend=\"querysql\"/>."
-msgstr "<emphasis>트랜잭션 상의 영속 인스턴스들</emphasis> (예를들면. <literal>Session</literal>에 의해 로드되고, 저장되고, 생성되거나 질의된 객체들)은 어플리케이션에 의해 처리될 수 있고 영속 상태에 대한 임의의 변경들은 <literal>Session</literal>이 <emphasis>flush될</emphasis> 때 영속화 될 것이다(이 장의 뒷 부분에서 논의됨). 당신의 변경들을 영속화 시키기 위해 (다른 용도를 가진 <literal>update()</literal>와 같은) 특별한 메소드를 호출할 필요가 없다. 따라서 객체의 상태를 업데이트 시키는 가장 간단한 방법은 <literal>Session</literal>이 열려 있는 동안, 그것을 <literal>load()</literal>시키고 나서, 그것을 직접 처리하는 것이다:"
+#. Tag: para
+#: session_api.xml:485
+#, no-c-format
+msgid ""
+"<emphasis>Transactional persistent instances</emphasis> (ie. objects loaded, "
+"saved, created or queried by the <literal>Session</literal>) may be "
+"manipulated by the application and any changes to persistent state will be "
+"persisted when the <literal>Session</literal> is <emphasis>flushed</"
+"emphasis> (discussed later in this chapter). There is no need to call a "
+"particular method (like <literal>update()</literal>, which has a different "
+"purpose) to make your modifications persistent. So the most straightforward "
+"way to update the state of an object is to <literal>load()</literal> it, and "
+"then manipulate it directly, while the <literal>Session</literal> is open:"
+msgstr ""
+"<emphasis>트랜잭션 상의 영속 인스턴스들</emphasis> (예를들면. "
+"<literal>Session</literal>에 의해 로드되고, 저장되고, 생성되거나 질의된 객체"
+"들)은 어플리케이션에 의해 처리될 수 있고 영속 상태에 대한 임의의 변경들은 "
+"<literal>Session</literal>이 <emphasis>flush될</emphasis> 때 영속화 될 것이다"
+"(이 장의 뒷 부분에서 논의됨). 당신의 변경들을 영속화 시키기 위해 (다른 용도"
+"를 가진 <literal>update()</literal>와 같은) 특별한 메소드를 호출할 필요가 없"
+"다. 따라서 객체의 상태를 업데이트 시키는 가장 간단한 방법은 "
+"<literal>Session</literal>이 열려 있는 동안, 그것을 <literal>load()</literal>"
+"시키고 나서, 그것을 직접 처리하는 것이다:"
 
-#: index.docbook:483
-msgid "Modifying persistent objects"
+#. Tag: programlisting
+#: session_api.xml:496
+#, no-c-format
+msgid ""
+"<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long"
+"(69) );\n"
+"cat.setName(\"PK\");\n"
+"sess.flush();  // changes to cat are automatically detected and persisted]]>"
 msgstr ""
-      "<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long(69) );\n"
-      "cat.setName(\"PK\");\n"
-      "sess.flush();  // changes to cat are automatically detected and persisted]]>"
 
-#: index.docbook:485
-msgid "<emphasis>Transactional persistent instances</emphasis> (ie. objects loaded, saved, created or queried by the <literal>Session</literal>) may be manipulated by the application and any changes to persistent state will be persisted when the <literal>Session</literal> is <emphasis>flushed</emphasis> (discussed later in this chapter). There is no need to call a particular method (like <literal>update()</literal>, which has a different purpose) to make your modifications persistent. So the most straightforward way to update the state of an object is to <literal>load()</literal> it, and then manipulate it directly, while the <literal>Session</literal> is open:"
-msgstr "때때로 이 프로그래밍 모형은 불충분하다. 왜냐하면 그것은 동일한 세션 내에서 (객체를 로드시키는) SQL <literal>SELECT</literal>와 (그것의 업데이트된 상태를 영속화 시키는) SQL <literal>UPDATE</literal> 양자를 필요로 할 것이기 때문이다. 그러므로 Hibernate는 detached 인스턴스들을 사용하는 대안적인 접근법을 제공한다."
+#. Tag: para
+#: session_api.xml:498
+#, no-c-format
+msgid ""
+"Sometimes this programming model is inefficient since it would require both "
+"an SQL <literal>SELECT</literal> (to load an object) and an SQL "
+"<literal>UPDATE</literal> (to persist its updated state) in the same "
+"session. Therefore Hibernate offers an alternate approach, using detached "
+"instances."
+msgstr ""
+"때때로 이 프로그래밍 모형은 불충분하다. 왜냐하면 그것은 동일한 세션 내에서 "
+"(객체를 로드시키는) SQL <literal>SELECT</literal>와 (그것의 업데이트된 상태"
+"를 영속화 시키는) SQL <literal>UPDATE</literal> 양자를 필요로 할 것이기 때문"
+"이다. 그러므로 Hibernate는 detached 인스턴스들을 사용하는 대안적인 접근법을 "
+"제공한다."
 
-#: index.docbook:496
+#. Tag: emphasis
+#: session_api.xml:506
+#, fuzzy, no-c-format
 msgid ""
-      "<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long(69) );\n"
-      "cat.setName(\"PK\");\n"
-      "sess.flush();  // changes to cat are automatically detected and persisted]]>"
-msgstr "Hibernate는 <literal>UPDATE</literal> 문장 또는 <literal>DELETE</literal> 문장의 직접적인 실행을 위한 그것 자신의 API를 제공하지 않음을 노트하라. Hibernate는 하나의 <emphasis>상태 관리</emphasis> 서비스이고, 당신은 그것을 사용할 <emphasis>문장들</emphasis>을 생각하지 말아야 한다. JDBC는 SQL 문장들을 실행시키는 완전한 API이고, 당신은 <literal>session.connection()</literal>을 호출하여 아무때나 한 개의 JDBC <literal>Connection</literal>을 얻을 수 있다. 게다가 대량 오퍼레이션의 개념은 온라인 트랜잭션 처리-지향적인 어플리케이션들을 위한 객체/관계형 매핑과 충돌한다. 하지만 Hibernate의 장래 버전들은 특별한 대용량의 오퍼레이션 기능들을 제공할 수도 있다. 몇몇 가능한 배치 오퍼레이션 트릭들에 대해서는 <xref linkend=\"batch\"/>을 보라."
+"Note that Hibernate does not offer its own API for direct execution of "
+"<literal>UPDATE</literal> or <literal>DELETE</literal> statements. Hibernate "
+"is a <emphasis>state management</emphasis> service, you don't have to think "
+"in <emphasis>statements</emphasis> to use it. JDBC is a perfect API for "
+"executing SQL statements, you can get a JDBC <literal>Connection</literal> "
+"at any time by calling <literal>session.connection()</literal>. Furthermore, "
+"the notion of mass operations conflicts with object/relational mapping for "
+"online transaction processing-oriented applications. Future versions of "
+"Hibernate may however provide special mass operation functions. See <xref "
+"linkend=\"batch\"/> for some possible batch operation tricks."
+msgstr ""
+"Hibernate는 <placeholder-1/> 문장 또는 <placeholder-2/> 문장의 직접적인 실행"
+"을 위한 그것 자신의 API를 제공하지 않음을 노트하라. Hibernate는 하나의 "
+"<placeholder-3/> 서비스이고, 당신은 그것을 사용할 <placeholder-4/>을 생각하"
+"지 말아야 한다. JDBC는 SQL 문장들을 실행시키는 완전한 API이고, 당신은 "
+"<placeholder-5/>을 호출하여 아무때나 한 개의 JDBC <placeholder-6/>을 얻을 수 "
+"있다. 게다가 대량 오퍼레이션의 개념은 온라인 트랜잭션 처리-지향적인 어플리케"
+"이션들을 위한 객체/관계형 매핑과 충돌한다. 하지만 Hibernate의 장래 버전들은 "
+"특별한 대용량의 오퍼레이션 기능들을 제공할 수도 있다. 몇몇 가능한 배치 오퍼레"
+"이션 트릭들에 대해서는 <xref linkend=\"batch\"/>을 보라."
 
-#: index.docbook:498
-msgid "Sometimes this programming model is inefficient since it would require both an SQL <literal>SELECT</literal> (to load an object) and an SQL <literal>UPDATE</literal> (to persist its updated state) in the same session. Therefore Hibernate offers an alternate approach, using detached instances."
+#. Tag: title
+#: session_api.xml:521
+#, no-c-format
+msgid "Modifying detached objects"
 msgstr "detached 객체들을 변경시키기"
 
-#: index.docbook:506
-msgid "Note that Hibernate does not offer its own API for direct execution of <literal>UPDATE</literal> or <literal>DELETE</literal> statements. Hibernate is a <emphasis>state management</emphasis> service, you don't have to think in <emphasis>statements</emphasis> to use it. JDBC is a perfect API for executing SQL statements, you can get a JDBC <literal>Connection</literal> at any time by calling <literal>session.connection()</literal>. Furthermore, the notion of mass operations conflicts with object/relational mapping for online transaction processing-oriented applications. Future versions of Hibernate may however provide special mass operation functions. See <xref linkend=\"batch\"/> for some possible batch operation tricks."
-msgstr "많은 어플리케이션들은 하나의 트랜잭션 내에서 하나의 객체를 검색하고, 처리를 위한 UI 계층으로 그것을 전송하고, 그런 다음 새로운 트랜잭션 내에서 변경들을 저장할 필요가 있다. 고도의-동시성 환경에서 이런 종류의 접근법을 사용하는 어플리케이션들은 대개 작업의 \"긴\" 단위를 확실히 격리시키기 위해 버전화 된 데이터를 사용한다."
+#. Tag: para
+#: session_api.xml:523
+#, no-c-format
+msgid ""
+"Many applications need to retrieve an object in one transaction, send it to "
+"the UI layer for manipulation, then save the changes in a new transaction. "
+"Applications that use this kind of approach in a high-concurrency "
+"environment usually use versioned data to ensure isolation for the \"long\" "
+"unit of work."
+msgstr ""
+"많은 어플리케이션들은 하나의 트랜잭션 내에서 하나의 객체를 검색하고, 처리를 "
+"위한 UI 계층으로 그것을 전송하고, 그런 다음 새로운 트랜잭션 내에서 변경들을 "
+"저장할 필요가 있다. 고도의-동시성 환경에서 이런 종류의 접근법을 사용하는 어플"
+"리케이션들은 대개 작업의 \"긴\" 단위를 확실히 격리시키기 위해 버전화 된 데이"
+"터를 사용한다."
 
-#: index.docbook:521
-msgid "Modifying detached objects"
-msgstr "Hibernate는 <literal>Session.update()</literal> 메소드 또는 <literal>Session.merge()</literal> 메소드를 사용하여 detached 인스턴스들의 재첨부를 제공함으로써 이 모형을 지원한다:"
+#. Tag: para
+#: session_api.xml:530
+#, no-c-format
+msgid ""
+"Hibernate supports this model by providing for reattachment of detached "
+"instances using the <literal>Session.update()</literal> or <literal>Session."
+"merge()</literal> methods:"
+msgstr ""
+"Hibernate는 <literal>Session.update()</literal> 메소드 또는 <literal>Session."
+"merge()</literal> 메소드를 사용하여 detached 인스턴스들의 재첨부를 제공함으로"
+"써 이 모형을 지원한다:"
 
-#: index.docbook:523
-msgid "Many applications need to retrieve an object in one transaction, send it to the UI layer for manipulation, then save the changes in a new transaction. Applications that use this kind of approach in a high-concurrency environment usually use versioned data to ensure isolation for the \"long\" unit of work."
+#. Tag: programlisting
+#: session_api.xml:536
+#, no-c-format
+msgid ""
+"<![CDATA[// in the first session\n"
+"Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
+"Cat potentialMate = new Cat();\n"
+"firstSession.save(potentialMate);\n"
+"\n"
+"// in a higher layer of the application\n"
+"cat.setMate(potentialMate);\n"
+"\n"
+"// later, in a new session\n"
+"secondSession.update(cat);  // update cat\n"
+"secondSession.update(mate); // update mate]]>"
 msgstr ""
-      "<![CDATA[// in the first session\n"
-      "Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
-      "Cat potentialMate = new Cat();\n"
-      "firstSession.save(potentialMate);\n"
-      "\n"
-      "// in a higher layer of the application\n"
-      "cat.setMate(potentialMate);\n"
-      "\n"
-      "// later, in a new session\n"
-      "secondSession.update(cat);  // update cat\n"
-      "secondSession.update(mate); // update mate]]>"
 
-#: index.docbook:530
-msgid "Hibernate supports this model by providing for reattachment of detached instances using the <literal>Session.update()</literal> or <literal>Session.merge()</literal> methods:"
-msgstr "만일 <literal>catId</literal> 식별자를 가진 <literal>Cat</literal>이 <literal>secondSession</literal>에 의해 이미 로드되었을 경우에 어플리케이션이 그것을 다시 재첨부하려고 시도할 때, 예외상황이 던져졌을 것이다."
+#. Tag: para
+#: session_api.xml:538
+#, no-c-format
+msgid ""
+"If the <literal>Cat</literal> with identifier <literal>catId</literal> had "
+"already been loaded by <literal>secondSession</literal> when the application "
+"tried to reattach it, an exception would have been thrown."
+msgstr ""
+"만일 <literal>catId</literal> 식별자를 가진 <literal>Cat</literal>이 "
+"<literal>secondSession</literal>에 의해 이미 로드되었을 경우에 어플리케이션"
+"이 그것을 다시 재첨부하려고 시도할 때, 예외상황이 던져졌을 것이다."
 
-#: index.docbook:536
+#. Tag: para
+#: session_api.xml:544
+#, no-c-format
 msgid ""
-      "<![CDATA[// in the first session\n"
-      "Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
-      "Cat potentialMate = new Cat();\n"
-      "firstSession.save(potentialMate);\n"
-      "\n"
-      "// in a higher layer of the application\n"
-      "cat.setMate(potentialMate);\n"
-      "\n"
-      "// later, in a new session\n"
-      "secondSession.update(cat);  // update cat\n"
-      "secondSession.update(mate); // update mate]]>"
-msgstr "만일 그 세션이 동일한 식별자를 가진 영속 인스턴스를 이미 포함하지 않음을 당신이 확신하는 경우에는 <literal>update()</literal>를 사용하고, 만일 당신이 세션의 상태를 고려하지 않은채로 아무때나 당신의 변경을 병합시키고자 원할 경우에는 <literal>merge()</literal>를 사용하라. 달리 말해, 당신의 detached 인스턴스들에 대한 재첨부가 실행되는 첫 번째 오퍼레이션임을 확실히 함으로써, <literal>update()</literal>는 대개 갓 만들어진 세션에서 당신이 호출하게 될 첫 번째 메소드이다."
+"Use <literal>update()</literal> if you are sure that the session does not "
+"contain an already persistent instance with the same identifier, and "
+"<literal>merge()</literal> if you want to merge your modifications at any "
+"time without consideration of the state of the session. In other words, "
+"<literal>update()</literal> is usually the first method you would call in a "
+"fresh session, ensuring that reattachment of your detached instances is the "
+"first operation that is executed."
+msgstr ""
+"만일 그 세션이 동일한 식별자를 가진 영속 인스턴스를 이미 포함하지 않음을 당신"
+"이 확신하는 경우에는 <literal>update()</literal>를 사용하고, 만일 당신이 세션"
+"의 상태를 고려하지 않은채로 아무때나 당신의 변경을 병합시키고자 원할 경우에"
+"는 <literal>merge()</literal>를 사용하라. 달리 말해, 당신의 detached 인스턴스"
+"들에 대한 재첨부가 실행되는 첫 번째 오퍼레이션임을 확실히 함으로써, "
+"<literal>update()</literal>는 대개 갓 만들어진 세션에서 당신이 호출하게 될 "
+"첫 번째 메소드이다."
 
-#: index.docbook:538
-msgid "If the <literal>Cat</literal> with identifier <literal>catId</literal> had already been loaded by <literal>secondSession</literal> when the application tried to reattach it, an exception would have been thrown."
-msgstr "어플리케이션은 만일 그것이 detached 인스턴스들의 상태가 또한 업데이트 되는 것을 원할 경우에<emphasis>만</emphasis> 주어진 detached 인스턴스로부터 도달 가능한 detached 인스턴스들을 개별적으로<literal>update()</literal> 시킬 것이다. 이것은 물론 <emphasis>transitive persistence(전이 영속)</emphasis>을 사용하여 자동화 될 수 있고, <xref linkend=\"objectstate-transitive\"/>를 보라."
+#. Tag: para
+#: session_api.xml:553
+#, no-c-format
+msgid ""
+"The application should individually <literal>update()</literal> detached "
+"instances reachable from the given detached instance if and <emphasis>only</"
+"emphasis> if it wants their state also updated. This can be automated of "
+"course, using <emphasis>transitive persistence</emphasis>, see <xref linkend="
+"\"objectstate-transitive\"/>."
+msgstr ""
+"어플리케이션은 만일 그것이 detached 인스턴스들의 상태가 또한 업데이트 되는 것"
+"을 원할 경우에<emphasis>만</emphasis> 주어진 detached 인스턴스로부터 도달 가"
+"능한 detached 인스턴스들을 개별적으로<literal>update()</literal> 시킬 것이"
+"다. 이것은 물론 <emphasis>transitive persistence(전이 영속)</emphasis>을 사용"
+"하여 자동화 될 수 있고, <xref linkend=\"objectstate-transitive\"/>를 보라."
 
-#: index.docbook:544
-msgid "Use <literal>update()</literal> if you are sure that the session does not contain an already persistent instance with the same identifier, and <literal>merge()</literal> if you want to merge your modifications at any time without consideration of the state of the session. In other words, <literal>update()</literal> is usually the first method you would call in a fresh session, ensuring that reattachment of your detached instances is the first operation that is executed."
-msgstr "<literal>lock()</literal> 메소드는 또한 하나의 객체를 새로운 세션에 대해 다시 연관시키는것을 어플리케이션에게 허용해준다. 하지만 detached 인스턴스는 변경되지 않아야 한다!"
+#. Tag: para
+#: session_api.xml:560
+#, no-c-format
+msgid ""
+"The <literal>lock()</literal> method also allows an application to "
+"reassociate an object with a new session. However, the detached instance has "
+"to be unmodified!"
+msgstr ""
+"<literal>lock()</literal> 메소드는 또한 하나의 객체를 새로운 세션에 대해 다"
+"시 연관시키는것을 어플리케이션에게 허용해준다. 하지만 detached 인스턴스는 변"
+"경되지 않아야 한다!"
 
-#: index.docbook:553
-msgid "The application should individually <literal>update()</literal> detached instances reachable from the given detached instance if and <emphasis>only</emphasis> if it wants their state also updated. This can be automated of course, using <emphasis>transitive persistence</emphasis>, see <xref linkend=\"objectstate-transitive\"/>."
+#. Tag: programlisting
+#: session_api.xml:565
+#, no-c-format
+msgid ""
+"<![CDATA[//just reassociate:\n"
+"sess.lock(fritz, LockMode.NONE);\n"
+"//do a version check, then reassociate:\n"
+"sess.lock(izi, LockMode.READ);\n"
+"//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
+"sess.lock(pk, LockMode.UPGRADE);]]>"
 msgstr ""
-      "<![CDATA[//just reassociate:\n"
-      "sess.lock(fritz, LockMode.NONE);\n"
-      "//do a version check, then reassociate:\n"
-      "sess.lock(izi, LockMode.READ);\n"
-      "//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
-      "sess.lock(pk, LockMode.UPGRADE);]]>"
 
-#: index.docbook:560
-msgid "The <literal>lock()</literal> method also allows an application to reassociate an object with a new session. However, the detached instance has to be unmodified!"
-msgstr "<literal>lock()</literal>이 여러가지 <literal>LockMode</literal>들에 사용될 수 있음을 노트하고, 상세한 것은 API 문서와 트랜잭션 처리에 관한 장을 보라. 재첨부는 <literal>lock()</literal>에 대한 유일한 쓰임새는 아니다."
+#. Tag: para
+#: session_api.xml:567
+#, no-c-format
+msgid ""
+"Note that <literal>lock()</literal> can be used with various "
+"<literal>LockMode</literal>s, see the API documentation and the chapter on "
+"transaction handling for more information. Reattachment is not the only "
+"usecase for <literal>lock()</literal>."
+msgstr ""
+"<literal>lock()</literal>이 여러가지 <literal>LockMode</literal>들에 사용될 "
+"수 있음을 노트하고, 상세한 것은 API 문서와 트랜잭션 처리에 관한 장을 보라. 재"
+"첨부는 <literal>lock()</literal>에 대한 유일한 쓰임새는 아니다."
 
-#: index.docbook:565
+#. Tag: para
+#: session_api.xml:574
+#, no-c-format
 msgid ""
-      "<![CDATA[//just reassociate:\n"
-      "sess.lock(fritz, LockMode.NONE);\n"
-      "//do a version check, then reassociate:\n"
-      "sess.lock(izi, LockMode.READ);\n"
-      "//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
-      "sess.lock(pk, LockMode.UPGRADE);]]>"
-msgstr "긴 작업 단위에 대한 다른 모형들은 <xref linkend=\"transactions-optimistic\"/>에서 논의된다."
+"Other models for long units of work are discussed in <xref linkend="
+"\"transactions-optimistic\"/>."
+msgstr ""
+"긴 작업 단위에 대한 다른 모형들은 <xref linkend=\"transactions-optimistic\"/>"
+"에서 논의된다."
 
-#: index.docbook:567
-msgid "Note that <literal>lock()</literal> can be used with various <literal>LockMode</literal>s, see the API documentation and the chapter on transaction handling for more information. Reattachment is not the only usecase for <literal>lock()</literal>."
+#. Tag: title
+#: session_api.xml:581
+#, no-c-format
+msgid "Automatic state detection"
 msgstr "자동적인 상태 검출"
 
-#: index.docbook:574
-msgid "Other models for long units of work are discussed in <xref linkend=\"transactions-optimistic\"/>."
-msgstr "Hibernate 사용자들은 새로운 식별자를 생성시켜서 transient 인스턴스를 저장하거나 그것의 현재 식별자와 연관된 detached 인스턴스들을 업데이트/재첨부 시키는 일반적인 용도의 메소드를 요청했다. <literal>saveOrUpdate()</literal> 메소드는 이 기능을 구현한다."
+#. Tag: para
+#: session_api.xml:583
+#, no-c-format
+msgid ""
+"Hibernate users have requested a general purpose method that either saves a "
+"transient instance by generating a new identifier or updates/reattaches the "
+"detached instances associated with its current identifier. The "
+"<literal>saveOrUpdate()</literal> method implements this functionality."
+msgstr ""
+"Hibernate 사용자들은 새로운 식별자를 생성시켜서 transient 인스턴스를 저장하거"
+"나 그것의 현재 식별자와 연관된 detached 인스턴스들을 업데이트/재첨부 시키는 "
+"일반적인 용도의 메소드를 요청했다. <literal>saveOrUpdate()</literal> 메소드"
+"는 이 기능을 구현한다."
 
-#: index.docbook:581
-msgid "Automatic state detection"
+#. Tag: programlisting
+#: session_api.xml:590
+#, no-c-format
+msgid ""
+"<![CDATA[// in the first session\n"
+"Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
+"\n"
+"// in a higher tier of the application\n"
+"Cat mate = new Cat();\n"
+"cat.setMate(mate);\n"
+"\n"
+"// later, in a new session\n"
+"secondSession.saveOrUpdate(cat);   // update existing state (cat has a non-"
+"null id)\n"
+"secondSession.saveOrUpdate(mate);  // save the new instance (mate has a null "
+"id)]]>"
 msgstr ""
-      "<![CDATA[// in the first session\n"
-      "Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
-      "\n"
-      "// in a higher tier of the application\n"
-      "Cat mate = new Cat();\n"
-      "cat.setMate(mate);\n"
-      "\n"
-      "// later, in a new session\n"
-      "secondSession.saveOrUpdate(cat);   // update existing state (cat has a non-null id)\n"
-      "secondSession.saveOrUpdate(mate);  // save the new instance (mate has a null id)]]>"
 
-#: index.docbook:583
-msgid "Hibernate users have requested a general purpose method that either saves a transient instance by generating a new identifier or updates/reattaches the detached instances associated with its current identifier. The <literal>saveOrUpdate()</literal> method implements this functionality."
-msgstr "<literal>saveOrUpdate()</literal>의 사용 예제와 의미는 초심자들에게는 혼동스러워 보인다. 먼저, 하나의 세션에서 온 인스턴스를 또 다른 새로운 세션 내에서 사용하려고 시도하지 않는 한, 당신은 <literal>update()</literal>, <literal>saveOrUpdate()</literal>, 또는 <literal>merge()</literal>를 사용할 필요는 없을 것이다. 몇몇 전체 어플리케이션들은 이들 메소드들 중 어느 것도 결코 사용하지 않을 것이다."
+#. Tag: para
+#: session_api.xml:592
+#, no-c-format
+msgid ""
+"The usage and semantics of <literal>saveOrUpdate()</literal> seems to be "
+"confusing for new users. Firstly, so long as you are not trying to use "
+"instances from one session in another new session, you should not need to "
+"use <literal>update()</literal>, <literal>saveOrUpdate()</literal>, or "
+"<literal>merge()</literal>. Some whole applications will never use either of "
+"these methods."
+msgstr ""
+"<literal>saveOrUpdate()</literal>의 사용 예제와 의미는 초심자들에게는 혼동스"
+"러워 보인다. 먼저, 하나의 세션에서 온 인스턴스를 또 다른 새로운 세션 내에서 "
+"사용하려고 시도하지 않는 한, 당신은 <literal>update()</literal>, "
+"<literal>saveOrUpdate()</literal>, 또는 <literal>merge()</literal>를 사용할 "
+"필요는 없을 것이다. 몇몇 전체 어플리케이션들은 이들 메소드들 중 어느 것도 결"
+"코 사용하지 않을 것이다."
 
-#: index.docbook:590
+#. Tag: para
+#: session_api.xml:600
+#, no-c-format
 msgid ""
-      "<![CDATA[// in the first session\n"
-      "Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
-      "\n"
-      "// in a higher tier of the application\n"
-      "Cat mate = new Cat();\n"
-      "cat.setMate(mate);\n"
-      "\n"
-      "// later, in a new session\n"
-      "secondSession.saveOrUpdate(cat);   // update existing state (cat has a non-null id)\n"
-      "secondSession.saveOrUpdate(mate);  // save the new instance (mate has a null id)]]>"
-msgstr "대개 <literal>update()</literal> 또는 <literal>saveOrUpdate()</literal>는 다음 시나리오에서 사용된다:"
+"Usually <literal>update()</literal> or <literal>saveOrUpdate()</literal> are "
+"used in the following scenario:"
+msgstr ""
+"대개 <literal>update()</literal> 또는 <literal>saveOrUpdate()</literal>는 다"
+"음 시나리오에서 사용된다:"
 
-#: index.docbook:592
-msgid "The usage and semantics of <literal>saveOrUpdate()</literal> seems to be confusing for new users. Firstly, so long as you are not trying to use instances from one session in another new session, you should not need to use <literal>update()</literal>, <literal>saveOrUpdate()</literal>, or <literal>merge()</literal>. Some whole applications will never use either of these methods."
+#. Tag: para
+#: session_api.xml:607
+#, no-c-format
+msgid "the application loads an object in the first session"
 msgstr "어플리케이션이 첫 번째 세션 내에 객체를 로드시킨다"
 
-#: index.docbook:600
-msgid "Usually <literal>update()</literal> or <literal>saveOrUpdate()</literal> are used in the following scenario:"
+#. Tag: para
+#: session_api.xml:612
+#, no-c-format
+msgid "the object is passed up to the UI tier"
 msgstr "객체가 UI 티어로 전달된다"
 
-#: index.docbook:607
-msgid "the application loads an object in the first session"
+#. Tag: para
+#: session_api.xml:617
+#, no-c-format
+msgid "some modifications are made to the object"
 msgstr "몇몇 변경들이 그 객체에 행해진다"
 
-#: index.docbook:612
-msgid "the object is passed up to the UI tier"
+#. Tag: para
+#: session_api.xml:622
+#, no-c-format
+msgid "the object is passed back down to the business logic tier"
 msgstr "객체가 비지니스 로직 티어로 전달된다"
 
-#: index.docbook:617
-msgid "some modifications are made to the object"
-msgstr "어플리케이션은 두 번째 세션에서 <literal>update()</literal>를 호출함으로써 이들 변경들을 영속화 시킨다"
+#. Tag: para
+#: session_api.xml:627
+#, no-c-format
+msgid ""
+"the application persists these modifications by calling <literal>update()</"
+"literal> in a second session"
+msgstr ""
+"어플리케이션은 두 번째 세션에서 <literal>update()</literal>를 호출함으로써 이"
+"들 변경들을 영속화 시킨다"
 
-#: index.docbook:622
-msgid "the object is passed back down to the business logic tier"
+#. Tag: para
+#: session_api.xml:634
+#, no-c-format
+msgid "<literal>saveOrUpdate()</literal> does the following:"
 msgstr "<literal>saveOrUpdate()</literal>는 다음을 행한다:"
 
-#: index.docbook:627
-msgid "the application persists these modifications by calling <literal>update()</literal> in a second session"
-msgstr "만일 객체가 이 세션 내에서 이미 영속화 되어 있을 경우, 아무것도 행하지 않는다"
-
-#: index.docbook:634
-msgid "<literal>saveOrUpdate()</literal> does the following:"
-msgstr "만일 그 세션과 연관된 또 다른 객체가 동일한 식별자를 가질 경우, 예외상황을 던진다"
-
-#: index.docbook:640
+#. Tag: para
+#: session_api.xml:640
+#, no-c-format
 msgid "if the object is already persistent in this session, do nothing"
-msgstr "만일 그 객체가 식별자 프로퍼티를 갖지 않을 경우, 그것을 <literal>save()</literal> 시킨다"
+msgstr ""
+"만일 객체가 이 세션 내에서 이미 영속화 되어 있을 경우, 아무것도 행하지 않는다"
 
-#: index.docbook:645
-msgid "if another object associated with the session has the same identifier, throw an exception"
-msgstr "만일 객체의 식별자가 새로이 초기화 된 객체에 할당된 값을 가질 경우, 그것을 <literal>save()</literal> 시킨다"
+#. Tag: para
+#: session_api.xml:645
+#, no-c-format
+msgid ""
+"if another object associated with the session has the same identifier, throw "
+"an exception"
+msgstr ""
+"만일 그 세션과 연관된 또 다른 객체가 동일한 식별자를 가질 경우, 예외상황을 던"
+"진다"
 
-#: index.docbook:651
+#. Tag: para
+#: session_api.xml:651
+#, no-c-format
 msgid "if the object has no identifier property, <literal>save()</literal> it"
-msgstr "만일 객체가 (<literal>&lt;version&gt;</literal> 또는 <literal>&lt;timestamp&gt;</literal>에 의해) 버전화 되고, version 프로퍼티 값이 새로이 초기화 된 객체에 할당된 것과 동일한 값일 경우, 그것을 <literal>save()</literal> 시킨다"
+msgstr ""
+"만일 그 객체가 식별자 프로퍼티를 갖지 않을 경우, 그것을 <literal>save()</"
+"literal> 시킨다"
 
-#: index.docbook:656
-msgid "if the object's identifier has the value assigned to a newly instantiated object, <literal>save()</literal> it"
-msgstr "그 밖의 경우 그 객체를 <literal>update()</literal> 시킨다"
+#. Tag: para
+#: session_api.xml:656
+#, no-c-format
+msgid ""
+"if the object's identifier has the value assigned to a newly instantiated "
+"object, <literal>save()</literal> it"
+msgstr ""
+"만일 객체의 식별자가 새로이 초기화 된 객체에 할당된 값을 가질 경우, 그것을 "
+"<literal>save()</literal> 시킨다"
 
-#: index.docbook:662
-msgid "if the object is versioned (by a <literal>&lt;version&gt;</literal> or <literal>&lt;timestamp&gt;</literal>), and the version property value is the same value assigned to a newly instantiated object, <literal>save()</literal> it"
-msgstr "그리고 <literal>merge()</literal>는 매우 다르다:"
+#. Tag: para
+#: session_api.xml:662
+#, no-c-format
+msgid ""
+"if the object is versioned (by a <literal>&lt;version&gt;</literal> or "
+"<literal>&lt;timestamp&gt;</literal>), and the version property value is the "
+"same value assigned to a newly instantiated object, <literal>save()</"
+"literal> it"
+msgstr ""
+"만일 객체가 (<literal>&lt;version&gt;</literal> 또는 <literal>&lt;"
+"timestamp&gt;</literal>에 의해) 버전화 되고, version 프로퍼티 값이 새로이 초"
+"기화 된 객체에 할당된 것과 동일한 값일 경우, 그것을 <literal>save()</"
+"literal> 시킨다"
 
-#: index.docbook:670
+#. Tag: para
+#: session_api.xml:670
+#, no-c-format
 msgid "otherwise <literal>update()</literal> the object"
-msgstr "만일 세션과 현재 연관된 동일한 식별자를 가진 영속 인스턴스가 존재할 경우, 주어진 객체의 상태를 영속 인스턴스 상으로 복사한다"
+msgstr "그 밖의 경우 그 객체를 <literal>update()</literal> 시킨다"
 
-#: index.docbook:676
+#. Tag: para
+#: session_api.xml:676
+#, no-c-format
 msgid "and <literal>merge()</literal> is very different:"
-msgstr "만일 세션과 현재 연관된 영속 인스턴스가 존재하지 않을 경우, 데이터베이스로부터 그것을 로드시키려고 시도하거나 새로운 영속 인스턴스를 생성시키려고 시도한다"
+msgstr "그리고 <literal>merge()</literal>는 매우 다르다:"
 
-#: index.docbook:682
-msgid "if there is a persistent instance with the same identifier currently associated with the session, copy the state of the given object onto the persistent instance"
-msgstr "영속 인스턴스가 반환된다"
+#. Tag: para
+#: session_api.xml:682
+#, no-c-format
+msgid ""
+"if there is a persistent instance with the same identifier currently "
+"associated with the session, copy the state of the given object onto the "
+"persistent instance"
+msgstr ""
+"만일 세션과 현재 연관된 동일한 식별자를 가진 영속 인스턴스가 존재할 경우, 주"
+"어진 객체의 상태를 영속 인스턴스 상으로 복사한다"
 
-#: index.docbook:689
-msgid "if there is no persistent instance currently associated with the session, try to load it from the database, or create a new persistent instance"
-msgstr "주어진 인스턴스는 세션과 연관되지 않고, 그것은 detached 상태에 머무른다"
+#. Tag: para
+#: session_api.xml:689
+#, no-c-format
+msgid ""
+"if there is no persistent instance currently associated with the session, "
+"try to load it from the database, or create a new persistent instance"
+msgstr ""
+"만일 세션과 현재 연관된 영속 인스턴스가 존재하지 않을 경우, 데이터베이스로부"
+"터 그것을 로드시키려고 시도하거나 새로운 영속 인스턴스를 생성시키려고 시도한"
+"다"
 
-#: index.docbook:695
+#. Tag: para
+#: session_api.xml:695
+#, no-c-format
 msgid "the persistent instance is returned"
-msgstr "영속 객체들을 삭제하기"
+msgstr "영속 인스턴스가 반환된다"
 
-#: index.docbook:700
-msgid "the given instance does not become associated with the session, it remains detached"
-msgstr "<literal>Session.delete()</literal>는 데이터베이스로부터 객체의 상태를 제거할 것이다. 물론 당신의 어플리케이션은 여전히 detached 객체에 대한 참조를 소유할 것이다. 영속 인스턴스를 transient로 만들 때 <literal>delete()</literal>를 생각하는 것이 최상이다."
+#. Tag: para
+#: session_api.xml:700
+#, no-c-format
+msgid ""
+"the given instance does not become associated with the session, it remains "
+"detached"
+msgstr ""
+"주어진 인스턴스는 세션과 연관되지 않고, 그것은 detached 상태에 머무른다"
 
-#: index.docbook:710
+#. Tag: title
+#: session_api.xml:710
+#, no-c-format
 msgid "Deleting persistent objects"
-msgstr "<![CDATA[sess.delete(cat);]]>"
+msgstr "영속 객체들을 삭제하기"
 
-#: index.docbook:712
-msgid "<literal>Session.delete()</literal> will remove an object's state from the database. Of course, your application might still hold a reference to a deleted object. It's best to think of <literal>delete()</literal> as making a persistent instance transient."
-msgstr "당신은 foreign 키 컨스트레인트 위배들에 대한 위험성 없이 당신이 좋아하는 어떤 순서로 객체들을 삭제할 수도 있다. 잘못된 순서로 객체들을 삭제함으로써 foreign 키 컬럼에 대한 <literal>NOT NULL</literal> 컨스트레인트를 위배할 가능성이 여전히 존재한다. 예를 들어, 당신이 부모를 삭제하지만, 그 자식들을 삭제하는 것을 잊은 경우."
+#. Tag: para
+#: session_api.xml:712
+#, no-c-format
+msgid ""
+"<literal>Session.delete()</literal> will remove an object's state from the "
+"database. Of course, your application might still hold a reference to a "
+"deleted object. It's best to think of <literal>delete()</literal> as making "
+"a persistent instance transient."
+msgstr ""
+"<literal>Session.delete()</literal>는 데이터베이스로부터 객체의 상태를 제거"
+"할 것이다. 물론 당신의 어플리케이션은 여전히 detached 객체에 대한 참조를 소유"
+"할 것이다. 영속 인스턴스를 transient로 만들 때 <literal>delete()</literal>를 "
+"생각하는 것이 최상이다."
 
-#: index.docbook:719
+#. Tag: programlisting
+#: session_api.xml:719
+#, no-c-format
 msgid "<![CDATA[sess.delete(cat);]]>"
-msgstr "두 개의 다른 데이터저장소들 사이에 객체들을 복제하기"
+msgstr ""
 
-#: index.docbook:721
-msgid "You may delete objects in any order you like, without risk of foreign key constraint violations. It is still possible to violate a <literal>NOT NULL</literal> constraint on a foreign key column by deleting objects in the wrong order, e.g. if you delete the parent, but forget to delete the children."
-msgstr "영속 인스턴스들의 그래프를 취하고 식별자 값들을 다시 생성시키지 않고서 그것들을 다른 저장소 속에 영속화 시키는 것을 가능하도록 만드는 것이 종종 유용하다."
+#. Tag: para
+#: session_api.xml:721
+#, no-c-format
+msgid ""
+"You may delete objects in any order you like, without risk of foreign key "
+"constraint violations. It is still possible to violate a <literal>NOT NULL</"
+"literal> constraint on a foreign key column by deleting objects in the wrong "
+"order, e.g. if you delete the parent, but forget to delete the children."
+msgstr ""
+"당신은 foreign 키 컨스트레인트 위배들에 대한 위험성 없이 당신이 좋아하는 어"
+"떤 순서로 객체들을 삭제할 수도 있다. 잘못된 순서로 객체들을 삭제함으로써 "
+"foreign 키 컬럼에 대한 <literal>NOT NULL</literal> 컨스트레인트를 위배할 가능"
+"성이 여전히 존재한다. 예를 들어, 당신이 부모를 삭제하지만, 그 자식들을 삭제하"
+"는 것을 잊은 경우."
 
-#: index.docbook:732
+#. Tag: title
+#: session_api.xml:732
+#, no-c-format
 msgid "Replicating object between two different datastores"
+msgstr "두 개의 다른 데이터저장소들 사이에 객체들을 복제하기"
+
+#. Tag: para
+#: session_api.xml:734
+#, no-c-format
+msgid ""
+"It is occasionally useful to be able to take a graph of persistent instances "
+"and make them persistent in a different datastore, without regenerating "
+"identifier values."
 msgstr ""
-      "<![CDATA[//retrieve a cat from one database\n"
-      "Session session1 = factory1.openSession();\n"
-      "Transaction tx1 = session1.beginTransaction();\n"
-      "Cat cat = session1.get(Cat.class, catId);\n"
-      "tx1.commit();\n"
-      "session1.close();\n"
-      "\n"
-      "//reconcile with a second database\n"
-      "Session session2 = factory2.openSession();\n"
-      "Transaction tx2 = session2.beginTransaction();\n"
-      "session2.replicate(cat, ReplicationMode.LATEST_VERSION);\n"
-      "tx2.commit();\n"
-      "session2.close();]]>"
+"영속 인스턴스들의 그래프를 취하고 식별자 값들을 다시 생성시키지 않고서 그것들"
+"을 다른 저장소 속에 영속화 시키는 것을 가능하도록 만드는 것이 종종 유용하다."
 
-#: index.docbook:734
-msgid "It is occasionally useful to be able to take a graph of persistent instances and make them persistent in a different datastore, without regenerating identifier values."
-msgstr "<literal>ReplicationMode</literal>는 <literal>replicate()</literal>가 데이터베이스 내에 있는 기존의 행들과의 충돌을 처리하게될 방법을 결정한다."
+#. Tag: programlisting
+#: session_api.xml:740
+#, no-c-format
+msgid ""
+"<![CDATA[//retrieve a cat from one database\n"
+"Session session1 = factory1.openSession();\n"
+"Transaction tx1 = session1.beginTransaction();\n"
+"Cat cat = session1.get(Cat.class, catId);\n"
+"tx1.commit();\n"
+"session1.close();\n"
+"\n"
+"//reconcile with a second database\n"
+"Session session2 = factory2.openSession();\n"
+"Transaction tx2 = session2.beginTransaction();\n"
+"session2.replicate(cat, ReplicationMode.LATEST_VERSION);\n"
+"tx2.commit();\n"
+"session2.close();]]>"
+msgstr ""
 
-#: index.docbook:740
+#. Tag: para
+#: session_api.xml:742
+#, no-c-format
 msgid ""
-      "<![CDATA[//retrieve a cat from one database\n"
-      "Session session1 = factory1.openSession();\n"
-      "Transaction tx1 = session1.beginTransaction();\n"
-      "Cat cat = session1.get(Cat.class, catId);\n"
-      "tx1.commit();\n"
-      "session1.close();\n"
-      "\n"
-      "//reconcile with a second database\n"
-      "Session session2 = factory2.openSession();\n"
-      "Transaction tx2 = session2.beginTransaction();\n"
-      "session2.replicate(cat, ReplicationMode.LATEST_VERSION);\n"
-      "tx2.commit();\n"
-      "session2.close();]]>"
-msgstr "<literal>ReplicationMode.IGNORE</literal> - 동일한 식별자를 가진 기존 데이터베이스 행이 존재할 경우에 그 객체를 무시한다"
+"The <literal>ReplicationMode</literal> determines how <literal>replicate()</"
+"literal> will deal with conflicts with existing rows in the database."
+msgstr ""
+"<literal>ReplicationMode</literal>는 <literal>replicate()</literal>가 데이터"
+"베이스 내에 있는 기존의 행들과의 충돌을 처리하게될 방법을 결정한다."
 
-#: index.docbook:742
-msgid "The <literal>ReplicationMode</literal> determines how <literal>replicate()</literal> will deal with conflicts with existing rows in the database."
-msgstr "<literal>ReplicationMode.OVERWRITE</literal> - 동일한 식별자를 가진 어떤 기존의 데이터베이스 행을 덮어 쓴다"
+#. Tag: para
+#: session_api.xml:749
+#, no-c-format
+msgid ""
+"<literal>ReplicationMode.IGNORE</literal> - ignore the object when there is "
+"an existing database row with the same identifier"
+msgstr ""
+"<literal>ReplicationMode.IGNORE</literal> - 동일한 식별자를 가진 기존 데이터"
+"베이스 행이 존재할 경우에 그 객체를 무시한다"
 
-#: index.docbook:749
-msgid "<literal>ReplicationMode.IGNORE</literal> - ignore the object when there is an existing database row with the same identifier"
-msgstr "<literal>ReplicationMode.EXCEPTION</literal> - 만일 동일한 식별자를 가진 기존 데이터베이스 행이 존재할 경우에 예외상황을 던진다"
+#. Tag: para
+#: session_api.xml:755
+#, no-c-format
+msgid ""
+"<literal>ReplicationMode.OVERWRITE</literal> - overwrite any existing "
+"database row with the same identifier"
+msgstr ""
+"<literal>ReplicationMode.OVERWRITE</literal> - 동일한 식별자를 가진 어떤 기존"
+"의 데이터베이스 행을 덮어 쓴다"
 
-#: index.docbook:755
-msgid "<literal>ReplicationMode.OVERWRITE</literal> - overwrite any existing database row with the same identifier"
-msgstr "<literal>ReplicationMode.LATEST_VERSION</literal> - 행의 버전 번호가 객체의 버전 번호 보다 이전의 것이면 덮어쓰고, 그 밖의 경우에 그 객체를 무시한다"
+#. Tag: para
+#: session_api.xml:761
+#, no-c-format
+msgid ""
+"<literal>ReplicationMode.EXCEPTION</literal> - throw an exception if there "
+"is an existing database row with the same identifier"
+msgstr ""
+"<literal>ReplicationMode.EXCEPTION</literal> - 만일 동일한 식별자를 가진 기"
+"존 데이터베이스 행이 존재할 경우에 예외상황을 던진다"
 
-#: index.docbook:761
-msgid "<literal>ReplicationMode.EXCEPTION</literal> - throw an exception if there is an existing database row with the same identifier"
-msgstr "이 특징의 쓰임새들은 다른 데이터베이스 인스턴스들 속으로 입력된 데이터 일치시키기, 제품 업그레이드 동안에 시스템 구성 정보 업데이트 하기, non-ACID 트랜잭션들 동안에 행해진 변경들을 롤백시키기 등을 포함한다."
+#. Tag: para
+#: session_api.xml:767
+#, no-c-format
+msgid ""
+"<literal>ReplicationMode.LATEST_VERSION</literal> - overwrite the row if its "
+"version number is earlier than the version number of the object, or ignore "
+"the object otherwise"
+msgstr ""
+"<literal>ReplicationMode.LATEST_VERSION</literal> - 행의 버전 번호가 객체의 "
+"버전 번호 보다 이전의 것이면 덮어쓰고, 그 밖의 경우에 그 객체를 무시한다"
 
-#: index.docbook:767
-msgid "<literal>ReplicationMode.LATEST_VERSION</literal> - overwrite the row if its version number is earlier than the version number of the object, or ignore the object otherwise"
-msgstr "Session을 flush 시키기"
+#. Tag: para
+#: session_api.xml:775
+#, no-c-format
+msgid ""
+"Usecases for this feature include reconciling data entered into different "
+"database instances, upgrading system configuration information during "
+"product upgrades, rolling back changes made during non-ACID transactions and "
+"more."
+msgstr ""
+"이 특징의 쓰임새들은 다른 데이터베이스 인스턴스들 속으로 입력된 데이터 일치시"
+"키기, 제품 업그레이드 동안에 시스템 구성 정보 업데이트 하기, non-ACID 트랜잭"
+"션들 동안에 행해진 변경들을 롤백시키기 등을 포함한다."
 
-#: index.docbook:775
-msgid "Usecases for this feature include reconciling data entered into different database instances, upgrading system configuration information during product upgrades, rolling back changes made during non-ACID transactions and more."
-msgstr "시간이 지남에 따라 <literal>Session</literal>은 JDBC 커넥션의 상태와 메모리 내에 보관된 객체들의 상태를 동기화 시키는데 필요한 SQL 문장들을 실행시킬 것이다. 이 프로세스 <emphasis>flush</emphasis>는 다음 시점들에서 디폴트로 발생한다"
-
-#: index.docbook:784
+#. Tag: title
+#: session_api.xml:784
+#, no-c-format
 msgid "Flushing the Session"
-msgstr "몇몇 질의들이 실행되기 전에"
+msgstr "Session을 flush 시키기"
 
-#: index.docbook:786
-msgid "From time to time the <literal>Session</literal> will execute the SQL statements needed to synchronize the JDBC connection's state with the state of objects held in memory. This process, <emphasis>flush</emphasis>, occurs by default at the following points"
-msgstr "<literal>org.hibernate.Transaction.commit()</literal> 시점에서"
+#. Tag: para
+#: session_api.xml:786
+#, no-c-format
+msgid ""
+"From time to time the <literal>Session</literal> will execute the SQL "
+"statements needed to synchronize the JDBC connection's state with the state "
+"of objects held in memory. This process, <emphasis>flush</emphasis>, occurs "
+"by default at the following points"
+msgstr ""
+"시간이 지남에 따라 <literal>Session</literal>은 JDBC 커넥션의 상태와 메모리 "
+"내에 보관된 객체들의 상태를 동기화 시키는데 필요한 SQL 문장들을 실행시킬 것이"
+"다. 이 프로세스 <emphasis>flush</emphasis>는 다음 시점들에서 디폴트로 발생한"
+"다"
 
-#: index.docbook:795
+#. Tag: para
+#: session_api.xml:795
+#, no-c-format
 msgid "before some query executions"
-msgstr "<literal>Session.flush()</literal> 시점에서"
+msgstr "몇몇 질의들이 실행되기 전에"
 
-#: index.docbook:800
+#. Tag: para
+#: session_api.xml:800
+#, no-c-format
 msgid "from <literal>org.hibernate.Transaction.commit()</literal>"
-msgstr "SQL 문장들이 다음 순서로 실행 명령이 내려진다"
+msgstr "<literal>org.hibernate.Transaction.commit()</literal> 시점에서"
 
-#: index.docbook:805
+#. Tag: para
+#: session_api.xml:805
+#, no-c-format
 msgid "from <literal>Session.flush()</literal>"
-msgstr "대응하는 객체들이 <literal>Session.save()</literal>를 사용하여 저장되었던 것과 같은 순서로, 모든 엔티티 삽입들"
+msgstr "<literal>Session.flush()</literal> 시점에서"
 
-#: index.docbook:811
+#. Tag: para
+#: session_api.xml:811
+#, no-c-format
 msgid "The SQL statements are issued in the following order"
-msgstr "모든 엔티티 업데이트들"
+msgstr "SQL 문장들이 다음 순서로 실행 명령이 내려진다"
 
-#: index.docbook:817
-msgid "all entity insertions, in the same order the corresponding objects were saved using <literal>Session.save()</literal>"
-msgstr "모든 콜렉션 삭제들"
+#. Tag: para
+#: session_api.xml:817
+#, no-c-format
+msgid ""
+"all entity insertions, in the same order the corresponding objects were "
+"saved using <literal>Session.save()</literal>"
+msgstr ""
+"대응하는 객체들이 <literal>Session.save()</literal>를 사용하여 저장되었던 것"
+"과 같은 순서로, 모든 엔티티 삽입들"
 
-#: index.docbook:823
+#. Tag: para
+#: session_api.xml:823
+#, no-c-format
 msgid "all entity updates"
-msgstr "모든 콜렉션 요소 삭제들, 업데이트들 그리고 삽입들"
+msgstr "모든 엔티티 업데이트들"
 
-#: index.docbook:828
+#. Tag: para
+#: session_api.xml:828
+#, no-c-format
 msgid "all collection deletions"
-msgstr "모든 콜렉션 삽입들"
+msgstr "모든 콜렉션 삭제들"
 
-#: index.docbook:833
+#. Tag: para
+#: session_api.xml:833
+#, no-c-format
 msgid "all collection element deletions, updates and insertions"
-msgstr "대응하는 객체들이 <literal>Session.delete()</literal>를 사용하여 삭제되었던 것과 같은 순서로 모든 엔티티 삭제들."
+msgstr "모든 콜렉션 요소 삭제들, 업데이트들 그리고 삽입들"
 
-#: index.docbook:838
+#. Tag: para
+#: session_api.xml:838
+#, no-c-format
 msgid "all collection insertions"
-msgstr "(한가지 예외는 객체들이 저장될 때 <literal>native</literal> ID 생성을 사용하는 객체들이 insert 되는 점이다.)"
+msgstr "모든 콜렉션 삽입들"
 
-#: index.docbook:843
-msgid "all entity deletions, in the same order the corresponding objects were deleted using <literal>Session.delete()</literal>"
-msgstr "당신이 명시적으로 <literal>flush()</literal> 시킬 때를 제외하면, <literal>Session</literal>이 JDBC 호출들을 실행시키는 <emphasis>시점</emphasis>, 그것들이 실행되는 <emphasis>순서</emphasis>만을 절대적으로 보장하지는 않는다. 하지만 Hibernate는 <literal>Query.list(..)</literal>가 실효성이 없는 데이터를 결코 반환하지 않을 것임을 보장하거나; 그것들이 잘못된 데이터도 반환하지 않을 것임을 보장한다."
+#. Tag: para
+#: session_api.xml:843
+#, no-c-format
+msgid ""
+"all entity deletions, in the same order the corresponding objects were "
+"deleted using <literal>Session.delete()</literal>"
+msgstr ""
+"대응하는 객체들이 <literal>Session.delete()</literal>를 사용하여 삭제되었던 "
+"것과 같은 순서로 모든 엔티티 삭제들."
 
-#: index.docbook:850
-msgid "(An exception is that objects using <literal>native</literal> ID generation are inserted when they are saved.)"
-msgstr "flush가 너무 자주 발생하지 않도록 디폴트 행위를 변경하는 것이 가능하다. <literal>FlushMode</literal> 클래스는 세 개의 다른 모드들을 정의한다: 오직 커밋 시(그리고 Hibernate <literal>Transaction</literal> API가 사용될 때에만) flush 모드, 설명된 루틴을 사용하는 자동적인 flush 모드, 또는 <literal>flush()</literal>가 명시적으로 호출되지 않는 한 flush 시키지 않는 모드. 마지막 모드는 오래 동안 실행되는 작업 단위에 대해 유용하고, 여기서 <literal>Session</literal>은 열려진채로 유지되고 오랜 시간 동안 연결이 해제된 채로 유지된다. (<xref linkend=\"transactions-optimistic-longsession\"/>를 보라)."
+#. Tag: para
+#: session_api.xml:850
+#, no-c-format
+msgid ""
+"(An exception is that objects using <literal>native</literal> ID generation "
+"are inserted when they are saved.)"
+msgstr ""
+"(한가지 예외는 객체들이 저장될 때 <literal>native</literal> ID 생성을 사용하"
+"는 객체들이 insert 되는 점이다.)"
 
-#: index.docbook:855
-msgid "Except when you explicity <literal>flush()</literal>, there are absolutely no guarantees about <emphasis>when</emphasis> the <literal>Session</literal> executes the JDBC calls, only the <emphasis>order</emphasis> in which they are executed. However, Hibernate does guarantee that the <literal>Query.list(..)</literal> will never return stale data; nor will they return the wrong data."
+#. Tag: para
+#: session_api.xml:855
+#, no-c-format
+msgid ""
+"Except when you explicity <literal>flush()</literal>, there are absolutely "
+"no guarantees about <emphasis>when</emphasis> the <literal>Session</literal> "
+"executes the JDBC calls, only the <emphasis>order</emphasis> in which they "
+"are executed. However, Hibernate does guarantee that the <literal>Query.list"
+"(..)</literal> will never return stale data; nor will they return the wrong "
+"data."
 msgstr ""
-      "<![CDATA[sess = sf.openSession();\n"
-      "Transaction tx = sess.beginTransaction();\n"
-      "sess.setFlushMode(FlushMode.COMMIT); // allow queries to return stale state\n"
-      "\n"
-      "Cat izi = (Cat) sess.load(Cat.class, id);\n"
-      "izi.setName(iznizi);\n"
-      "\n"
-      "// might return stale data\n"
-      "sess.find(\"from Cat as cat left outer join cat.kittens kitten\");\n"
-      "\n"
-      "// change to izi is not flushed!\n"
-      "...\n"
-      "tx.commit(); // flush occurs\n"
-      "sess.close();]]>"
+"당신이 명시적으로 <literal>flush()</literal> 시킬 때를 제외하면, "
+"<literal>Session</literal>이 JDBC 호출들을 실행시키는 <emphasis>시점</"
+"emphasis>, 그것들이 실행되는 <emphasis>순서</emphasis>만을 절대적으로 보장하"
+"지는 않는다. 하지만 Hibernate는 <literal>Query.list(..)</literal>가 실효성이 "
+"없는 데이터를 결코 반환하지 않을 것임을 보장하거나; 그것들이 잘못된 데이터도 "
+"반환하지 않을 것임을 보장한다."
 
-#: index.docbook:863
-msgid "It is possible to change the default behavior so that flush occurs less frequently. The <literal>FlushMode</literal> class defines three different modes: only flush at commit time (and only when the Hibernate <literal>Transaction</literal> API is used), flush automatically using the explained routine, or never flush unless <literal>flush()</literal> is called explicitly. The last mode is useful for long running units of work, where a <literal>Session</literal> is kept open and disconnected for a long time (see <xref linkend=\"transactions-optimistic-longsession\"/>)."
-msgstr "flush 동안에, 하나의 예외상황이 발생할 수도 있다(예를 들면. 만일 DML 오퍼레이션이 컨스트레인트를 위반할 경우). 예외상황들을 처리하는 것은 Hibernatem의 트랜잭션 특징에 관한 어떤 이해를 수반하며, 우리는 <xref linkend=\"transactions\"/>에서 그것을 논의한다."
+#. Tag: para
+#: session_api.xml:863
+#, no-c-format
+msgid ""
+"It is possible to change the default behavior so that flush occurs less "
+"frequently. The <literal>FlushMode</literal> class defines three different "
+"modes: only flush at commit time (and only when the Hibernate "
+"<literal>Transaction</literal> API is used), flush automatically using the "
+"explained routine, or never flush unless <literal>flush()</literal> is "
+"called explicitly. The last mode is useful for long running units of work, "
+"where a <literal>Session</literal> is kept open and disconnected for a long "
+"time (see <xref linkend=\"transactions-optimistic-longsession\"/>)."
+msgstr ""
+"flush가 너무 자주 발생하지 않도록 디폴트 행위를 변경하는 것이 가능하다. "
+"<literal>FlushMode</literal> 클래스는 세 개의 다른 모드들을 정의한다: 오직 커"
+"밋 시(그리고 Hibernate <literal>Transaction</literal> API가 사용될 때에만) "
+"flush 모드, 설명된 루틴을 사용하는 자동적인 flush 모드, 또는 <literal>flush()"
+"</literal>가 명시적으로 호출되지 않는 한 flush 시키지 않는 모드. 마지막 모드"
+"는 오래 동안 실행되는 작업 단위에 대해 유용하고, 여기서 <literal>Session</"
+"literal>은 열려진채로 유지되고 오랜 시간 동안 연결이 해제된 채로 유지된다. "
+"(<xref linkend=\"transactions-optimistic-longsession\"/>를 보라)."
 
-#: index.docbook:873
+#. Tag: programlisting
+#: session_api.xml:873
+#, no-c-format
 msgid ""
-      "<![CDATA[sess = sf.openSession();\n"
-      "Transaction tx = sess.beginTransaction();\n"
-      "sess.setFlushMode(FlushMode.COMMIT); // allow queries to return stale state\n"
-      "\n"
-      "Cat izi = (Cat) sess.load(Cat.class, id);\n"
-      "izi.setName(iznizi);\n"
-      "\n"
-      "// might return stale data\n"
-      "sess.find(\"from Cat as cat left outer join cat.kittens kitten\");\n"
-      "\n"
-      "// change to izi is not flushed!\n"
-      "...\n"
-      "tx.commit(); // flush occurs\n"
-      "sess.close();]]>"
-msgstr "Transitive persistence(전이 영속)"
+"<![CDATA[sess = sf.openSession();\n"
+"Transaction tx = sess.beginTransaction();\n"
+"sess.setFlushMode(FlushMode.COMMIT); // allow queries to return stale state\n"
+"\n"
+"Cat izi = (Cat) sess.load(Cat.class, id);\n"
+"izi.setName(iznizi);\n"
+"\n"
+"// might return stale data\n"
+"sess.find(\"from Cat as cat left outer join cat.kittens kitten\");\n"
+"\n"
+"// change to izi is not flushed!\n"
+"...\n"
+"tx.commit(); // flush occurs\n"
+"sess.close();]]>"
+msgstr ""
 
-#: index.docbook:875
-msgid "During flush, an exception might occur (e.g. if a DML operation violates a constraint). Since handling exceptions involves some understanding of Hibernate's transactional behavior, we discuss it in <xref linkend=\"transactions\"/>."
-msgstr "특히 당신이 연관된 객체들의 그래프를 다룰 경우에, 특히 개별 객체들을 저장하고, 삭제하거나, 재첨부시키는 것이 꽤 번거롭다. 공통된 경우는 하나의 부모/자식 관계이다. 다음 예제를 검토하자:"
+#. Tag: para
+#: session_api.xml:875
+#, no-c-format
+msgid ""
+"During flush, an exception might occur (e.g. if a DML operation violates a "
+"constraint). Since handling exceptions involves some understanding of "
+"Hibernate's transactional behavior, we discuss it in <xref linkend="
+"\"transactions\"/>."
+msgstr ""
+"flush 동안에, 하나의 예외상황이 발생할 수도 있다(예를 들면. 만일 DML 오퍼레이"
+"션이 컨스트레인트를 위반할 경우). 예외상황들을 처리하는 것은 Hibernatem의 트"
+"랜잭션 특징에 관한 어떤 이해를 수반하며, 우리는 <xref linkend=\"transactions"
+"\"/>에서 그것을 논의한다."
 
-#: index.docbook:884
+#. Tag: title
+#: session_api.xml:884
+#, no-c-format
 msgid "Transitive persistence"
-msgstr "만일 부모/자식 관계에서 자식들이 값(value) 타입(예를 들면. 주소들 또는 문자열들을 가진 하나의 콜렉션)일 경우, 그것들의 생명주기는 부모에 의존할 것이고 상태 변경들에 대해 편리한 \"케스케이딩\"에 더 이상의 액션이 필요하지 않을 것이다. 만일 부모가 저장될 때, 값(value)-타입의 자식 객체들도 마찬가지로 저장되고, 부모가 삭제될 때, 자식들이 삭제될 것이다. 이것은 심지어 콜렉션으로부터 하나의 자식을 제거하는 그런 오퍼레이션들에 대해서도 동작한다; Hibernate는 이것을 검출하고, 값(value)-타입의 객체들은 참조를 공유할 수 없으므로, 데이터베이스로부터 그 자식을 삭제시킨다."
+msgstr "Transitive persistence(전이 영속)"
 
-#: index.docbook:886
-msgid "It is quite cumbersome to save, delete, or reattach individual objects, especially if you deal with a graph of associated objects. A common case is a parent/child relationship. Consider the following example:"
-msgstr "이제 값(value) 타입이 아닌, 엔티티들인 부모와 자식 객체들을 가진 동일한 시나리오를 검토하자(예를 들면. 카테고리들과 아이템들, 또는 부모 고양이나 자식 고양이). 엔티티들은 그것들 자신의 생명주기를 갖고, 공유된 참조들을 지원하고 (따라서 콜렉션으로부터 하나의 엔티티를 제거하는 것은 그것이 삭제될 수 있음을 의미하지 않는다), 그리고 디폴트로 하나의 엔티티로부터 어떤 다른 연관된 엔티티들로의 상태의 케스케이딩은 존재하지 않는다. Hibernate는 디폴트로 <emphasis>도달가능성에 의한 영속성(persistence by reachability)</emphasis>을 구현하지 않는다."
+#. Tag: para
+#: session_api.xml:886
+#, no-c-format
+msgid ""
+"It is quite cumbersome to save, delete, or reattach individual objects, "
+"especially if you deal with a graph of associated objects. A common case is "
+"a parent/child relationship. Consider the following example:"
+msgstr ""
+"특히 당신이 연관된 객체들의 그래프를 다룰 경우에, 특히 개별 객체들을 저장하"
+"고, 삭제하거나, 재첨부시키는 것이 꽤 번거롭다. 공통된 경우는 하나의 부모/자"
+"식 관계이다. 다음 예제를 검토하자:"
 
-#: index.docbook:892
-msgid "If the children in a parent/child relationship would be value typed (e.g. a collection of addresses or strings), their life cycle would depend on the parent and no further action would be required for convenient \"cascading\" of state changes. When the parent is saved, the value-typed child objects are saved as well, when the parent is deleted, the children will be deleted, etc. This even works for operations such as the removal of a child from the collection; Hibernate will detect this and, since value-typed objects can't have shared references, delete the child from the database."
-msgstr "- <literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), evict(), replicate()</literal>를 포함하는- Hibernate 세션에 대한 각각의 기본 오퍼레이션에 대해서 하나의 대응하는 케스케이딩 스타일이 존재한다. 케스케이드 스타일들 각각은 <literal>create, merge, save-update, delete, lock, refresh, evict, replicate</literal>로 명명된다. 만일 당신이 하나의 오퍼레이션이 하나의 연관에 따라 케스케이딩되는 것을 원할 경우, 당신은 매핑 문서 내에 그것을 지시해야 한다. 예를 들면:"
+#. Tag: para
+#: session_api.xml:892
+#, no-c-format
+msgid ""
+"If the children in a parent/child relationship would be value typed (e.g. a "
+"collection of addresses or strings), their life cycle would depend on the "
+"parent and no further action would be required for convenient \"cascading\" "
+"of state changes. When the parent is saved, the value-typed child objects "
+"are saved as well, when the parent is deleted, the children will be deleted, "
+"etc. This even works for operations such as the removal of a child from the "
+"collection; Hibernate will detect this and, since value-typed objects can't "
+"have shared references, delete the child from the database."
+msgstr ""
+"만일 부모/자식 관계에서 자식들이 값(value) 타입(예를 들면. 주소들 또는 문자열"
+"들을 가진 하나의 콜렉션)일 경우, 그것들의 생명주기는 부모에 의존할 것이고 상"
+"태 변경들에 대해 편리한 \"케스케이딩\"에 더 이상의 액션이 필요하지 않을 것이"
+"다. 만일 부모가 저장될 때, 값(value)-타입의 자식 객체들도 마찬가지로 저장되"
+"고, 부모가 삭제될 때, 자식들이 삭제될 것이다. 이것은 심지어 콜렉션으로부터 하"
+"나의 자식을 제거하는 그런 오퍼레이션들에 대해서도 동작한다; Hibernate는 이것"
+"을 검출하고, 값(value)-타입의 객체들은 참조를 공유할 수 없으므로, 데이터베이"
+"스로부터 그 자식을 삭제시킨다."
 
-#: index.docbook:903
-msgid "Now consider the same scenario with parent and child objects being entities, not value-types (e.g. categories and items, or parent and child cats). Entities have their own life cycle, support shared references (so removing an entity from the collection does not mean it can be deleted), and there is by default no cascading of state from one entity to any other associated entities. Hibernate does not implement <emphasis>persistence by reachability</emphasis> by default."
-msgstr "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
+#. Tag: para
+#: session_api.xml:903
+#, no-c-format
+msgid ""
+"Now consider the same scenario with parent and child objects being entities, "
+"not value-types (e.g. categories and items, or parent and child cats). "
+"Entities have their own life cycle, support shared references (so removing "
+"an entity from the collection does not mean it can be deleted), and there is "
+"by default no cascading of state from one entity to any other associated "
+"entities. Hibernate does not implement <emphasis>persistence by "
+"reachability</emphasis> by default."
+msgstr ""
+"이제 값(value) 타입이 아닌, 엔티티들인 부모와 자식 객체들을 가진 동일한 시나"
+"리오를 검토하자(예를 들면. 카테고리들과 아이템들, 또는 부모 고양이나 자식 고"
+"양이). 엔티티들은 그것들 자신의 생명주기를 갖고, 공유된 참조들을 지원하고 (따"
+"라서 콜렉션으로부터 하나의 엔티티를 제거하는 것은 그것이 삭제될 수 있음을 의"
+"미하지 않는다), 그리고 디폴트로 하나의 엔티티로부터 어떤 다른 연관된 엔티티들"
+"로의 상태의 케스케이딩은 존재하지 않는다. Hibernate는 디폴트로 <emphasis>도달"
+"가능성에 의한 영속성(persistence by reachability)</emphasis>을 구현하지 않는"
+"다."
 
-#: index.docbook:912
-msgid "For each basic operation of the Hibernate session - including <literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), evict(), replicate()</literal> - there is a corresponding cascade style. Respectively, the cascade styles are named <literal>create, merge, save-update, delete, lock, refresh, evict, replicate</literal>. If you want an operation to be cascaded along an association, you must indicate that in the mapping document. For example:"
-msgstr "케스케이딩 스타일들이 결합될 수도 있다:"
+#. Tag: para
+#: session_api.xml:912
+#, no-c-format
+msgid ""
+"For each basic operation of the Hibernate session - including "
+"<literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), "
+"evict(), replicate()</literal> - there is a corresponding cascade style. "
+"Respectively, the cascade styles are named <literal>create, merge, save-"
+"update, delete, lock, refresh, evict, replicate</literal>. If you want an "
+"operation to be cascaded along an association, you must indicate that in the "
+"mapping document. For example:"
+msgstr ""
+"- <literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), "
+"evict(), replicate()</literal>를 포함하는- Hibernate 세션에 대한 각각의 기본 "
+"오퍼레이션에 대해서 하나의 대응하는 케스케이딩 스타일이 존재한다. 케스케이드 "
+"스타일들 각각은 <literal>create, merge, save-update, delete, lock, refresh, "
+"evict, replicate</literal>로 명명된다. 만일 당신이 하나의 오퍼레이션이 하나"
+"의 연관에 따라 케스케이딩되는 것을 원할 경우, 당신은 매핑 문서 내에 그것을 지"
+"시해야 한다. 예를 들면:"
 
-#: index.docbook:921
+#. Tag: programlisting
+#: session_api.xml:921
+#, no-c-format
 msgid "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
-msgstr "<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
+msgstr ""
 
-#: index.docbook:923
+#. Tag: para
+#: session_api.xml:923
+#, no-c-format
 msgid "Cascade styles my be combined:"
-msgstr "당신은 <emphasis>모든</emphasis> 오퍼레이션들이 그 연관에 따라 케스케이드 되어야 함을 지정하는데 <literal>cascade=\"all\"</literal>을 사용할 수도 있다. 디폴트<literal>cascade=\"none\"</literal>은 오퍼레이션들이 케스케이드 되지 않을 것임을 지정한다."
+msgstr "케스케이딩 스타일들이 결합될 수도 있다:"
 
-#: index.docbook:927
-msgid "<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
-msgstr "특정한 케스케이드 스타일인, <literal>delete-orphan</literal>은 오직 one-to-many 연관들에만 적용되고, <literal>delete()</literal> 오퍼레이션이 그 연관으로부터 제거되는 임의의 자식 객체에 적용되어야 함을 나타낸다."
+#. Tag: programlisting
+#: session_api.xml:927
+#, no-c-format
+msgid ""
+"<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
+msgstr ""
 
-#: index.docbook:929
-msgid "You may even use <literal>cascade=\"all\"</literal> to specify that <emphasis>all</emphasis> operations should be cascaded along the association. The default <literal>cascade=\"none\"</literal> specifies that no operations are to be cascaded."
-msgstr "권장사항들 :"
+#. Tag: para
+#: session_api.xml:929
+#, no-c-format
+msgid ""
+"You may even use <literal>cascade=\"all\"</literal> to specify that "
+"<emphasis>all</emphasis> operations should be cascaded along the "
+"association. The default <literal>cascade=\"none\"</literal> specifies that "
+"no operations are to be cascaded."
+msgstr ""
+"당신은 <emphasis>모든</emphasis> 오퍼레이션들이 그 연관에 따라 케스케이드 되"
+"어야 함을 지정하는데 <literal>cascade=\"all\"</literal>을 사용할 수도 있다. "
+"디폴트<literal>cascade=\"none\"</literal>은 오퍼레이션들이 케스케이드 되지 않"
+"을 것임을 지정한다."
 
-#: index.docbook:935
-msgid "A special cascade style, <literal>delete-orphan</literal>, applies only to one-to-many associations, and indicates that the <literal>delete()</literal> operation should be applied to any child object that is removed from the association."
-msgstr "하나의 <literal>&lt;many-to-one&gt;</literal> 또는 <literal>&lt;many-to-many&gt;</literal> 연관에 대해 케스케이드를 가능하게 하는 것은 대개 의미가 없다. 케스케이드는 <literal>&lt;one-to-one&gt;</literal> 연관과 <literal>&lt;one-to-many&gt;</literal> 연관에 대해 종종 유용하다."
+#. Tag: para
+#: session_api.xml:935
+#, no-c-format
+msgid ""
+"A special cascade style, <literal>delete-orphan</literal>, applies only to "
+"one-to-many associations, and indicates that the <literal>delete()</literal> "
+"operation should be applied to any child object that is removed from the "
+"association."
+msgstr ""
+"특정한 케스케이드 스타일인, <literal>delete-orphan</literal>은 오직 one-to-"
+"many 연관들에만 적용되고, <literal>delete()</literal> 오퍼레이션이 그 연관으"
+"로부터 제거되는 임의의 자식 객체에 적용되어야 함을 나타낸다."
 
-#: index.docbook:942
+#. Tag: para
+#: session_api.xml:942
+#, no-c-format
 msgid "Recommendations:"
-msgstr "만일 자식 객체의 수명이 그 부모 객체의 수명에 묶여져 있을 경우, <literal>cascade=\"all,delete-orphan\"</literal>을 지정함으로써 그것을 <emphasis>생명 주기 객체</emphasis>로 만들어라."
+msgstr "권장사항들 :"
 
-#: index.docbook:948
-msgid "It doesn't usually make sense to enable cascade on a <literal>&lt;many-to-one&gt;</literal> or <literal>&lt;many-to-many&gt;</literal> association. Cascade is often useful for <literal>&lt;one-to-one&gt;</literal> and <literal>&lt;one-to-many&gt;</literal> associations."
-msgstr "그 밖의 경우, 당신은 케스케이드를 전혀 필요로 하지 않을 수 있다. 그러나 만일 당신이 동일한 트랜잭션 내에서 부모와 자식에 대해 자주 함께 작업하게 될 것이라 생각되고, 당신 스스로 타이핑 하는 것을 절약하고자 원할 경우, <literal>cascade=\"persist,merge,save-update\"</literal>를 사용하는 것을 고려하라."
+#. Tag: para
+#: session_api.xml:948
+#, no-c-format
+msgid ""
+"It doesn't usually make sense to enable cascade on a <literal>&lt;many-to-"
+"one&gt;</literal> or <literal>&lt;many-to-many&gt;</literal> association. "
+"Cascade is often useful for <literal>&lt;one-to-one&gt;</literal> and "
+"<literal>&lt;one-to-many&gt;</literal> associations."
+msgstr ""
+"하나의 <literal>&lt;many-to-one&gt;</literal> 또는 <literal>&lt;many-to-"
+"many&gt;</literal> 연관에 대해 케스케이드를 가능하게 하는 것은 대개 의미가 없"
+"다. 케스케이드는 <literal>&lt;one-to-one&gt;</literal> 연관과 <literal>&lt;"
+"one-to-many&gt;</literal> 연관에 대해 종종 유용하다."
 
-#: index.docbook:956
-msgid "If the child object's lifespan is bounded by the lifespan of the parent object, make it a <emphasis>life cycle object</emphasis> by specifying <literal>cascade=\"all,delete-orphan\"</literal>."
-msgstr "<literal>cascade=\"all\"</literal>을 가진 (단일 값 연관이든 하나의 콜렉션이든) 하나의 연관을 매핑시키는 것은 그 연관을 부모의 저장/업데이트/삭제가 자식 또는 자식들의 저장/업데이트/삭제로 귀결되는 <emphasis>부모/자식</emphasis> 스타일의 관계로 마크한다."
+#. Tag: para
+#: session_api.xml:956
+#, no-c-format
+msgid ""
+"If the child object's lifespan is bounded by the lifespan of the parent "
+"object, make it a <emphasis>life cycle object</emphasis> by specifying "
+"<literal>cascade=\"all,delete-orphan\"</literal>."
+msgstr ""
+"만일 자식 객체의 수명이 그 부모 객체의 수명에 묶여져 있을 경우, "
+"<literal>cascade=\"all,delete-orphan\"</literal>을 지정함으로써 그것을 "
+"<emphasis>생명 주기 객체</emphasis>로 만들어라."
 
-#: index.docbook:963
-msgid "Otherwise, you might not need cascade at all. But if you think that you will often be working with the parent and children together in the same transaction, and you want to save yourself some typing, consider using <literal>cascade=\"persist,merge,save-update\"</literal>."
-msgstr "게다가, 하나의 영속 부모로부터 하나의 자식에 대한 단순한 참조는 자식의 저장/업데이트로 귀결될 것이다. 하지만 이 메타포는 불완전하다. 그것의 부모에 의해 참조 해제되는 자식은 <literal>cascade=\"delete-orphan\"</literal>으로 매핑된 하나의 <literal>&lt;one-to-many&gt;</literal> 연관의 경우를 제외하면, 자동적으로 삭제되지 <emphasis>않는다</emphasis>. 하나의 부모/자식 관계에 대한 케스케이딩 오퍼레이션의 정확한 의미는 다음과 같다:"
+#. Tag: para
+#: session_api.xml:963
+#, no-c-format
+msgid ""
+"Otherwise, you might not need cascade at all. But if you think that you will "
+"often be working with the parent and children together in the same "
+"transaction, and you want to save yourself some typing, consider using "
+"<literal>cascade=\"persist,merge,save-update\"</literal>."
+msgstr ""
+"그 밖의 경우, 당신은 케스케이드를 전혀 필요로 하지 않을 수 있다. 그러나 만일 "
+"당신이 동일한 트랜잭션 내에서 부모와 자식에 대해 자주 함께 작업하게 될 것이"
+"라 생각되고, 당신 스스로 타이핑 하는 것을 절약하고자 원할 경우, "
+"<literal>cascade=\"persist,merge,save-update\"</literal>를 사용하는 것을 고려"
+"하라."
 
-#: index.docbook:971
-msgid "Mapping an association (either a single valued association, or a collection) with <literal>cascade=\"all\"</literal> marks the association as a <emphasis>parent/child</emphasis> style relationship where save/update/delete of the parent results in save/update/delete of the child or children."
-msgstr "만일 부모가 <literal>persist()</literal>에 전달될 경우, 모든 자식들이 <literal>persist()</literal>에 전달된다"
+#. Tag: para
+#: session_api.xml:971
+#, no-c-format
+msgid ""
+"Mapping an association (either a single valued association, or a collection) "
+"with <literal>cascade=\"all\"</literal> marks the association as a "
+"<emphasis>parent/child</emphasis> style relationship where save/update/"
+"delete of the parent results in save/update/delete of the child or children."
+msgstr ""
+"<literal>cascade=\"all\"</literal>을 가진 (단일 값 연관이든 하나의 콜렉션이"
+"든) 하나의 연관을 매핑시키는 것은 그 연관을 부모의 저장/업데이트/삭제가 자식 "
+"또는 자식들의 저장/업데이트/삭제로 귀결되는 <emphasis>부모/자식</emphasis> 스"
+"타일의 관계로 마크한다."
 
-#: index.docbook:977
-msgid "Futhermore, a mere reference to a child from a persistent parent will result in save/update of the child. This metaphor is incomplete, however. A child which becomes unreferenced by its parent is <emphasis>not</emphasis> automatically deleted, except in the case of a <literal>&lt;one-to-many&gt;</literal> association mapped with <literal>cascade=\"delete-orphan\"</literal>. The precise semantics of cascading operations for a parent/child relationship are as follows:"
-msgstr "만일 부모가 <literal>merge()</literal>에 전달될 경우, 모든 자식들이 <literal>merge()</literal>에 전달된다"
+#. Tag: para
+#: session_api.xml:977
+#, no-c-format
+msgid ""
+"Futhermore, a mere reference to a child from a persistent parent will result "
+"in save/update of the child. This metaphor is incomplete, however. A child "
+"which becomes unreferenced by its parent is <emphasis>not</emphasis> "
+"automatically deleted, except in the case of a <literal>&lt;one-to-many&gt;</"
+"literal> association mapped with <literal>cascade=\"delete-orphan\"</"
+"literal>. The precise semantics of cascading operations for a parent/child "
+"relationship are as follows:"
+msgstr ""
+"게다가, 하나의 영속 부모로부터 하나의 자식에 대한 단순한 참조는 자식의 저장/"
+"업데이트로 귀결될 것이다. 하지만 이 메타포는 불완전하다. 그것의 부모에 의해 "
+"참조 해제되는 자식은 <literal>cascade=\"delete-orphan\"</literal>으로 매핑된 "
+"하나의 <literal>&lt;one-to-many&gt;</literal> 연관의 경우를 제외하면, 자동적"
+"으로 삭제되지 <emphasis>않는다</emphasis>. 하나의 부모/자식 관계에 대한 케스"
+"케이딩 오퍼레이션의 정확한 의미는 다음과 같다:"
 
-#: index.docbook:988
-msgid "If a parent is passed to <literal>persist()</literal>, all children are passed to <literal>persist()</literal>"
-msgstr "만일 부모가 <literal>save()</literal>, <literal>update()</literal> 또는 <literal>saveOrUpdate()</literal>에 전달될 경우, 모든 자식들이 <literal>saveOrUpdate()</literal>에 전달된다"
+#. Tag: para
+#: session_api.xml:988
+#, no-c-format
+msgid ""
+"If a parent is passed to <literal>persist()</literal>, all children are "
+"passed to <literal>persist()</literal>"
+msgstr ""
+"만일 부모가 <literal>persist()</literal>에 전달될 경우, 모든 자식들이 "
+"<literal>persist()</literal>에 전달된다"
 
-#: index.docbook:994
-msgid "If a parent is passed to <literal>merge()</literal>, all children are passed to <literal>merge()</literal>"
-msgstr "만일 transient 또는 detached 자식이 영속 부모에 의해 참조될 경우, 그것은 <literal>saveOrUpdate()</literal>에 전달된다"
+#. Tag: para
+#: session_api.xml:994
+#, no-c-format
+msgid ""
+"If a parent is passed to <literal>merge()</literal>, all children are passed "
+"to <literal>merge()</literal>"
+msgstr ""
+"만일 부모가 <literal>merge()</literal>에 전달될 경우, 모든 자식들이 "
+"<literal>merge()</literal>에 전달된다"
 
-#: index.docbook:1000
-msgid "If a parent is passed to <literal>save()</literal>, <literal>update()</literal> or <literal>saveOrUpdate()</literal>, all children are passed to <literal>saveOrUpdate()</literal>"
-msgstr "만일 부모가 삭제될 경우, 모든 자식들이 <literal>delete()</literal>에 전달된다"
+#. Tag: para
+#: session_api.xml:1000
+#, no-c-format
+msgid ""
+"If a parent is passed to <literal>save()</literal>, <literal>update()</"
+"literal> or <literal>saveOrUpdate()</literal>, all children are passed to "
+"<literal>saveOrUpdate()</literal>"
+msgstr ""
+"만일 부모가 <literal>save()</literal>, <literal>update()</literal> 또는 "
+"<literal>saveOrUpdate()</literal>에 전달될 경우, 모든 자식들이 "
+"<literal>saveOrUpdate()</literal>에 전달된다"
 
-#: index.docbook:1006
-msgid "If a transient or detached child becomes referenced by a persistent parent, it is passed to <literal>saveOrUpdate()</literal>"
-msgstr "만일 자식이 영속 부모에 의해 참조 해제 될 경우, <literal>cascade=\"delete-orphan\"</literal>이 아닌 한, <emphasis>특별한 어떤 것도 발생하지 않는다</emphasis> - 어플리케이션은 필요한 경우에 자식을 명시적으로 삭제해야 한다 -, <literal>cascade=\"delete-orphan\"</literal>인 경우에 \"orphaned(고아)\"인 경우 자식이 삭제된다."
+#. Tag: para
+#: session_api.xml:1006
+#, no-c-format
+msgid ""
+"If a transient or detached child becomes referenced by a persistent parent, "
+"it is passed to <literal>saveOrUpdate()</literal>"
+msgstr ""
+"만일 transient 또는 detached 자식이 영속 부모에 의해 참조될 경우, 그것은 "
+"<literal>saveOrUpdate()</literal>에 전달된다"
 
-#: index.docbook:1012
-msgid "If a parent is deleted, all children are passed to <literal>delete()</literal>"
-msgstr "마지막으로 오퍼레이션들의 케스케이딩이 <emphasis>호출 시점</emphasis>에서 또는 <emphasis>flush 시점</emphasis>에서 객체 그래프에 적용될 수 있음을 노트하라. 이용 가능할 경우에 모든 오퍼레이션들은 그 오퍼레이션이 실행될 때 도달 가능한 연관된 엔티티들에 대해 케스케이드 된다. 하지만 <literal>save-upate</literal>와 <literal>delete-orphan</literal>은 <literal>Session</literal>의 flush 동안에 도달 가능한 모든 연관된 엔티티들에 대해 이행적(transitive)이다."
+#. Tag: para
+#: session_api.xml:1012
+#, no-c-format
+msgid ""
+"If a parent is deleted, all children are passed to <literal>delete()</"
+"literal>"
+msgstr ""
+"만일 부모가 삭제될 경우, 모든 자식들이 <literal>delete()</literal>에 전달된다"
 
-#: index.docbook:1017
-msgid "If a child is dereferenced by a persistent parent, <emphasis>nothing special happens</emphasis> - the application should explicitly delete the child if necessary - unless <literal>cascade=\"delete-orphan\"</literal>, in which case the \"orphaned\" child is deleted."
-msgstr "메타데이터 사용하기"
+#. Tag: para
+#: session_api.xml:1017
+#, no-c-format
+msgid ""
+"If a child is dereferenced by a persistent parent, <emphasis>nothing special "
+"happens</emphasis> - the application should explicitly delete the child if "
+"necessary - unless <literal>cascade=\"delete-orphan\"</literal>, in which "
+"case the \"orphaned\" child is deleted."
+msgstr ""
+"만일 자식이 영속 부모에 의해 참조 해제 될 경우, <literal>cascade=\"delete-"
+"orphan\"</literal>이 아닌 한, <emphasis>특별한 어떤 것도 발생하지 않는다</"
+"emphasis> - 어플리케이션은 필요한 경우에 자식을 명시적으로 삭제해야 한다 -, "
+"<literal>cascade=\"delete-orphan\"</literal>인 경우에 \"orphaned(고아)\"인 경"
+"우 자식이 삭제된다."
 
-#: index.docbook:1026
-msgid "Finally, note that cascading of operations can be applied to an object graph at <emphasis>call time</emphasis> or at <emphasis>flush time</emphasis>. All operations, if enabled, are cascaded to associated entities reachable when the operation is executed. However, <literal>save-upate</literal> and <literal>delete-orphan</literal> are transitive for all associated entities reachable during flush of the <literal>Session</literal>."
-msgstr "Hibernate는 모든 엔티티와 값(value) 타입들을 가진 매우 풍부한 메타-레벨 모형을 필요로 한다. 시간이 지남에 따라, 이 모형은 어플리케이션 그 자체에 매우 유용하다. 예를 들어, 어플리케이션은 어느 객체들이 복사되어야 하는지(예를 들면 가변적인 값(value) 타입들) 그리고 어느 것이 복사되지 말아야 하는지(예를 들면, 불변의 value 타입들과 가능한 연관된 엔티티들)를 인지하는 \"스마트\" deep-copy 알고리즘을 구현하는데 Hibernate의 메타데이터를 사용할 수도 있다."
+#. Tag: para
+#: session_api.xml:1026
+#, no-c-format
+msgid ""
+"Finally, note that cascading of operations can be applied to an object graph "
+"at <emphasis>call time</emphasis> or at <emphasis>flush time</emphasis>. All "
+"operations, if enabled, are cascaded to associated entities reachable when "
+"the operation is executed. However, <literal>save-upate</literal> and "
+"<literal>delete-orphan</literal> are transitive for all associated entities "
+"reachable during flush of the <literal>Session</literal>."
+msgstr ""
+"마지막으로 오퍼레이션들의 케스케이딩이 <emphasis>호출 시점</emphasis>에서 또"
+"는 <emphasis>flush 시점</emphasis>에서 객체 그래프에 적용될 수 있음을 노트하"
+"라. 이용 가능할 경우에 모든 오퍼레이션들은 그 오퍼레이션이 실행될 때 도달 가"
+"능한 연관된 엔티티들에 대해 케스케이드 된다. 하지만 <literal>save-upate</"
+"literal>와 <literal>delete-orphan</literal>은 <literal>Session</literal>의 "
+"flush 동안에 도달 가능한 모든 연관된 엔티티들에 대해 이행적(transitive)이다."
 
-#: index.docbook:1038
+#. Tag: title
+#: session_api.xml:1038
+#, no-c-format
 msgid "Using metadata"
-msgstr "Hibernate는 <literal>ClassMetadata</literal> 인터페이스와 <literal>CollectionMetadata</literal> 인터페이스 그리고 <literal>Type</literal> 계층구조를 통해 메타데이터를 노출시킨다. 메타데이터 인터페이스들의 인스턴스들은 <literal>SessionFactory</literal>로부터 얻어질 수도 있다."
+msgstr "메타데이터 사용하기"
 
-#: index.docbook:1040
-msgid "Hibernate requires a very rich meta-level model of all entity and value types. From time to time, this model is very useful to the application itself. For example, the application might use Hibernate's metadata to implement a \"smart\" deep-copy algorithm that understands which objects should be copied (eg. mutable value types) and which should not (eg. immutable value types and, possibly, associated entities)."
+#. Tag: para
+#: session_api.xml:1040
+#, no-c-format
+msgid ""
+"Hibernate requires a very rich meta-level model of all entity and value "
+"types. From time to time, this model is very useful to the application "
+"itself. For example, the application might use Hibernate's metadata to "
+"implement a \"smart\" deep-copy algorithm that understands which objects "
+"should be copied (eg. mutable value types) and which should not (eg. "
+"immutable value types and, possibly, associated entities)."
 msgstr ""
-      "<![CDATA[Cat fritz = ......;\n"
-      "ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
-      "\n"
-      "Object[] propertyValues = catMeta.getPropertyValues(fritz);\n"
-      "String[] propertyNames = catMeta.getPropertyNames();\n"
-      "Type[] propertyTypes = catMeta.getPropertyTypes();\n"
-      "\n"
-      "// get a Map of all properties which are not collections or associations\n"
-      "Map namedValues = new HashMap();\n"
-      "for ( int i=0; i<propertyNames.length; i++ ) {\n"
-      "    if ( !propertyTypes[i].isEntityType() && !propertyTypes[i].isCollectionType() ) {\n"
-      "        namedValues.put( propertyNames[i], propertyValues[i] );\n"
-      "    }\n"
-      "}]]>"
+"Hibernate는 모든 엔티티와 값(value) 타입들을 가진 매우 풍부한 메타-레벨 모형"
+"을 필요로 한다. 시간이 지남에 따라, 이 모형은 어플리케이션 그 자체에 매우 유"
+"용하다. 예를 들어, 어플리케이션은 어느 객체들이 복사되어야 하는지(예를 들면 "
+"가변적인 값(value) 타입들) 그리고 어느 것이 복사되지 말아야 하는지(예를 들"
+"면, 불변의 value 타입들과 가능한 연관된 엔티티들)를 인지하는 \"스마트\" deep-"
+"copy 알고리즘을 구현하는데 Hibernate의 메타데이터를 사용할 수도 있다."
 
-#: index.docbook:1047
-msgid "Hibernate exposes metadata via the <literal>ClassMetadata</literal> and <literal>CollectionMetadata</literal> interfaces and the <literal>Type</literal> hierarchy. Instances of the metadata interfaces may be obtained from the <literal>SessionFactory</literal>."
+#. Tag: para
+#: session_api.xml:1047
+#, no-c-format
+msgid ""
+"Hibernate exposes metadata via the <literal>ClassMetadata</literal> and "
+"<literal>CollectionMetadata</literal> interfaces and the <literal>Type</"
+"literal> hierarchy. Instances of the metadata interfaces may be obtained "
+"from the <literal>SessionFactory</literal>."
 msgstr ""
+"Hibernate는 <literal>ClassMetadata</literal> 인터페이스와 "
+"<literal>CollectionMetadata</literal> 인터페이스 그리고 <literal>Type</"
+"literal> 계층구조를 통해 메타데이터를 노출시킨다. 메타데이터 인터페이스들의 "
+"인스턴스들은 <literal>SessionFactory</literal>로부터 얻어질 수도 있다."
 
-#: index.docbook:1054
+#. Tag: programlisting
+#: session_api.xml:1054
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat fritz = ......;\n"
-      "ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
-      "\n"
-      "Object[] propertyValues = catMeta.getPropertyValues(fritz);\n"
-      "String[] propertyNames = catMeta.getPropertyNames();\n"
-      "Type[] propertyTypes = catMeta.getPropertyTypes();\n"
-      "\n"
-      "// get a Map of all properties which are not collections or associations\n"
-      "Map namedValues = new HashMap();\n"
-      "for ( int i=0; i<propertyNames.length; i++ ) {\n"
-      "    if ( !propertyTypes[i].isEntityType() && !propertyTypes[i].isCollectionType() ) {\n"
-      "        namedValues.put( propertyNames[i], propertyValues[i] );\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[Cat fritz = ......;\n"
+"ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
+"\n"
+"Object[] propertyValues = catMeta.getPropertyValues(fritz);\n"
+"String[] propertyNames = catMeta.getPropertyNames();\n"
+"Type[] propertyTypes = catMeta.getPropertyTypes();\n"
+"\n"
+"// get a Map of all properties which are not collections or associations\n"
+"Map namedValues = new HashMap();\n"
+"for ( int i=0; i<propertyNames.length; i++ ) {\n"
+"    if ( !propertyTypes[i].isEntityType() && !propertyTypes[i]."
+"isCollectionType() ) {\n"
+"        namedValues.put( propertyNames[i], propertyValues[i] );\n"
+"    }\n"
+"}]]>"
 msgstr ""
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "UPDATE"
+#~ msgstr "UPDATE"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "DELETE"
+#~ msgstr "DELETE"
 
+#~ msgid "state management"
+#~ msgstr "상태 관리"
+
+#~ msgid "statements"
+#~ msgstr "문장들"
+
+#~ msgid "Connection"
+#~ msgstr "session.connection()"
+
+#~ msgid "session.connection()"
+#~ msgstr "Connection"

Modified: core/trunk/documentation/manual/translations/ko-KR/content/toolset_guide.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/toolset_guide.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/toolset_guide.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,744 +1,1195 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: toolset_guide.xml:5
+#, no-c-format
 msgid "Toolset Guide"
 msgstr "도구셋 안내"
 
-#: index.docbook:7
-msgid "Roundtrip engineering with Hibernate is possible using a set of Eclipse plugins, commandline tools, as well as Ant tasks."
-msgstr "Hibernate에 대한 라운드트립 엔지니어링은 Eclipse 플러그인 세트, 명령라인 도구들, 뿐만 아니라 Ant 태스크들을 사용하여 가능하다."
+#. Tag: para
+#: toolset_guide.xml:7
+#, no-c-format
+msgid ""
+"Roundtrip engineering with Hibernate is possible using a set of Eclipse "
+"plugins, commandline tools, as well as Ant tasks."
+msgstr ""
+"Hibernate에 대한 라운드트립 엔지니어링은 Eclipse 플러그인 세트, 명령라인 도구"
+"들, 뿐만 아니라 Ant 태스크들을 사용하여 가능하다."
 
-#: index.docbook:12
-msgid "The <emphasis>Hibernate Tools</emphasis> currently include plugins for the Eclipse IDE as well as Ant tasks for reverse engineering of existing databases:"
-msgstr "<emphasis>Hibernate 도구들</emphasis>은 현재 기존 데이터베이스들에 대한 리버스 엔지니어링을 위해 Ant 태스크들 뿐만 아니라 Eclipse IDE용 플러그인들을 포함하고 있다:"
+#. Tag: para
+#: toolset_guide.xml:12
+#, no-c-format
+msgid ""
+"The <emphasis>Hibernate Tools</emphasis> currently include plugins for the "
+"Eclipse IDE as well as Ant tasks for reverse engineering of existing "
+"databases:"
+msgstr ""
+"<emphasis>Hibernate 도구들</emphasis>은 현재 기존 데이터베이스들에 대한 리버"
+"스 엔지니어링을 위해 Ant 태스크들 뿐만 아니라 Eclipse IDE용 플러그인들을 포함"
+"하고 있다:"
 
-#: index.docbook:18
-msgid "<emphasis>Mapping Editor:</emphasis> An editor for Hibernate XML mapping files, supporting auto-completion and syntax highlighting. It also supports semantic auto-completion for class names and property/field names, making it much more versatile than a normal XML editor."
-msgstr "<emphasis>매핑 편집기:</emphasis> 자동 완성 기능과 구문 강조를 지원하는 Hibernate XML 매핑 파일들에 대한 편집기. 그것은 또한 통상의 XML 편집기 보다 훨씬 더 융통성 있게 만들어서 클래스 이름들과 프로퍼티/필드 이름들에 대한 의미론적 자동 완성 기능을 지원한다."
+#. Tag: para
+#: toolset_guide.xml:18
+#, no-c-format
+msgid ""
+"<emphasis>Mapping Editor:</emphasis> An editor for Hibernate XML mapping "
+"files, supporting auto-completion and syntax highlighting. It also supports "
+"semantic auto-completion for class names and property/field names, making it "
+"much more versatile than a normal XML editor."
+msgstr ""
+"<emphasis>매핑 편집기:</emphasis> 자동 완성 기능과 구문 강조를 지원하는 "
+"Hibernate XML 매핑 파일들에 대한 편집기. 그것은 또한 통상의 XML 편집기 보다 "
+"훨씬 더 융통성 있게 만들어서 클래스 이름들과 프로퍼티/필드 이름들에 대한 의미"
+"론적 자동 완성 기능을 지원한다."
 
-#: index.docbook:23
-msgid "<emphasis>Console:</emphasis> The console is a new view in Eclipse. In addition to a tree overview of your console configurations, you also get an interactive view of your persistent classes and their relationships. The console allows you to execute HQL queries against your database and browse the result directly in Eclipse."
-msgstr "<emphasis>콘솔:</emphasis> 콘솔은 Eclipse에서 새로운 뷰이다. 당신의 콘솔 구성들에 대한 tree overview에 덧붙여, 당신은 또한 당신의 영속 클래스들과 그것들의 관계들에 대한 상호작용 뷰를 얻는다. 콘솔은 당신의 데이터베이스에 대해 HQL 질의들을 실행하고 그 결과를 Eclipse 내에서 직접 브라우징 하도록 당신에게 허용해준다."
+#. Tag: para
+#: toolset_guide.xml:23
+#, no-c-format
+msgid ""
+"<emphasis>Console:</emphasis> The console is a new view in Eclipse. In "
+"addition to a tree overview of your console configurations, you also get an "
+"interactive view of your persistent classes and their relationships. The "
+"console allows you to execute HQL queries against your database and browse "
+"the result directly in Eclipse."
+msgstr ""
+"<emphasis>콘솔:</emphasis> 콘솔은 Eclipse에서 새로운 뷰이다. 당신의 콘솔 구성"
+"들에 대한 tree overview에 덧붙여, 당신은 또한 당신의 영속 클래스들과 그것들"
+"의 관계들에 대한 상호작용 뷰를 얻는다. 콘솔은 당신의 데이터베이스에 대해 HQL "
+"질의들을 실행하고 그 결과를 Eclipse 내에서 직접 브라우징 하도록 당신에게 허용"
+"해준다."
 
-#: index.docbook:30
-msgid "<emphasis>Development Wizards:</emphasis> Several wizards are provided with the Hibernate Eclipse tools; you can use a wizard to quickly generate Hibernate configuration (cfg.xml) files, or you may even completely reverse engineer an existing database schema into POJO source files and Hibernate mapping files. The reverse engineering wizard supports customizable templates."
-msgstr "<emphasis>개발 마법사들:</emphasis> 몇몇 마법사들이 Hibernate Eclipse 도구들에 제공된다; 당신은 Hibernate 구성 (cfg.xml) 파일들을 빠르게 생성시키는데 마법사를 사용하거나, 심지어 당신은 기존 데이터베이스 스키마를 POJO 소스 파일들과 Hibernate 매핑 파일들로 완전하게 리버스 엔지니어링할 수도 있다. 리버스 엔지니어링 마법사는 맞춤 가능한 템플릿들을 제공한다."
+#. Tag: para
+#: toolset_guide.xml:30
+#, no-c-format
+msgid ""
+"<emphasis>Development Wizards:</emphasis> Several wizards are provided with "
+"the Hibernate Eclipse tools; you can use a wizard to quickly generate "
+"Hibernate configuration (cfg.xml) files, or you may even completely reverse "
+"engineer an existing database schema into POJO source files and Hibernate "
+"mapping files. The reverse engineering wizard supports customizable "
+"templates."
+msgstr ""
+"<emphasis>개발 마법사들:</emphasis> 몇몇 마법사들이 Hibernate Eclipse 도구들"
+"에 제공된다; 당신은 Hibernate 구성 (cfg.xml) 파일들을 빠르게 생성시키는데 마"
+"법사를 사용하거나, 심지어 당신은 기존 데이터베이스 스키마를 POJO 소스 파일들"
+"과 Hibernate 매핑 파일들로 완전하게 리버스 엔지니어링할 수도 있다. 리버스 엔"
+"지니어링 마법사는 맞춤 가능한 템플릿들을 제공한다."
 
-#: index.docbook:38
+#. Tag: emphasis
+#: toolset_guide.xml:38
+#, no-c-format
 msgid "Ant Tasks:"
 msgstr "Ant 태스크들:"
 
-#: index.docbook:43
-msgid "Please refer to the <emphasis>Hibernate Tools</emphasis> package and it's documentation for more information."
-msgstr "추가 정보는 <emphasis>Hibernate Tools</emphasis> 패키지와 그것의 문서를 참조하길 바란다."
+#. Tag: para
+#: toolset_guide.xml:43
+#, no-c-format
+msgid ""
+"Please refer to the <emphasis>Hibernate Tools</emphasis> package and it's "
+"documentation for more information."
+msgstr ""
+"추가 정보는 <emphasis>Hibernate Tools</emphasis> 패키지와 그것의 문서를 참조"
+"하길 바란다."
 
-#: index.docbook:48
-msgid "However, the Hibernate main package comes bundled with an integrated tool (it can even be used from \"inside\" Hibernate on-the-fly): <emphasis>SchemaExport</emphasis> aka <literal>hbm2ddl</literal>."
-msgstr "하지만 Hibernate 메인 패키지는 통합 도구에 번들화 되어 있다(그것은 심지어 플라이 상에서 Hibernate \"내에서\" 사용될 수 있다): <emphasis>SchemaExport</emphasis> 별칭은 <literal>hbm2ddl</literal>."
+#. Tag: para
+#: toolset_guide.xml:48
+#, no-c-format
+msgid ""
+"However, the Hibernate main package comes bundled with an integrated tool "
+"(it can even be used from \"inside\" Hibernate on-the-fly): "
+"<emphasis>SchemaExport</emphasis> aka <literal>hbm2ddl</literal>."
+msgstr ""
+"하지만 Hibernate 메인 패키지는 통합 도구에 번들화 되어 있다(그것은 심지어 플"
+"라이 상에서 Hibernate \"내에서\" 사용될 수 있다): <emphasis>SchemaExport</"
+"emphasis> 별칭은 <literal>hbm2ddl</literal>."
 
-#: index.docbook:55
+#. Tag: title
+#: toolset_guide.xml:55
+#, no-c-format
 msgid "Automatic schema generation"
 msgstr "자동적인 스키마 생성"
 
-#: index.docbook:57
-msgid "DDL may be generated from your mapping files by a Hibernate utility. The generated schema includes referential integrity constraints (primary and foreign keys) for entity and collection tables. Tables and sequences are also created for mapped identifier generators."
-msgstr "DDL은 Hibernate 유틸리티에 의해 당신의 매핑 파일들로부터 생성될 수 있다. 생성된 스키마는 엔티티 테이블과 콜렉션 테이블에 대한 참조 무결성 컨스트레인트들(프라이머리 키와 foreign 키들)을 포함한다. 테이블들과 시퀀스들은 또한 페칭된 식별자 생성기들에 대해 생성된다."
+#. Tag: para
+#: toolset_guide.xml:57
+#, no-c-format
+msgid ""
+"DDL may be generated from your mapping files by a Hibernate utility. The "
+"generated schema includes referential integrity constraints (primary and "
+"foreign keys) for entity and collection tables. Tables and sequences are "
+"also created for mapped identifier generators."
+msgstr ""
+"DDL은 Hibernate 유틸리티에 의해 당신의 매핑 파일들로부터 생성될 수 있다. 생성"
+"된 스키마는 엔티티 테이블과 콜렉션 테이블에 대한 참조 무결성 컨스트레인트들"
+"(프라이머리 키와 foreign 키들)을 포함한다. 테이블들과 시퀀스들은 또한 페칭된 "
+"식별자 생성기들에 대해 생성된다."
 
-#: index.docbook:64
-msgid "You <emphasis>must</emphasis> specify a SQL <literal>Dialect</literal> via the <literal>hibernate.dialect</literal> property when using this tool, as DDL is highly vendor specific."
-msgstr "DDL이 매우 벤더에 특정하므로, 이 도구를 사용할 때 당신은 <literal>hibernate.dialect</literal> 프로퍼티를 통해 한 개의 SQL <literal>Dialect</literal>를 지정<emphasis>해야 한다</emphasis>."
+#. Tag: para
+#: toolset_guide.xml:64
+#, no-c-format
+msgid ""
+"You <emphasis>must</emphasis> specify a SQL <literal>Dialect</literal> via "
+"the <literal>hibernate.dialect</literal> property when using this tool, as "
+"DDL is highly vendor specific."
+msgstr ""
+"DDL이 매우 벤더에 특정하므로, 이 도구를 사용할 때 당신은 <literal>hibernate."
+"dialect</literal> 프로퍼티를 통해 한 개의 SQL <literal>Dialect</literal>를 지"
+"정<emphasis>해야 한다</emphasis>."
 
-#: index.docbook:70
+#. Tag: para
+#: toolset_guide.xml:70
+#, no-c-format
 msgid "First, customize your mapping files to improve the generated schema."
-msgstr "먼저 생성된 스키마를 개선시키기 위해 당신의 매핑 파일들을 맞춤화 시켜라."
+msgstr ""
+"먼저 생성된 스키마를 개선시키기 위해 당신의 매핑 파일들을 맞춤화 시켜라."
 
-#: index.docbook:75
+#. Tag: title
+#: toolset_guide.xml:75
+#, no-c-format
 msgid "Customizing the schema"
 msgstr "스키마 맞춤화 시키기"
 
-#: index.docbook:77
-msgid "Many Hibernate mapping elements define optional attributes named <literal>length</literal>, <literal>precision</literal> and <literal>scale</literal>. You may set the length, precision and scale of a column with this attribute."
-msgstr "많은 Hibernate 매핑 요소들은 <literal>length</literal>로 명명된 옵션 속성을 정의한다. 당신은 이 속성으로 컬럼의 길이를 설정할 수 있다.(또는 numeric/decimal 데이터 타입들, 배정도에 대해 ). 많은 Hibernate 매칭 요소들은 <literal>length</literal>, <literal>precision</literal> 그리고 <literal>scale</literal>로 명명된 옵션 속성들을 정의하고 있다. 당신은 이 속성으로서 컬럼이 길이, 정밀도, 크기를 설정할 수 있다."
+#. Tag: para
+#: toolset_guide.xml:77
+#, no-c-format
+msgid ""
+"Many Hibernate mapping elements define optional attributes named "
+"<literal>length</literal>, <literal>precision</literal> and <literal>scale</"
+"literal>. You may set the length, precision and scale of a column with this "
+"attribute."
+msgstr ""
+"많은 Hibernate 매핑 요소들은 <literal>length</literal>로 명명된 옵션 속성을 "
+"정의한다. 당신은 이 속성으로 컬럼의 길이를 설정할 수 있다.(또는 numeric/"
+"decimal 데이터 타입들, 배정도에 대해 ). 많은 Hibernate 매칭 요소들은 "
+"<literal>length</literal>, <literal>precision</literal> 그리고 "
+"<literal>scale</literal>로 명명된 옵션 속성들을 정의하고 있다. 당신은 이 속성"
+"으로서 컬럼이 길이, 정밀도, 크기를 설정할 수 있다."
 
-#: index.docbook:84
+#. Tag: programlisting
+#: toolset_guide.xml:84
+#, no-c-format
 msgid "<![CDATA[<property name=\"zip\" length=\"5\"/>]]>"
-msgstr "<![CDATA[<property name=\"zip\" length=\"5\"/>]]>"
+msgstr ""
 
-#: index.docbook:85
+#. Tag: programlisting
+#: toolset_guide.xml:85
+#, no-c-format
 msgid "<![CDATA[<property name=\"balance\" precision=\"12\" scale=\"2\"/>]]>"
-msgstr "<![CDATA[<property name=\"balance\" precision=\"12\" scale=\"2\"/>]]>"
+msgstr ""
 
-#: index.docbook:87
-msgid "Some tags also accept a <literal>not-null</literal> attribute (for generating a <literal>NOT NULL</literal> constraint on table columns) and a <literal>unique</literal> attribute (for generating <literal>UNIQUE</literal> constraint on table columns)."
-msgstr "몇몇 태그들은 또한 (테이블 컬럼들에 대한 <literal>NOT NULL</literal> 컨스트레인트를 생성시키는) <literal>not-null</literal> 속성과 (테이블 컬럼들에 대한 <literal>UNIQUE</literal> 컨스트레인트를 생성시키는) <literal>unique</literal> 속성을 수용한다."
+#. Tag: para
+#: toolset_guide.xml:87
+#, no-c-format
+msgid ""
+"Some tags also accept a <literal>not-null</literal> attribute (for "
+"generating a <literal>NOT NULL</literal> constraint on table columns) and a "
+"<literal>unique</literal> attribute (for generating <literal>UNIQUE</"
+"literal> constraint on table columns)."
+msgstr ""
+"몇몇 태그들은 또한 (테이블 컬럼들에 대한 <literal>NOT NULL</literal> 컨스트레"
+"인트를 생성시키는) <literal>not-null</literal> 속성과 (테이블 컬럼들에 대한 "
+"<literal>UNIQUE</literal> 컨스트레인트를 생성시키는) <literal>unique</"
+"literal> 속성을 수용한다."
 
-#: index.docbook:93
-msgid "<![CDATA[<many-to-one name=\"bar\" column=\"barId\" not-null=\"true\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"bar\" column=\"barId\" not-null=\"true\"/>]]>"
+#. Tag: programlisting
+#: toolset_guide.xml:93
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"bar\" column=\"barId\" not-null=\"true\"/>]]>"
+msgstr ""
 
-#: index.docbook:95
-msgid "<![CDATA[<element column=\"serialNumber\" type=\"long\" not-null=\"true\" unique=\"true\"/>]]>"
-msgstr "<![CDATA[<element column=\"serialNumber\" type=\"long\" not-null=\"true\" unique=\"true\"/>]]>"
+#. Tag: programlisting
+#: toolset_guide.xml:95
+#, no-c-format
+msgid ""
+"<![CDATA[<element column=\"serialNumber\" type=\"long\" not-null=\"true\" "
+"unique=\"true\"/>]]>"
+msgstr ""
 
-#: index.docbook:97
-msgid "A <literal>unique-key</literal> attribute may be used to group columns in a single unique key constraint. Currently, the specified value of the <literal>unique-key</literal> attribute is <emphasis>not</emphasis> used to name the constraint in the generated DDL, only to group the columns in the mapping file."
-msgstr "<literal>unique-key</literal> 속성은 하나의 유일 키 컨스트레인트로 컬럼들을 그룹지우는데 사용될 수도 있다. 현재 <literal>unique-key</literal> 속성의 지정된 값은 산출된 DDL내에서 컨스트레인트를 명명하는데 사용되지 <emphasis>않고</emphasis>, 오직 매핑 파일 내에서 컬럼들을 그룹 지우는데 사용된다."
+#. Tag: para
+#: toolset_guide.xml:97
+#, no-c-format
+msgid ""
+"A <literal>unique-key</literal> attribute may be used to group columns in a "
+"single unique key constraint. Currently, the specified value of the "
+"<literal>unique-key</literal> attribute is <emphasis>not</emphasis> used to "
+"name the constraint in the generated DDL, only to group the columns in the "
+"mapping file."
+msgstr ""
+"<literal>unique-key</literal> 속성은 하나의 유일 키 컨스트레인트로 컬럼들을 "
+"그룹지우는데 사용될 수도 있다. 현재 <literal>unique-key</literal> 속성의 지정"
+"된 값은 산출된 DDL내에서 컨스트레인트를 명명하는데 사용되지 <emphasis>않고</"
+"emphasis>, 오직 매핑 파일 내에서 컬럼들을 그룹 지우는데 사용된다."
 
-#: index.docbook:105
+#. Tag: programlisting
+#: toolset_guide.xml:105
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one name=\"org\" column=\"orgId\" unique-key=\"OrgEmployeeId\"/>\n"
-      "<property name=\"employeeId\" unique-key=\"OrgEmployee\"/>]]>"
+"<![CDATA[<many-to-one name=\"org\" column=\"orgId\" unique-key="
+"\"OrgEmployeeId\"/>\n"
+"<property name=\"employeeId\" unique-key=\"OrgEmployee\"/>]]>"
 msgstr ""
-      "<![CDATA[<many-to-one name=\"org\" column=\"orgId\" unique-key=\"OrgEmployeeId\"/>\n"
-      "<property name=\"employeeId\" unique-key=\"OrgEmployee\"/>]]>"
 
-#: index.docbook:107
-msgid "An <literal>index</literal> attribute specifies the name of an index that will be created using the mapped column or columns. Multiple columns may be grouped into the same index, simply by specifying the same index name."
-msgstr "<literal>index</literal> 속성은 매핑된 컬럼 또는 컬럼들을 사용하여 생성될 인덱스의 이름을 지정한다. 간단하게 동일한 인덱스 이름을 지정함으로써 여러 컬럼들이 동일한 인덱스 내로 그룹지워질 수도 있다."
+#. Tag: para
+#: toolset_guide.xml:107
+#, no-c-format
+msgid ""
+"An <literal>index</literal> attribute specifies the name of an index that "
+"will be created using the mapped column or columns. Multiple columns may be "
+"grouped into the same index, simply by specifying the same index name."
+msgstr ""
+"<literal>index</literal> 속성은 매핑된 컬럼 또는 컬럼들을 사용하여 생성될 인"
+"덱스의 이름을 지정한다. 간단하게 동일한 인덱스 이름을 지정함으로써 여러 컬럼"
+"들이 동일한 인덱스 내로 그룹지워질 수도 있다."
 
-#: index.docbook:113
+#. Tag: programlisting
+#: toolset_guide.xml:113
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"lastName\" index=\"CustName\"/>\n"
-      "<property name=\"firstName\" index=\"CustName\"/>]]>"
+"<![CDATA[<property name=\"lastName\" index=\"CustName\"/>\n"
+"<property name=\"firstName\" index=\"CustName\"/>]]>"
 msgstr ""
-      "<![CDATA[<property name=\"lastName\" index=\"CustName\"/>\n"
-      "<property name=\"firstName\" index=\"CustName\"/>]]>"
 
-#: index.docbook:115
-msgid "A <literal>foreign-key</literal> attribute may be used to override the name of any generated foreign key constraint."
-msgstr "<literal>foreign-key</literal> 속성은 임의의 산출된 foreign 키 컨스트레인트의 이름을 오버라이드 시키는데 사용될 수 도 있다."
+#. Tag: para
+#: toolset_guide.xml:115
+#, no-c-format
+msgid ""
+"A <literal>foreign-key</literal> attribute may be used to override the name "
+"of any generated foreign key constraint."
+msgstr ""
+"<literal>foreign-key</literal> 속성은 임의의 산출된 foreign 키 컨스트레인트"
+"의 이름을 오버라이드 시키는데 사용될 수 도 있다."
 
-#: index.docbook:120
-msgid "<![CDATA[<many-to-one name=\"bar\" column=\"barId\" foreign-key=\"FKFooBar\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"bar\" column=\"barId\" foreign-key=\"FKFooBar\"/>]]>"
+#. Tag: programlisting
+#: toolset_guide.xml:120
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"bar\" column=\"barId\" foreign-key=\"FKFooBar\"/"
+">]]>"
+msgstr ""
 
-#: index.docbook:122
-msgid "Many mapping elements also accept a child <literal>&lt;column&gt;</literal> element. This is particularly useful for mapping multi-column types:"
-msgstr "많은 매핑 요소들은 또한 하나의 자식 <literal>&lt;column&gt;</literal> 요소를 허용한다. 이것은 특히 다중 컬럼 타입들을 매핑하는데 유용하다:"
+#. Tag: para
+#: toolset_guide.xml:122
+#, no-c-format
+msgid ""
+"Many mapping elements also accept a child <literal>&lt;column&gt;</literal> "
+"element. This is particularly useful for mapping multi-column types:"
+msgstr ""
+"많은 매핑 요소들은 또한 하나의 자식 <literal>&lt;column&gt;</literal> 요소를 "
+"허용한다. 이것은 특히 다중 컬럼 타입들을 매핑하는데 유용하다:"
 
-#: index.docbook:127
+#. Tag: programlisting
+#: toolset_guide.xml:127
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"name\" type=\"my.customtypes.Name\"/>\n"
-      "    <column name=\"last\" not-null=\"true\" index=\"bar_idx\" length=\"30\"/>\n"
-      "    <column name=\"first\" not-null=\"true\" index=\"bar_idx\" length=\"20\"/>\n"
-      "    <column name=\"initial\"/>\n"
-      "</property>]]>"
+"<![CDATA[<property name=\"name\" type=\"my.customtypes.Name\"/>\n"
+"    <column name=\"last\" not-null=\"true\" index=\"bar_idx\" length=\"30\"/"
+">\n"
+"    <column name=\"first\" not-null=\"true\" index=\"bar_idx\" length=\"20\"/"
+">\n"
+"    <column name=\"initial\"/>\n"
+"</property>]]>"
 msgstr ""
-      "<![CDATA[<property name=\"name\" type=\"my.customtypes.Name\"/>\n"
-      "    <column name=\"last\" not-null=\"true\" index=\"bar_idx\" length=\"30\"/>\n"
-      "    <column name=\"first\" not-null=\"true\" index=\"bar_idx\" length=\"20\"/>\n"
-      "    <column name=\"initial\"/>\n"
-      "</property>]]>"
 
-#: index.docbook:129
-msgid "The <literal>default</literal> attribute lets you specify a default value for a column (you should assign the same value to the mapped property before saving a new instance of the mapped class)."
-msgstr "다른 방법으로, 이들 요소들은 또한 자식 <literal>&lt;column&gt;</literal> 요소를 수용한다. 이것은 다중 컬럼 타입들에 특히 유용하다: <literal>default</literal> 속성은 당신으로 하여금 하나의 컬럼에 대한 디폴트 값을 설정하도록 한다(당신은 매핑된 클래스의 새로운 인스턴스를 저장하기 전에 매핑된 프로퍼티에 동일한 값을 할당하게 될 것이다)."
+#. Tag: para
+#: toolset_guide.xml:129
+#, no-c-format
+msgid ""
+"The <literal>default</literal> attribute lets you specify a default value "
+"for a column (you should assign the same value to the mapped property before "
+"saving a new instance of the mapped class)."
+msgstr ""
+"다른 방법으로, 이들 요소들은 또한 자식 <literal>&lt;column&gt;</literal> 요소"
+"를 수용한다. 이것은 다중 컬럼 타입들에 특히 유용하다: <literal>default</"
+"literal> 속성은 당신으로 하여금 하나의 컬럼에 대한 디폴트 값을 설정하도록 한"
+"다(당신은 매핑된 클래스의 새로운 인스턴스를 저장하기 전에 매핑된 프로퍼티에 "
+"동일한 값을 할당하게 될 것이다)."
 
-#: index.docbook:135
+#. Tag: programlisting
+#: toolset_guide.xml:135
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"credits\" type=\"integer\" insert=\"false\">\n"
-      "    <column name=\"credits\" default=\"10\"/>\n"
-      "</property>]]>"
+"<![CDATA[<property name=\"credits\" type=\"integer\" insert=\"false\">\n"
+"    <column name=\"credits\" default=\"10\"/>\n"
+"</property>]]>"
 msgstr ""
-      "<![CDATA[<property name=\"credits\" type=\"integer\" insert=\"false\">\n"
-      "    <column name=\"credits\" default=\"10\"/>\n"
-      "</property>]]>"
 
-#: index.docbook:137
+#. Tag: programlisting
+#: toolset_guide.xml:137
+#, no-c-format
 msgid ""
-      "<![CDATA[<version name=\"version\" type=\"integer\" insert=\"false\">\n"
-      "    <column name=\"version\" default=\"0\"/>\n"
-      "</property>]]>"
+"<![CDATA[<version name=\"version\" type=\"integer\" insert=\"false\">\n"
+"    <column name=\"version\" default=\"0\"/>\n"
+"</property>]]>"
 msgstr ""
-      "<![CDATA[<version name=\"version\" type=\"integer\" insert=\"false\">\n"
-      "    <column name=\"version\" default=\"0\"/>\n"
-      "</property>]]>"
 
-#: index.docbook:139
-msgid "The <literal>sql-type</literal> attribute allows the user to override the default mapping of a Hibernate type to SQL datatype."
-msgstr "<literal>sql-type</literal> 속성은 SQL 데이터타입에 대한 Hibernate 타입의 디폴트 매핑을 오버라이드 시키는 것을 사용자에게 허용해준다."
+#. Tag: para
+#: toolset_guide.xml:139
+#, no-c-format
+msgid ""
+"The <literal>sql-type</literal> attribute allows the user to override the "
+"default mapping of a Hibernate type to SQL datatype."
+msgstr ""
+"<literal>sql-type</literal> 속성은 SQL 데이터타입에 대한 Hibernate 타입의 디"
+"폴트 매핑을 오버라이드 시키는 것을 사용자에게 허용해준다."
 
-#: index.docbook:144
+#. Tag: programlisting
+#: toolset_guide.xml:144
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"balance\" type=\"float\">\n"
-      "    <column name=\"balance\" sql-type=\"decimal(13,3)\"/>\n"
-      "</property>]]>"
+"<![CDATA[<property name=\"balance\" type=\"float\">\n"
+"    <column name=\"balance\" sql-type=\"decimal(13,3)\"/>\n"
+"</property>]]>"
 msgstr ""
-      "<![CDATA[<property name=\"balance\" type=\"float\">\n"
-      "    <column name=\"balance\" sql-type=\"decimal(13,3)\"/>\n"
-      "</property>]]>"
 
-#: index.docbook:146
-msgid "The <literal>check</literal> attribute allows you to specify a check constraint."
-msgstr "<literal>check</literal> 속성은 check 컨스트레인트를 지정하는 것을 당신에게 허용해준다."
+#. Tag: para
+#: toolset_guide.xml:146
+#, no-c-format
+msgid ""
+"The <literal>check</literal> attribute allows you to specify a check "
+"constraint."
+msgstr ""
+"<literal>check</literal> 속성은 check 컨스트레인트를 지정하는 것을 당신에게 "
+"허용해준다."
 
-#: index.docbook:150
+#. Tag: programlisting
+#: toolset_guide.xml:150
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"foo\" type=\"integer\">\n"
-      "    <column name=\"foo\" check=\"foo > 10\"/>\n"
-      "</property>]]>"
+"<![CDATA[<property name=\"foo\" type=\"integer\">\n"
+"    <column name=\"foo\" check=\"foo > 10\"/>\n"
+"</property>]]>"
 msgstr ""
-      "<![CDATA[<property name=\"foo\" type=\"integer\">\n"
-      "    <column name=\"foo\" check=\"foo > 10\"/>\n"
-      "</property>]]>"
 
-#: index.docbook:152
+#. Tag: programlisting
+#: toolset_guide.xml:152
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Foo\" table=\"foos\" check=\"bar < 100.0\">\n"
-      "    ...\n"
-      "    <property name=\"bar\" type=\"float\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Foo\" table=\"foos\" check=\"bar < 100.0\">\n"
+"    ...\n"
+"    <property name=\"bar\" type=\"float\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Foo\" table=\"foos\" check=\"bar < 100.0\">\n"
-      "    ...\n"
-      "    <property name=\"bar\" type=\"float\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:156
+#. Tag: title
+#: toolset_guide.xml:156
+#, no-c-format
 msgid "Summary"
-msgstr "<title>요약</title>"
+msgstr "요약"
 
-#: index.docbook:163
+#. Tag: entry
+#: toolset_guide.xml:163
+#, no-c-format
 msgid "Attribute"
-msgstr "<entry>속성</entry>"
+msgstr "속성"
 
-#: index.docbook:164
+#. Tag: entry
+#: toolset_guide.xml:164
+#, no-c-format
 msgid "Values"
-msgstr "<entry>값들</entry>"
+msgstr "값들"
 
-#: index.docbook:165
+#. Tag: entry
+#: toolset_guide.xml:165
+#, no-c-format
 msgid "Interpretation"
-msgstr "<entry>해석</entry>"
+msgstr "해석"
 
-#: index.docbook:170
+#. Tag: literal
+#: toolset_guide.xml:170
+#, no-c-format
 msgid "length"
 msgstr "length"
 
-#: index.docbook:171, index.docbook:176, index.docbook:181
+#. Tag: entry
+#: toolset_guide.xml:171 toolset_guide.xml:176 toolset_guide.xml:181
+#, no-c-format
 msgid "number"
 msgstr "number"
 
-#: index.docbook:172
+#. Tag: entry
+#: toolset_guide.xml:172
+#, no-c-format
 msgid "column length"
 msgstr "컬럼 길이"
 
-#: index.docbook:175
+#. Tag: literal
+#: toolset_guide.xml:175
+#, no-c-format
 msgid "precision"
 msgstr "precision"
 
-#: index.docbook:177
+#. Tag: entry
+#: toolset_guide.xml:177
+#, no-c-format
 msgid "column decimal precision"
 msgstr "컬럼 decimal 정밀도"
 
-#: index.docbook:180
+#. Tag: literal
+#: toolset_guide.xml:180
+#, no-c-format
 msgid "scale"
 msgstr "scale"
 
-#: index.docbook:182
+#. Tag: entry
+#: toolset_guide.xml:182
+#, no-c-format
 msgid "column decimal scale"
 msgstr "컬럼 decimal 크기"
 
-#: index.docbook:185
+#. Tag: literal
+#: toolset_guide.xml:185
+#, no-c-format
 msgid "not-null"
 msgstr "not-null"
 
-#: index.docbook:186, index.docbook:191
+#. Tag: literal
+#: toolset_guide.xml:186 toolset_guide.xml:191
+#, no-c-format
 msgid "true|false"
 msgstr "true|false"
 
-#: index.docbook:187
+#. Tag: entry
+#: toolset_guide.xml:187
+#, no-c-format
 msgid "specfies that the column should be non-nullable"
 msgstr "컬럼이 null이 아니어야 함을 지정한다"
 
-#: index.docbook:190
+#. Tag: literal
+#: toolset_guide.xml:190
+#, no-c-format
 msgid "unique"
 msgstr "unique"
 
-#: index.docbook:192
+#. Tag: entry
+#: toolset_guide.xml:192
+#, no-c-format
 msgid "specifies that the column should have a unique constraint"
 msgstr "컬럼이 하나의 유일 컨스트레인트를 가져야함을 지정한다"
 
-#: index.docbook:195
+#. Tag: literal
+#: toolset_guide.xml:195
+#, no-c-format
 msgid "index"
 msgstr "index"
 
-#: index.docbook:196
+#. Tag: literal
+#: toolset_guide.xml:196
+#, no-c-format
 msgid "index_name"
 msgstr "index_name"
 
-#: index.docbook:197
+#. Tag: entry
+#: toolset_guide.xml:197
+#, no-c-format
 msgid "specifies the name of a (multi-column) index"
 msgstr "(다중-컬럼) 인덱스의 이름을 지정한다"
 
-#: index.docbook:200
+#. Tag: literal
+#: toolset_guide.xml:200
+#, no-c-format
 msgid "unique-key"
 msgstr "unique-key"
 
-#: index.docbook:201
+#. Tag: literal
+#: toolset_guide.xml:201
+#, no-c-format
 msgid "unique_key_name"
 msgstr "unique_key_name"
 
-#: index.docbook:202
+#. Tag: entry
+#: toolset_guide.xml:202
+#, no-c-format
 msgid "specifies the name of a multi-column unique constraint"
 msgstr "다중-컬럼 유일 컨스트레인트의 이름을 지정한다"
 
-#: index.docbook:205
+#. Tag: literal
+#: toolset_guide.xml:205
+#, no-c-format
 msgid "foreign-key"
 msgstr "foreign-key"
 
-#: index.docbook:206
+#. Tag: literal
+#: toolset_guide.xml:206
+#, no-c-format
 msgid "foreign_key_name"
 msgstr "foreign_key_name"
 
-#: index.docbook:207
-msgid "specifies the name of the foreign key constraint generated for an association, for a <literal>&lt;one-to-one&gt;</literal>, <literal>&lt;many-to-one&gt;</literal>, <literal>&lt;key&gt;</literal>, or <literal>&lt;many-to-many&gt;</literal> mapping element. Note that <literal>inverse=\"true\"</literal> sides will not be considered by <literal>SchemaExport</literal>."
-msgstr "하나의 연관에 대해, <literal>&lt;one-to-one&gt;</literal>, <literal>&lt;many-to-one&gt;</literal>, <literal>&lt;key&gt;</literal>, 또는 <literal>&lt;many-to-many&gt;</literal> 매핑 요소에 대해 foreign key 컨스트레인트의 이름을 지정한다.<literal>inverse=\"true\"</literal> 측들은 <literal>SchemaExport</literal>에 의해 고려되지 않을 것임을 노트하라."
+#. Tag: entry
+#: toolset_guide.xml:207
+#, fuzzy, no-c-format
+msgid ""
+"specifies the name of the foreign key constraint generated for an "
+"association, for a <literal>&lt;one-to-one&gt;</literal>, <literal>&lt;many-"
+"to-one&gt;</literal>, <literal>&lt;key&gt;</literal>, or <literal>&lt;many-"
+"to-many&gt;</literal> mapping element. Note that <literal>inverse=\"true\"</"
+"literal> sides will not be considered by <literal>SchemaExport</literal>."
+msgstr ""
+"하나의 연관에 대해, <placeholder-1/>, <placeholder-2/>, <placeholder-3/>, 또"
+"는 <placeholder-4/> 매핑 요소에 대해 foreign key 컨스트레인트의 이름을 지정한"
+"다.<placeholder-5/> 측들은 <placeholder-6/>에 의해 고려되지 않을 것임을 노트"
+"하라."
 
-#: index.docbook:217
+#. Tag: literal
+#: toolset_guide.xml:217
+#, no-c-format
 msgid "sql-type"
 msgstr "sql-type"
 
-#: index.docbook:218
+#. Tag: literal
+#: toolset_guide.xml:218
+#, no-c-format
 msgid "SQL column type"
 msgstr "SQL column type"
 
-#: index.docbook:219
-msgid "overrides the default column type (attribute of <literal>&lt;column&gt;</literal> element only)"
-msgstr "디폴트 컬럼 타입을 오버라이드 시킨다 (<literal>&lt;column&gt;</literal> 요소의 속성에만)"
+#. Tag: entry
+#: toolset_guide.xml:219
+#, fuzzy, no-c-format
+msgid ""
+"overrides the default column type (attribute of <literal>&lt;column&gt;</"
+"literal> element only)"
+msgstr ""
+"디폴트 컬럼 타입을 오버라이드 시킨다 (<placeholder-1/> 요소의 속성에만)"
 
-#: index.docbook:225
+#. Tag: literal
+#: toolset_guide.xml:225
+#, no-c-format
 msgid "default"
 msgstr "default"
 
-#: index.docbook:226, index.docbook:233
+#. Tag: entry
+#: toolset_guide.xml:226 toolset_guide.xml:233
+#, no-c-format
 msgid "SQL expression"
 msgstr "SQL expression"
 
-#: index.docbook:227
+#. Tag: entry
+#: toolset_guide.xml:227
+#, no-c-format
 msgid "specify a default value for the column"
 msgstr "컬럼에 대한 디폴트 값을 지정한다"
 
-#: index.docbook:232
+#. Tag: literal
+#: toolset_guide.xml:232
+#, no-c-format
 msgid "check"
 msgstr "check"
 
-#: index.docbook:234
+#. Tag: entry
+#: toolset_guide.xml:234
+#, no-c-format
 msgid "create an SQL check constraint on either column or table"
 msgstr "컬럼 또는 테이블에 대한 SQL check 컨스트레인트를 생성시킨다"
 
-#: index.docbook:242
-msgid "The <literal>&lt;comment&gt;</literal> element allows you to specify comments for the generated schema."
-msgstr "<literal>&lt;comment&gt;</literal> 요소는 생성된 스키마에 대한 주석들을 지정하는 것을 당신에게 허용해준다."
+#. Tag: para
+#: toolset_guide.xml:242
+#, no-c-format
+msgid ""
+"The <literal>&lt;comment&gt;</literal> element allows you to specify "
+"comments for the generated schema."
+msgstr ""
+"<literal>&lt;comment&gt;</literal> 요소는 생성된 스키마에 대한 주석들을 지정"
+"하는 것을 당신에게 허용해준다."
 
-#: index.docbook:247
+#. Tag: programlisting
+#: toolset_guide.xml:247
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Customer\" table=\"CurCust\">\n"
-      "    <comment>Current customers only</comment>\n"
-      "    ...\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Customer\" table=\"CurCust\">\n"
+"    <comment>Current customers only</comment>\n"
+"    ...\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Customer\" table=\"CurCust\">\n"
-      "    <comment>Current customers only</comment>\n"
-      "    ...\n"
-      "</class>]]>"
 
-#: index.docbook:249
+#. Tag: programlisting
+#: toolset_guide.xml:249
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"balance\">\n"
-      "    <column name=\"bal\">\n"
-      "        <comment>Balance in USD</comment>\n"
-      "    </column>\n"
-      "</property>]]>"
+"<![CDATA[<property name=\"balance\">\n"
+"    <column name=\"bal\">\n"
+"        <comment>Balance in USD</comment>\n"
+"    </column>\n"
+"</property>]]>"
 msgstr ""
-      "<![CDATA[<property name=\"balance\">\n"
-      "    <column name=\"bal\">\n"
-      "        <comment>Balance in USD</comment>\n"
-      "    </column>\n"
-      "</property>]]>"
 
-#: index.docbook:251
-msgid "This results in a <literal>comment on table</literal> or <literal>comment on column</literal> statement in the generated DDL (where supported)."
-msgstr "이것은 (지원되는 경우) 생성된 DDL에서 <literal>comment on table</literal> 또는 <literal>comment on column</literal> 문장으로 귀결된다."
+#. Tag: para
+#: toolset_guide.xml:251
+#, no-c-format
+msgid ""
+"This results in a <literal>comment on table</literal> or <literal>comment on "
+"column</literal> statement in the generated DDL (where supported)."
+msgstr ""
+"이것은 (지원되는 경우) 생성된 DDL에서 <literal>comment on table</literal> 또"
+"는 <literal>comment on column</literal> 문장으로 귀결된다."
 
-#: index.docbook:260
+#. Tag: title
+#: toolset_guide.xml:260
+#, no-c-format
 msgid "Running the tool"
 msgstr "도구 실행하기"
 
-#: index.docbook:262
-msgid "The <literal>SchemaExport</literal> tool writes a DDL script to standard out and/or executes the DDL statements."
-msgstr "<literal>SchemaExport</literal> 도구는 DDL 스크립트를 표준 출력으로 기록 하고/하거나 DDL 문장들을 실행시킨다."
+#. Tag: para
+#: toolset_guide.xml:262
+#, no-c-format
+msgid ""
+"The <literal>SchemaExport</literal> tool writes a DDL script to standard out "
+"and/or executes the DDL statements."
+msgstr ""
+"<literal>SchemaExport</literal> 도구는 DDL 스크립트를 표준 출력으로 기록 하"
+"고/하거나 DDL 문장들을 실행시킨다."
 
-#: index.docbook:267
-msgid "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal> <emphasis>options mapping_files</emphasis>"
-msgstr "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal> <emphasis>options mapping_files</emphasis>"
+#. Tag: para
+#: toolset_guide.xml:267
+#, no-c-format
+msgid ""
+"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal> <emphasis>options "
+"mapping_files</emphasis>"
+msgstr ""
 
-#: index.docbook:273
+#. Tag: title
+#: toolset_guide.xml:273
+#, no-c-format
 msgid "<literal>SchemaExport</literal> Command Line Options"
 msgstr "<literal>SchemaExport</literal> 명령 라인 옵션들"
 
-#: index.docbook:279, index.docbook:429, index.docbook:498
+#. Tag: entry
+#: toolset_guide.xml:279 toolset_guide.xml:429 toolset_guide.xml:498
+#, no-c-format
 msgid "Option"
-msgstr "<entry>옵션</entry>"
+msgstr "옵션"
 
-#: index.docbook:280, index.docbook:367, index.docbook:430, index.docbook:499
+#. Tag: entry
+#: toolset_guide.xml:280 toolset_guide.xml:367 toolset_guide.xml:430
+#: toolset_guide.xml:499
+#, no-c-format
 msgid "Description"
-msgstr "<entry>설명</entry>"
+msgstr "설명"
 
-#: index.docbook:285, index.docbook:435
+#. Tag: literal
+#: toolset_guide.xml:285 toolset_guide.xml:435
+#, no-c-format
 msgid "--quiet"
 msgstr "--quiet"
 
-#: index.docbook:286, index.docbook:436
+#. Tag: entry
+#: toolset_guide.xml:286 toolset_guide.xml:436
+#, no-c-format
 msgid "don't output the script to stdout"
 msgstr "스크립트를 표준출력으로 출력하지 않는다"
 
-#: index.docbook:289
+#. Tag: literal
+#: toolset_guide.xml:289
+#, no-c-format
 msgid "--drop"
 msgstr "--drop"
 
-#: index.docbook:290
+#. Tag: entry
+#: toolset_guide.xml:290
+#, no-c-format
 msgid "only drop the tables"
 msgstr "오직 테이블들을 드롭시킨다"
 
-#: index.docbook:293
+#. Tag: literal
+#: toolset_guide.xml:293
+#, no-c-format
 msgid "--create"
 msgstr "--create"
 
-#: index.docbook:294
+#. Tag: entry
+#: toolset_guide.xml:294
+#, no-c-format
 msgid "only create the tables"
 msgstr "오직 테이블들을 생성시킨다"
 
-#: index.docbook:297, index.docbook:439
+#. Tag: literal
+#: toolset_guide.xml:297 toolset_guide.xml:439
+#, no-c-format
 msgid "--text"
 msgstr "--text"
 
-#: index.docbook:298
+#. Tag: entry
+#: toolset_guide.xml:298
+#, no-c-format
 msgid "don't export to the database"
 msgstr "데이터베이스로 내보내기 하지 않는다"
 
-#: index.docbook:301
+#. Tag: literal
+#: toolset_guide.xml:301
+#, no-c-format
 msgid "--output=my_schema.ddl"
 msgstr "--output=my_schema.ddl"
 
-#: index.docbook:302
+#. Tag: entry
+#: toolset_guide.xml:302
+#, no-c-format
 msgid "output the ddl script to a file"
 msgstr "ddl 스크립트를 파일로 출력한다"
 
-#: index.docbook:305, index.docbook:443, index.docbook:504
+#. Tag: literal
+#: toolset_guide.xml:305 toolset_guide.xml:443 toolset_guide.xml:504
+#, no-c-format
 msgid "--naming=eg.MyNamingStrategy"
 msgstr "--naming=eg.MyNamingStrategy"
 
-#: index.docbook:306, index.docbook:444, index.docbook:505
+#. Tag: entry
+#: toolset_guide.xml:306 toolset_guide.xml:444 toolset_guide.xml:505
+#, fuzzy, no-c-format
 msgid "select a <literal>NamingStrategy</literal>"
-msgstr "하나의 <literal>NamingStrategy</literal>를 선택한다"
+msgstr "<literal>hibernate.properties</literal> 내에서"
 
-#: index.docbook:309, index.docbook:451, index.docbook:512
+#. Tag: literal
+#: toolset_guide.xml:309 toolset_guide.xml:451 toolset_guide.xml:512
+#, no-c-format
 msgid "--config=hibernate.cfg.xml"
 msgstr "--config=hibernate.cfg.xml"
 
-#: index.docbook:310
+#. Tag: entry
+#: toolset_guide.xml:310
+#, no-c-format
 msgid "read Hibernate configuration from an XML file"
 msgstr "XML 파일로부터 Hibernate 구성을 읽어들인다"
 
-#: index.docbook:313, index.docbook:447, index.docbook:508
+#. Tag: literal
+#: toolset_guide.xml:313 toolset_guide.xml:447 toolset_guide.xml:508
+#, no-c-format
 msgid "--properties=hibernate.properties"
 msgstr "--properties=hibernate.properties"
 
-#: index.docbook:314, index.docbook:448, index.docbook:509
+#. Tag: entry
+#: toolset_guide.xml:314 toolset_guide.xml:448 toolset_guide.xml:509
+#, fuzzy, no-c-format
 msgid "read database properties from a file"
-msgstr "파일로부터 데이터베이스 프로퍼티들을 읽어들인다"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"파일로부터 데이터베이스 프로퍼티들을 읽어들인다\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"파일로부터 데이터베이스 프로퍼티들을 읽어 들인다\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"파일로부터 데이터베이스 프로퍼티들을 읽어들인다"
 
-#: index.docbook:317
+#. Tag: literal
+#: toolset_guide.xml:317
+#, no-c-format
 msgid "--format"
 msgstr "--format"
 
-#: index.docbook:318
+#. Tag: entry
+#: toolset_guide.xml:318
+#, no-c-format
 msgid "format the generated SQL nicely in the script"
 msgstr "생성된 SQL을 스크립트 내에 좋게 형식지운다"
 
-#: index.docbook:321
+#. Tag: literal
+#: toolset_guide.xml:321
+#, no-c-format
 msgid "--delimiter=;"
 msgstr "--delimiter=;"
 
-#: index.docbook:322
+#. Tag: entry
+#: toolset_guide.xml:322
+#, no-c-format
 msgid "set an end of line delimiter for the script"
 msgstr "스크립트를 위한 라인 경계의 끝을 설정한다"
 
-#: index.docbook:328
+#. Tag: para
+#: toolset_guide.xml:328
+#, no-c-format
 msgid "You may even embed <literal>SchemaExport</literal> in your application:"
-msgstr "당신은 당신의 어플리케이션 내에 <literal>SchemaExport</literal>를 삽입시킬 수도 있다:"
+msgstr ""
+"당신은 당신의 어플리케이션 내에 <literal>SchemaExport</literal>를 삽입시킬 수"
+"도 있다:"
 
-#: index.docbook:332
+#. Tag: programlisting
+#: toolset_guide.xml:332
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaExport(cfg).create(false, true);]]>"
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaExport(cfg).create(false, true);]]>"
 msgstr ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaExport(cfg).create(false, true);]]>"
 
-#: index.docbook:337
+#. Tag: title
+#: toolset_guide.xml:337
+#, no-c-format
 msgid "Properties"
 msgstr "프로퍼티들"
 
-#: index.docbook:339
+#. Tag: para
+#: toolset_guide.xml:339
+#, no-c-format
 msgid "Database properties may be specified"
 msgstr "데이터베이스 프로퍼티들은 다음과 같이 지정될 수 있다"
 
-#: index.docbook:345
-msgid "as system properties with <literal>-D</literal><emphasis>&lt;property&gt;</emphasis>"
-msgstr "<literal>-D</literal><emphasis>&lt;property&gt;</emphasis>를 가진 시스템 프로퍼티로서"
+#. Tag: para
+#: toolset_guide.xml:345
+#, no-c-format
+msgid ""
+"as system properties with <literal>-D</literal><emphasis>&lt;property&gt;</"
+"emphasis>"
+msgstr ""
+"<literal>-D</literal><emphasis>&lt;property&gt;</emphasis>를 가진 시스템 프로"
+"퍼티로서"
 
-#: index.docbook:348
+#. Tag: para
+#: toolset_guide.xml:348
+#, no-c-format
 msgid "in <literal>hibernate.properties</literal>"
 msgstr "<literal>hibernate.properties</literal> 내에서"
 
-#: index.docbook:351
+#. Tag: para
+#: toolset_guide.xml:351
+#, no-c-format
 msgid "in a named properties file with <literal>--properties</literal>"
 msgstr "<literal>--properties</literal>를 가진 명명된 프로퍼티들 내에서"
 
-#: index.docbook:355
+#. Tag: para
+#: toolset_guide.xml:355
+#, no-c-format
 msgid "The needed properties are:"
 msgstr "필요한 프로퍼티들은 다음과 같다:"
 
-#: index.docbook:360
+#. Tag: title
+#: toolset_guide.xml:360
+#, no-c-format
 msgid "SchemaExport Connection Properties"
 msgstr "SchemaExport 커넥션 프로퍼티들"
 
-#: index.docbook:366
+#. Tag: entry
+#: toolset_guide.xml:366
+#, no-c-format
 msgid "Property Name"
 msgstr "프로퍼티 이름"
 
-#: index.docbook:372
+#. Tag: literal
+#: toolset_guide.xml:372
+#, no-c-format
 msgid "hibernate.connection.driver_class"
 msgstr "hibernate.connection.driver_class"
 
-#: index.docbook:373
+#. Tag: entry
+#: toolset_guide.xml:373
+#, no-c-format
 msgid "jdbc driver class"
 msgstr "jdbc 드라이버 클래스"
 
-#: index.docbook:376
+#. Tag: literal
+#: toolset_guide.xml:376
+#, no-c-format
 msgid "hibernate.connection.url"
 msgstr "hibernate.connection.url"
 
-#: index.docbook:377
+#. Tag: entry
+#: toolset_guide.xml:377
+#, no-c-format
 msgid "jdbc url"
 msgstr "jdbc url"
 
-#: index.docbook:380
+#. Tag: literal
+#: toolset_guide.xml:380
+#, no-c-format
 msgid "hibernate.connection.username"
 msgstr "hibernate.connection.username"
 
-#: index.docbook:381
+#. Tag: entry
+#: toolset_guide.xml:381
+#, no-c-format
 msgid "database user"
 msgstr "데이터베이스 사용자"
 
-#: index.docbook:384
+#. Tag: literal
+#: toolset_guide.xml:384
+#, no-c-format
 msgid "hibernate.connection.password"
 msgstr "hibernate.connection.password"
 
-#: index.docbook:385
+#. Tag: entry
+#: toolset_guide.xml:385
+#, no-c-format
 msgid "user password"
 msgstr "사용자 패스워드"
 
-#: index.docbook:388
+#. Tag: literal
+#: toolset_guide.xml:388
+#, no-c-format
 msgid "hibernate.dialect"
 msgstr "hibernate.dialect"
 
-#: index.docbook:389
+#. Tag: entry
+#: toolset_guide.xml:389
+#, no-c-format
 msgid "dialect"
 msgstr "dialect"
 
-#: index.docbook:398
+#. Tag: title
+#: toolset_guide.xml:398
+#, no-c-format
 msgid "Using Ant"
 msgstr "Ant 사용하기"
 
-#: index.docbook:400
-msgid "You can call <literal>SchemaExport</literal> from your Ant build script:"
-msgstr "당신은 당신의 Ant 빌드 스크립트에서 <literal>SchemaExport</literal>를 호출할 수 있다:"
+#. Tag: para
+#: toolset_guide.xml:400
+#, no-c-format
+msgid ""
+"You can call <literal>SchemaExport</literal> from your Ant build script:"
+msgstr ""
+"당신은 당신의 Ant 빌드 스크립트에서 <literal>SchemaExport</literal>를 호출할 "
+"수 있다:"
 
-#: index.docbook:404
+#. Tag: programlisting
+#: toolset_guide.xml:404
+#, no-c-format
 msgid ""
-      "<![CDATA[<target name=\"schemaexport\">\n"
-      "    <taskdef name=\"schemaexport\"\n"
-      "        classname=\"org.hibernate.tool.hbm2ddl.SchemaExportTask\"\n"
-      "        classpathref=\"class.path\"/>\n"
-      "    \n"
-      "    <schemaexport\n"
-      "        properties=\"hibernate.properties\"\n"
-      "        quiet=\"no\"\n"
-      "        text=\"no\"\n"
-      "        drop=\"no\"\n"
-      "        delimiter=\";\"\n"
-      "        output=\"schema-export.sql\">\n"
-      "        <fileset dir=\"src\">\n"
-      "            <include name=\"**/*.hbm.xml\"/>\n"
-      "        </fileset>\n"
-      "    </schemaexport>\n"
-      "</target>]]>"
+"<![CDATA[<target name=\"schemaexport\">\n"
+"    <taskdef name=\"schemaexport\"\n"
+"        classname=\"org.hibernate.tool.hbm2ddl.SchemaExportTask\"\n"
+"        classpathref=\"class.path\"/>\n"
+"    \n"
+"    <schemaexport\n"
+"        properties=\"hibernate.properties\"\n"
+"        quiet=\"no\"\n"
+"        text=\"no\"\n"
+"        drop=\"no\"\n"
+"        delimiter=\";\"\n"
+"        output=\"schema-export.sql\">\n"
+"        <fileset dir=\"src\">\n"
+"            <include name=\"**/*.hbm.xml\"/>\n"
+"        </fileset>\n"
+"    </schemaexport>\n"
+"</target>]]>"
 msgstr ""
-      "<![CDATA[<target name=\"schemaexport\">\n"
-      "    <taskdef name=\"schemaexport\"\n"
-      "        classname=\"org.hibernate.tool.hbm2ddl.SchemaExportTask\"\n"
-      "        classpathref=\"class.path\"/>\n"
-      "    \n"
-      "    <schemaexport\n"
-      "        properties=\"hibernate.properties\"\n"
-      "        quiet=\"no\"\n"
-      "        text=\"no\"\n"
-      "        drop=\"no\"\n"
-      "        delimiter=\";\"\n"
-      "        output=\"schema-export.sql\">\n"
-      "        <fileset dir=\"src\">\n"
-      "            <include name=\"**/*.hbm.xml\"/>\n"
-      "        </fileset>\n"
-      "    </schemaexport>\n"
-      "</target>]]>"
 
-#: index.docbook:409
+#. Tag: title
+#: toolset_guide.xml:409
+#, no-c-format
 msgid "Incremental schema updates"
 msgstr "점증하는 스키마 업데이트들"
 
-#: index.docbook:411
-msgid "The <literal>SchemaUpdate</literal> tool will update an existing schema with \"incremental\" changes. Note that <literal>SchemaUpdate</literal> depends heavily upon the JDBC metadata API, so it will not work with all JDBC drivers."
-msgstr "<literal>SchemaUpdate</literal> 도구는 \"점증하는\" 변경들을 가진 기존 스키마를 변경시킬 것이다. <literal>SchemaUpdate</literal>는 JDBC 메타데이터 API에 무겁게 의존하여서, 그것은 모든 JDBC 드라이버들에 동작하지 않을 것임을 주목하라."
+#. Tag: para
+#: toolset_guide.xml:411
+#, no-c-format
+msgid ""
+"The <literal>SchemaUpdate</literal> tool will update an existing schema with "
+"\"incremental\" changes. Note that <literal>SchemaUpdate</literal> depends "
+"heavily upon the JDBC metadata API, so it will not work with all JDBC "
+"drivers."
+msgstr ""
+"<literal>SchemaUpdate</literal> 도구는 \"점증하는\" 변경들을 가진 기존 스키마"
+"를 변경시킬 것이다. <literal>SchemaUpdate</literal>는 JDBC 메타데이터 API에 "
+"무겁게 의존하여서, 그것은 모든 JDBC 드라이버들에 동작하지 않을 것임을 주목하"
+"라."
 
-#: index.docbook:417
-msgid "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal> <emphasis>options mapping_files</emphasis>"
-msgstr "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal> <emphasis>options mapping_files</emphasis>"
+#. Tag: para
+#: toolset_guide.xml:417
+#, no-c-format
+msgid ""
+"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal> <emphasis>options "
+"mapping_files</emphasis>"
+msgstr ""
 
-#: index.docbook:423
+#. Tag: title
+#: toolset_guide.xml:423
+#, no-c-format
 msgid "<literal>SchemaUpdate</literal> Command Line Options"
 msgstr "<literal>SchemaUpdate</literal> 명령 라인 옵션들"
 
-#: index.docbook:440
+#. Tag: entry
+#: toolset_guide.xml:440
+#, no-c-format
 msgid "don't export the script to the database"
 msgstr "스크립트를 데이터베이스로 내보내기 하지 않는다"
 
-#: index.docbook:452, index.docbook:513
+#. Tag: entry
+#: toolset_guide.xml:452 toolset_guide.xml:513
+#, fuzzy, no-c-format
 msgid "specify a <literal>.cfg.xml</literal> file"
-msgstr "<literal>.cfg.xml</literal> 파일을 지정한다"
+msgstr "<placeholder-1/> 파일을 지정한다"
 
-#: index.docbook:458
+#. Tag: para
+#: toolset_guide.xml:458
+#, no-c-format
 msgid "You may embed <literal>SchemaUpdate</literal> in your application:"
-msgstr "당신은 당신의 어플리케이션 내에 <literal>SchemaUpdate</literal>를 삽입시킬 수 있다:"
+msgstr ""
+"당신은 당신의 어플리케이션 내에 <literal>SchemaUpdate</literal>를 삽입시킬 "
+"수 있다:"
 
-#: index.docbook:462
+#. Tag: programlisting
+#: toolset_guide.xml:462
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaUpdate(cfg).execute(false);]]>"
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaUpdate(cfg).execute(false);]]>"
 msgstr ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaUpdate(cfg).execute(false);]]>"
 
-#: index.docbook:467
+#. Tag: title
+#: toolset_guide.xml:467
+#, no-c-format
 msgid "Using Ant for incremental schema updates"
 msgstr "점증하는 스키마 업데이트들에 Ant 사용하기"
 
-#: index.docbook:469
+#. Tag: para
+#: toolset_guide.xml:469
+#, no-c-format
 msgid "You can call <literal>SchemaUpdate</literal> from the Ant script:"
-msgstr "당신은 Ant 스크립트에서<literal>SchemaUpdate</literal>를 호출할 수 있다:"
+msgstr ""
+"당신은 Ant 스크립트에서<literal>SchemaUpdate</literal>를 호출할 수 있다:"
 
-#: index.docbook:473
+#. Tag: programlisting
+#: toolset_guide.xml:473
+#, no-c-format
 msgid ""
-      "<![CDATA[<target name=\"schemaupdate\">\n"
-      "    <taskdef name=\"schemaupdate\"\n"
-      "        classname=\"org.hibernate.tool.hbm2ddl.SchemaUpdateTask\"\n"
-      "        classpathref=\"class.path\"/>\n"
-      "    \n"
-      "    <schemaupdate\n"
-      "        properties=\"hibernate.properties\"\n"
-      "        quiet=\"no\">\n"
-      "        <fileset dir=\"src\">\n"
-      "            <include name=\"**/*.hbm.xml\"/>\n"
-      "        </fileset>\n"
-      "    </schemaupdate>\n"
-      "</target>]]>"
+"<![CDATA[<target name=\"schemaupdate\">\n"
+"    <taskdef name=\"schemaupdate\"\n"
+"        classname=\"org.hibernate.tool.hbm2ddl.SchemaUpdateTask\"\n"
+"        classpathref=\"class.path\"/>\n"
+"    \n"
+"    <schemaupdate\n"
+"        properties=\"hibernate.properties\"\n"
+"        quiet=\"no\">\n"
+"        <fileset dir=\"src\">\n"
+"            <include name=\"**/*.hbm.xml\"/>\n"
+"        </fileset>\n"
+"    </schemaupdate>\n"
+"</target>]]>"
 msgstr ""
-      "<![CDATA[<target name=\"schemaupdate\">\n"
-      "    <taskdef name=\"schemaupdate\"\n"
-      "        classname=\"org.hibernate.tool.hbm2ddl.SchemaUpdateTask\"\n"
-      "        classpathref=\"class.path\"/>\n"
-      "    \n"
-      "    <schemaupdate\n"
-      "        properties=\"hibernate.properties\"\n"
-      "        quiet=\"no\">\n"
-      "        <fileset dir=\"src\">\n"
-      "            <include name=\"**/*.hbm.xml\"/>\n"
-      "        </fileset>\n"
-      "    </schemaupdate>\n"
-      "</target>]]>"
 
-#: index.docbook:478
+#. Tag: title
+#: toolset_guide.xml:478
+#, no-c-format
 msgid "Schema validation"
 msgstr "스키마 유효성 검사"
 
-#: index.docbook:480
-msgid "The <literal>SchemaValidator</literal> tool will validate that the existing database schema \"matches\" your mapping documents. Note that <literal>SchemaValidator</literal> depends heavily upon the JDBC metadata API, so it will not work with all JDBC drivers. This tool is extremely useful for testing."
-msgstr "<literal>SchemaValidator</literal> 도구는 기존의 데이터베이스 스키마가 당신의 매핑 문서들과 \"일치하는지\"를 유효성 검사할 것이다. <literal>SchemaValidator</literal>가 JDBC 메타데이터 API에 무겁게 의존하므로 그것은 모든 JDBC 드라이버들에 대해 동작하지 않을 것이다. 이 도구는 테스팅에 극히 유용하다."
+#. Tag: para
+#: toolset_guide.xml:480
+#, no-c-format
+msgid ""
+"The <literal>SchemaValidator</literal> tool will validate that the existing "
+"database schema \"matches\" your mapping documents. Note that "
+"<literal>SchemaValidator</literal> depends heavily upon the JDBC metadata "
+"API, so it will not work with all JDBC drivers. This tool is extremely "
+"useful for testing."
+msgstr ""
+"<literal>SchemaValidator</literal> 도구는 기존의 데이터베이스 스키마가 당신"
+"의 매핑 문서들과 \"일치하는지\"를 유효성 검사할 것이다. "
+"<literal>SchemaValidator</literal>가 JDBC 메타데이터 API에 무겁게 의존하므로 "
+"그것은 모든 JDBC 드라이버들에 대해 동작하지 않을 것이다. 이 도구는 테스팅에 "
+"극히 유용하다."
 
-#: index.docbook:486
-msgid "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> <emphasis>options mapping_files</emphasis>"
-msgstr "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> <emphasis>options mapping_files</emphasis>"
+#. Tag: para
+#: toolset_guide.xml:486
+#, no-c-format
+msgid ""
+"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> "
+"<emphasis>options mapping_files</emphasis>"
+msgstr ""
 
-#: index.docbook:492
+#. Tag: title
+#: toolset_guide.xml:492
+#, no-c-format
 msgid "<literal>SchemaValidator</literal> Command Line Options"
 msgstr "<literal>SchemaValidator</literal> 명령 라인 옵션들"
 
-#: index.docbook:519
+#. Tag: para
+#: toolset_guide.xml:519
+#, no-c-format
 msgid "You may embed <literal>SchemaValidator</literal> in your application:"
-msgstr "당신은 당신의 어플리케이션 내에 <literal>SchemaValidator</literal>을 삽입시킬 수 도 있다:"
+msgstr ""
+"당신은 당신의 어플리케이션 내에 <literal>SchemaValidator</literal>을 삽입시"
+"킬 수 도 있다:"
 
-#: index.docbook:523
+#. Tag: programlisting
+#: toolset_guide.xml:523
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaValidator(cfg).validate();]]>"
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaValidator(cfg).validate();]]>"
 msgstr ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaValidator(cfg).validate();]]>"
 
-#: index.docbook:528
+#. Tag: title
+#: toolset_guide.xml:528
+#, no-c-format
 msgid "Using Ant for schema validation"
 msgstr "스키마 유효성 검사를 위해 Ant 사용하기"
 
-#: index.docbook:530
+#. Tag: para
+#: toolset_guide.xml:530
+#, no-c-format
 msgid "You can call <literal>SchemaValidator</literal> from the Ant script:"
-msgstr "당신은 Ant 스크립트에서 <literal>SchemaValidator</literal>를 호출할 수 있다:"
+msgstr ""
+"당신은 Ant 스크립트에서 <literal>SchemaValidator</literal>를 호출할 수 있다:"
 
-#: index.docbook:534
+#. Tag: programlisting
+#: toolset_guide.xml:534
+#, no-c-format
 msgid ""
-      "<![CDATA[<target name=\"schemavalidate\">\n"
-      "    <taskdef name=\"schemavalidator\"\n"
-      "        classname=\"org.hibernate.tool.hbm2ddl.SchemaValidatorTask\"\n"
-      "        classpathref=\"class.path\"/>\n"
-      "    \n"
-      "    <schemavalidator\n"
-      "        properties=\"hibernate.properties\">\n"
-      "        <fileset dir=\"src\">\n"
-      "            <include name=\"**/*.hbm.xml\"/>\n"
-      "        </fileset>\n"
-      "    </schemavalidator>\n"
-      "</target>]]>"
+"<![CDATA[<target name=\"schemavalidate\">\n"
+"    <taskdef name=\"schemavalidator\"\n"
+"        classname=\"org.hibernate.tool.hbm2ddl.SchemaValidatorTask\"\n"
+"        classpathref=\"class.path\"/>\n"
+"    \n"
+"    <schemavalidator\n"
+"        properties=\"hibernate.properties\">\n"
+"        <fileset dir=\"src\">\n"
+"            <include name=\"**/*.hbm.xml\"/>\n"
+"        </fileset>\n"
+"    </schemavalidator>\n"
+"</target>]]>"
 msgstr ""
-      "<![CDATA[<target name=\"schemavalidate\">\n"
-      "    <taskdef name=\"schemavalidator\"\n"
-      "        classname=\"org.hibernate.tool.hbm2ddl.SchemaValidatorTask\"\n"
-      "        classpathref=\"class.path\"/>\n"
-      "    \n"
-      "    <schemavalidator\n"
-      "        properties=\"hibernate.properties\">\n"
-      "        <fileset dir=\"src\">\n"
-      "            <include name=\"**/*.hbm.xml\"/>\n"
-      "        </fileset>\n"
-      "    </schemavalidator>\n"
-      "</target>]]>"
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "&lt;one-to-one&gt;"
+#~ msgstr "&lt;one-to-one&gt;"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "&lt;many-to-one&gt;"
+#~ msgstr "&lt;many-to-one&gt;"
 
+#~ msgid "&lt;key&gt;"
+#~ msgstr "&lt;key&gt;"
+
+#~ msgid "&lt;many-to-many&gt;"
+#~ msgstr "&lt;many-to-many&gt;"
+
+#~ msgid "inverse=\"true\""
+#~ msgstr "inverse=\"true\""
+
+#~ msgid "SchemaExport"
+#~ msgstr "SchemaExport"
+
+#~ msgid "&lt;column&gt;"
+#~ msgstr "&lt;column&gt;"
+
+#~ msgid "java -cp"
+#~ msgstr "java -cp"
+
+#~ msgid "hibernate_classpaths"
+#~ msgstr "hibernate_classpaths"
+
+#~ msgid "org.hibernate.tool.hbm2ddl.SchemaExport"
+#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaExport"
+
+#~ msgid "options mapping_files"
+#~ msgstr "options mapping_files"
+
+#~ msgid "NamingStrategy"
+#~ msgstr "NamingStrategy"
+
+#~ msgid "select a <placeholder-1/>"
+#~ msgstr "하나의 <placeholder-1/>를 선택한다"
+
+#~ msgid "org.hibernate.tool.hbm2ddl.SchemaUpdate"
+#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaUpdate"
+
+#~ msgid ".cfg.xml"
+#~ msgstr ".cfg.xml"
+
+#~ msgid "org.hibernate.tool.hbm2ddl.SchemaValidator"
+#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaValidator"

Modified: core/trunk/documentation/manual/translations/ko-KR/content/transactions.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/transactions.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/transactions.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,790 +1,2068 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: transactions.xml:5
+#, no-c-format
 msgid "Transactions And Concurrency"
 msgstr "트랜잭션들과 동시성"
 
-#: index.docbook:7
-msgid "The most important point about Hibernate and concurrency control is that it is very easy to understand. Hibernate directly uses JDBC connections and JTA resources without adding any additional locking behavior. We highly recommend you spend some time with the JDBC, ANSI, and transaction isolation specification of your database management system."
-msgstr "Hibernate와 동시성 제어에 대한 가장 중요한 점은 이해하기가 매우 쉽다는 점이다. Hibernate는 어떤 추가적인 잠금 행위 없이 JDBC 커넥션들과 JTA 리소스들을 직접 사용한다. 우리는 당신의 데이터베이스 관리 시스템의 JDBC, ANSI, 그리고 트랜잭션 격리 명세에 약간의 시간을 할애할 것을 매우 권장한다."
+#. Tag: para
+#: transactions.xml:7
+#, no-c-format
+msgid ""
+"The most important point about Hibernate and concurrency control is that it "
+"is very easy to understand. Hibernate directly uses JDBC connections and JTA "
+"resources without adding any additional locking behavior. We highly "
+"recommend you spend some time with the JDBC, ANSI, and transaction isolation "
+"specification of your database management system."
+msgstr ""
+"Hibernate와 동시성 제어에 대한 가장 중요한 점은 이해하기가 매우 쉽다는 점이"
+"다. Hibernate는 어떤 추가적인 잠금 행위 없이 JDBC 커넥션들과 JTA 리소스들을 "
+"직접 사용한다. 우리는 당신의 데이터베이스 관리 시스템의 JDBC, ANSI, 그리고 트"
+"랜잭션 격리 명세에 약간의 시간을 할애할 것을 매우 권장한다."
 
-#: index.docbook:14
-msgid "Hibernate does not lock objects in memory. Your application can expect the behavior as defined by the isolation level of your database transactions. Note that thanks to the <literal>Session</literal>, which is also a transaction-scoped cache, Hibernate provides repeatable reads for lookup by identifier and entity queries (not reporting queries that return scalar values)."
-msgstr "Hibernate는 메모리 내에서 객체들을 잠그지 않는다. 당신의 어플리케이션은 격리 레벨에 의해 정의된 대로 행위를 기대할 수 있다. 또한 transaction-영역의 캐시인 <literal>Session</literal> 덕분에, Hibernate는 (스칼라 값들을 반환하는 질의들을 보고하지 않는) 식별자와 엔티티 질의들에 의한 룩업을 위해 반복 가능한 읽기를 제공한다."
+#. Tag: para
+#: transactions.xml:14
+#, no-c-format
+msgid ""
+"Hibernate does not lock objects in memory. Your application can expect the "
+"behavior as defined by the isolation level of your database transactions. "
+"Note that thanks to the <literal>Session</literal>, which is also a "
+"transaction-scoped cache, Hibernate provides repeatable reads for lookup by "
+"identifier and entity queries (not reporting queries that return scalar "
+"values)."
+msgstr ""
+"Hibernate는 메모리 내에서 객체들을 잠그지 않는다. 당신의 어플리케이션은 격리 "
+"레벨에 의해 정의된 대로 행위를 기대할 수 있다. 또한 transaction-영역의 캐시"
+"인 <literal>Session</literal> 덕분에, Hibernate는 (스칼라 값들을 반환하는 질"
+"의들을 보고하지 않는) 식별자와 엔티티 질의들에 의한 룩업을 위해 반복 가능한 "
+"읽기를 제공한다."
 
-#: index.docbook:22
-msgid "In addition to versioning for automatic optimistic concurrency control, Hibernate also offers a (minor) API for pessimistic locking of rows, using the <literal>SELECT FOR UPDATE</literal> syntax. Optimistic concurrency control and this API are discussed later in this chapter."
-msgstr "자동적인 optimistic 동시성 제어를 위한 버전화에 덧붙여, Hibernate는 또한 <literal>SELECT FOR UPDATE</literal> 구문을 사용하여 행들에 대한 pessimistic 잠금을 위한 하나의 (마이너)API를 제공한다. optimistic 동시성 제어와 이 API는 이 장의 뒷부분에서 논의된다."
+#. Tag: para
+#: transactions.xml:22
+#, no-c-format
+msgid ""
+"In addition to versioning for automatic optimistic concurrency control, "
+"Hibernate also offers a (minor) API for pessimistic locking of rows, using "
+"the <literal>SELECT FOR UPDATE</literal> syntax. Optimistic concurrency "
+"control and this API are discussed later in this chapter."
+msgstr ""
+"자동적인 optimistic 동시성 제어를 위한 버전화에 덧붙여, Hibernate는 또한 "
+"<literal>SELECT FOR UPDATE</literal> 구문을 사용하여 행들에 대한 pessimistic "
+"잠금을 위한 하나의 (마이너)API를 제공한다. optimistic 동시성 제어와 이 API는 "
+"이 장의 뒷부분에서 논의된다."
 
-#: index.docbook:29
-msgid "We start the discussion of concurrency control in Hibernate with the granularity of <literal>Configuration</literal>, <literal>SessionFactory</literal>, and <literal>Session</literal>, as well as database transactions and long conversations."
-msgstr "우리는 <literal>Configuration</literal>, <literal>SessionFactory</literal>, <literal>Session</literal>, 알갱이를 가진 Hibernate에서의 동시성 제어 뿐만 아니라 데이터베이스 트랜잭션과 장기간에 걸친 (컴퓨터와의)대화들에 대한 논의를 시작한다."
+#. Tag: para
+#: transactions.xml:29
+#, no-c-format
+msgid ""
+"We start the discussion of concurrency control in Hibernate with the "
+"granularity of <literal>Configuration</literal>, <literal>SessionFactory</"
+"literal>, and <literal>Session</literal>, as well as database transactions "
+"and long conversations."
+msgstr ""
+"우리는 <literal>Configuration</literal>, <literal>SessionFactory</literal>, "
+"<literal>Session</literal>, 알갱이를 가진 Hibernate에서의 동시성 제어 뿐만 아"
+"니라 데이터베이스 트랜잭션과 장기간에 걸친 (컴퓨터와의)대화들에 대한 논의를 "
+"시작한다."
 
-#: index.docbook:36
+#. Tag: title
+#: transactions.xml:36
+#, no-c-format
 msgid "Session and transaction scopes"
 msgstr "세션 영역과 트랜잭션 영역"
 
-#: index.docbook:38
-msgid "A <literal>SessionFactory</literal> is an expensive-to-create, threadsafe object intended to be shared by all application threads. It is created once, usually on application startup, from a <literal>Configuration</literal> instance."
-msgstr "<literal>SessionFactory</literal>는 모든 어플리케이션 쓰레드들에 의해 공유되도록 고안된 생성에 비용이 드는, 쓰레드안전(threadsafe) 객체이다. 그것은 대개 어플리케이션 시작 시에 <literal>Configuration</literal> 인스턴스로부터 한번 생성된다."
+#. Tag: para
+#: transactions.xml:38
+#, no-c-format
+msgid ""
+"A <literal>SessionFactory</literal> is an expensive-to-create, threadsafe "
+"object intended to be shared by all application threads. It is created once, "
+"usually on application startup, from a <literal>Configuration</literal> "
+"instance."
+msgstr ""
+"<literal>SessionFactory</literal>는 모든 어플리케이션 쓰레드들에 의해 공유되"
+"도록 고안된 생성에 비용이 드는, 쓰레드안전(threadsafe) 객체이다. 그것은 대개 "
+"어플리케이션 시작 시에 <literal>Configuration</literal> 인스턴스로부터 한번 "
+"생성된다."
 
-#: index.docbook:44
-msgid "A <literal>Session</literal> is an inexpensive, non-threadsafe object that should be used once, for a single request, a conversation, single unit of work, and then discarded. A <literal>Session</literal> will not obtain a JDBC <literal>Connection</literal> (or a <literal>Datasource</literal>) unless it is needed, hence consume no resources until used."
-msgstr "<literal>Session</literal>은 하나의 요청, 하나의 대화 , 하나의 작업 단위를 위해 한번만 사용되고 나서 폐기될 예정인, 비용이 들지 않는, 쓰레드 안전하지 않은 객체이다. <literal>Session</literal>은 커넥션이 필요하지 않으면 하나의 JDBC <literal>Connection</literal>(또는 <literal>Datasource</literal>)를 얻지 않을 것이므로, 사용될 때까지 리소스들을 소비하지 않는다."
+#. Tag: para
+#: transactions.xml:44
+#, no-c-format
+msgid ""
+"A <literal>Session</literal> is an inexpensive, non-threadsafe object that "
+"should be used once, for a single request, a conversation, single unit of "
+"work, and then discarded. A <literal>Session</literal> will not obtain a "
+"JDBC <literal>Connection</literal> (or a <literal>Datasource</literal>) "
+"unless it is needed, hence consume no resources until used."
+msgstr ""
+"<literal>Session</literal>은 하나의 요청, 하나의 대화 , 하나의 작업 단위를 위"
+"해 한번만 사용되고 나서 폐기될 예정인, 비용이 들지 않는, 쓰레드 안전하지 않"
+"은 객체이다. <literal>Session</literal>은 커넥션이 필요하지 않으면 하나의 "
+"JDBC <literal>Connection</literal>(또는 <literal>Datasource</literal>)를 얻"
+"지 않을 것이므로, 사용될 때까지 리소스들을 소비하지 않는다."
 
-#: index.docbook:52
-msgid "To complete this picture you also have to think about database transactions. A database transaction has to be as short as possible, to reduce lock contention in the database. Long database transactions will prevent your application from scaling to highly concurrent load. Hence, it is almost never good design to hold a database transaction open during user think time, until the unit of work is complete."
-msgstr "이 그림을 완성하기 위해 당신은 또한 데이터베이스 트랜재션들에 대해 생각해야 한다. 데이터베이스 트랜잭션은 데이터베이스에서 잠금 다툼을 줄이기 위해 가능한 짧아야 한다. 긴 데이터베이스 트랜잭션들은 당신의 어플리케이션이 고도의 동시성 로드로의 가용성을 높이는 것을 방해할 것이다. 그러므로 사용자가 생각하는 시간 동안 단위 작업이 완료될 때까지 데이터베이스 트랜잭션을 열려진채로 소유하는 것은 대개 결코 좋은 설계는 아니다."
+#. Tag: para
+#: transactions.xml:52
+#, no-c-format
+msgid ""
+"To complete this picture you also have to think about database transactions. "
+"A database transaction has to be as short as possible, to reduce lock "
+"contention in the database. Long database transactions will prevent your "
+"application from scaling to highly concurrent load. Hence, it is almost "
+"never good design to hold a database transaction open during user think "
+"time, until the unit of work is complete."
+msgstr ""
+"이 그림을 완성하기 위해 당신은 또한 데이터베이스 트랜재션들에 대해 생각해야 "
+"한다. 데이터베이스 트랜잭션은 데이터베이스에서 잠금 다툼을 줄이기 위해 가능"
+"한 짧아야 한다. 긴 데이터베이스 트랜잭션들은 당신의 어플리케이션이 고도의 동"
+"시성 로드로의 가용성을 높이는 것을 방해할 것이다. 그러므로 사용자가 생각하는 "
+"시간 동안 단위 작업이 완료될 때까지 데이터베이스 트랜잭션을 열려진채로 소유하"
+"는 것은 대개 결코 좋은 설계는 아니다."
 
-#: index.docbook:61
-msgid "What is the scope of a unit of work? Can a single Hibernate <literal>Session</literal> span several database transactions or is this a one-to-one relationship of scopes? When should you open and close a <literal>Session</literal> and how do you demarcate the database transaction boundaries?"
-msgstr "하나의 작업 단위의 영역은 무엇인가? 하나의 Hibernate <literal>Session</literal>은 몇몇 데이터베이스 트랜잭션들에 걸칠 수 있는가 또는 이것은 영역들의 one-to-one 관계인가? 당신은 언제 <literal>Session</literal>을 열고 닫는가 그리고 당신은 데이터베이스 트랜잭션 경계들을 어떻게 한정하는가?"
+#. Tag: para
+#: transactions.xml:61
+#, no-c-format
+msgid ""
+"What is the scope of a unit of work? Can a single Hibernate "
+"<literal>Session</literal> span several database transactions or is this a "
+"one-to-one relationship of scopes? When should you open and close a "
+"<literal>Session</literal> and how do you demarcate the database transaction "
+"boundaries?"
+msgstr ""
+"하나의 작업 단위의 영역은 무엇인가? 하나의 Hibernate <literal>Session</"
+"literal>은 몇몇 데이터베이스 트랜잭션들에 걸칠 수 있는가 또는 이것은 영역들"
+"의 one-to-one 관계인가? 당신은 언제 <literal>Session</literal>을 열고 닫는가 "
+"그리고 당신은 데이터베이스 트랜잭션 경계들을 어떻게 한정하는가?"
 
-#: index.docbook:69
+#. Tag: title
+#: transactions.xml:69
+#, no-c-format
 msgid "Unit of work"
 msgstr "작업 단위"
 
-#: index.docbook:71
-msgid "First, don't use the <emphasis>session-per-operation</emphasis> antipattern, that is, don't open and close a <literal>Session</literal> for every simple database call in a single thread! Of course, the same is true for database transactions. Database calls in an application are made using a planned sequence, they are grouped into atomic units of work. (Note that this also means that auto-commit after every single SQL statement is useless in an application, this mode is intended for ad-hoc SQL console work. Hibernate disables, or expects the application server to do so, auto-commit mode immediately.) Database transactions are never optional, all communication with a database has to occur inside a transaction, no matter if you read or write data. As explained, auto-commit behavior for reading data should be avoided, as many small transactions are unlikely to perform better than one clearly defined unit of work. The latter is also much more maintainable and extensible."
-msgstr "첫번째로, <emphasis>session-per-operation</emphasis> anti-패턴을 사용하지 말라. 즉, 단일 쓰레드 내에서 모든 간단한 데이터베이스 호출에 대해 <literal>Session</literal>을 ì—´ê³  닫지 말라! 물론 같은 것이 데이터베이스 트랜잭션들에 대해서도 참이다. 어플리케이션 내의 데이터베이스 호출들은 계획된 순서를사용하여 행해지며, 그것들은 원자 ìž‘ì—… 단위 속으로 그룹지워진다. (이것은 또한 모든 하나의 SQL 문장 뒤의 auto-commit(자동-커밋)이 어플리케이션 내에서 무용지물임을 의미하고, 이 모드가 SQL 콘솔 작업을 돕도록 고안되었음을 노트하라. Hibernate는 의미하고, 이 모드는 Hibernate는 즉시 자동-커밋 모드를 사용 불가능하게 하거나, 어플리케이션 서버가 그렇게 행하고, 즉시 자동-커밋시키는 것을 사용불가능하게 하거나 ,그렇게 행하는 것을 기대한ë!
 ‹¤.) 데이터베이스 트랜잭션들은 ê²°ì½” 옵션이 아니며, 하나의 데이터베이스와의 모든 통신은 당신이 데이터를 읽든 쓰단간에 상관없이 하나의 트랜잭션 내에서 발생해야 한다. 설명하였듯이, 데이터 읽기를 위한 auto-commit 특징을 피해야 í•  것이며, 많은 작은 트랜잭션들은 하나의 명료하게 정의된 ìž‘ì—… 단위보다 더 좋게 수행될 것 같지 않다. 후자가 또한 훨씬 더 유지가능하고 확장적이다."
+#. Tag: para
+#: transactions.xml:71
+#, no-c-format
+msgid ""
+"First, don't use the <emphasis>session-per-operation</emphasis> antipattern, "
+"that is, don't open and close a <literal>Session</literal> for every simple "
+"database call in a single thread! Of course, the same is true for database "
+"transactions. Database calls in an application are made using a planned "
+"sequence, they are grouped into atomic units of work. (Note that this also "
+"means that auto-commit after every single SQL statement is useless in an "
+"application, this mode is intended for ad-hoc SQL console work. Hibernate "
+"disables, or expects the application server to do so, auto-commit mode "
+"immediately.) Database transactions are never optional, all communication "
+"with a database has to occur inside a transaction, no matter if you read or "
+"write data. As explained, auto-commit behavior for reading data should be "
+"avoided, as many small transactions are unlikely to perform better than one "
+"clearly defined unit of work. The latter is also much more maintainable and "
+"extensible."
+msgstr ""
+"첫번째로, <emphasis>session-per-operation</emphasis> anti-패턴을 사용하지 말"
+"라. 즉, 단일 쓰레드 내에서 모든 간단한 데이터베이스 호출에 대해 "
+"<literal>Session</literal>을 열고 닫지 말라! 물론 같은 것이 데이터베이스 트랜"
+"잭션들에 대해서도 참이다. 어플리케이션 내의 데이터베이스 호출들은 계획된 순서"
+"를사용하여 행해지며, 그것들은 원자 작업 단위 속으로 그룹지워진다. (이것은 또"
+"한 모든 하나의 SQL 문장 뒤의 auto-commit(자동-커밋)이 어플리케이션 내에서 무"
+"용지물임을 의미하고, 이 모드가 SQL 콘솔 작업을 돕도록 고안되었음을 노트하라. "
+"Hibernate는 의미하고, 이 모드는 Hibernate는 즉시 자동-커밋 모드를 사용 불가능"
+"하게 하거나, 어플리케이션 서버가 그렇게 행하고, 즉시 자동-커밋시키는 것을 사"
+"용불가능하게 하거나 ,그렇게 행하는 것을 기대한다.) 데이터베이스 트랜잭션들은 "
+"결코 옵션이 아니며, 하나의 데이터베이스와의 모든 통신은 당신이 데이터를 읽든 "
+"쓰단간에 상관없이 하나의 트랜잭션 내에서 발생해야 한다. 설명하였듯이, 데이터 "
+"읽기를 위한 auto-commit 특징을 피해야 할 것이며, 많은 작은 트랜잭션들은 하나"
+"의 명료하게 정의된 작업 단위보다 더 좋게 수행될 것 같지 않다. 후자가 또한 훨"
+"씬 더 유지가능하고 확장적이다."
 
-#: index.docbook:87
-msgid "The most common pattern in a multi-user client/server application is <emphasis>session-per-request</emphasis>. In this model, a request from the client is send to the server (where the Hibernate persistence layer runs), a new Hibernate <literal>Session</literal> is opened, and all database operations are executed in this unit of work. Once the work has been completed (and the response for the client has been prepared), the session is flushed and closed. You would also use a single database transaction to serve the clients request, starting and committing it when you open and close the <literal>Session</literal>. The relationship between the two is one-to-one and this model is a perfect fit for many applications."
-msgstr "다중 사용자 클라이언트/서버 어플리케이션에서 가장 공통된 패턴은 <emphasis>session-per-request</emphasis>이다. 이 모형에서, 클라이언트로부터의 요청은 (Hibernate 영속 계층이 실행되는) 서버로 전송되고, 새로운 Hibernate <literal>Session</literal>이 열려지고, 모든 데이터베이스 오퍼레이션들이 이 작업 단위 내에서 실행된다. 일단 그 작업이 완료되었다면(그리고 클라이언트에 대한 응답이 준비되었다면), 그 세션은 flush 되고 닫혀진다. 당신은 또한 당신이 <literal>Session</literal>을 열고 닫을 때 그것을 시작하고 커밋시켜서 클라이언트 요청에 서비스하는데 한 개의 데이터베이스 트랜잭션을 사용하게 될 것이다. 둘 사이의 관계는 일대일 대응이고 이 모형은 많은 어플리케이션들에서 완전하게 적합하다."
+#. Tag: para
+#: transactions.xml:87
+#, no-c-format
+msgid ""
+"The most common pattern in a multi-user client/server application is "
+"<emphasis>session-per-request</emphasis>. In this model, a request from the "
+"client is send to the server (where the Hibernate persistence layer runs), a "
+"new Hibernate <literal>Session</literal> is opened, and all database "
+"operations are executed in this unit of work. Once the work has been "
+"completed (and the response for the client has been prepared), the session "
+"is flushed and closed. You would also use a single database transaction to "
+"serve the clients request, starting and committing it when you open and "
+"close the <literal>Session</literal>. The relationship between the two is "
+"one-to-one and this model is a perfect fit for many applications."
+msgstr ""
+"다중 사용자 클라이언트/서버 어플리케이션에서 가장 공통된 패턴은 "
+"<emphasis>session-per-request</emphasis>이다. 이 모형에서, 클라이언트로부터"
+"의 요청은 (Hibernate 영속 계층이 실행되는) 서버로 전송되고, 새로운 Hibernate "
+"<literal>Session</literal>이 열려지고, 모든 데이터베이스 오퍼레이션들이 이 작"
+"업 단위 내에서 실행된다. 일단 그 작업이 완료되었다면(그리고 클라이언트에 대"
+"한 응답이 준비되었다면), 그 세션은 flush 되고 닫혀진다. 당신은 또한 당신이 "
+"<literal>Session</literal>을 열고 닫을 때 그것을 시작하고 커밋시켜서 클라이언"
+"트 요청에 서비스하는데 한 개의 데이터베이스 트랜잭션을 사용하게 될 것이다. "
+"둘 사이의 관계는 일대일 대응이고 이 모형은 많은 어플리케이션들에서 완전하게 "
+"적합하다."
 
-#: index.docbook:99
-msgid "The challenge lies in the implementation. Hibernate provides built-in management of the \"current session\" to simplify this pattern. All you have to do is start a transaction when a server request has to be processed, and end the transaction before the response is send to the client. You can do this in any way you like, common solutions are <literal>ServletFilter</literal>, AOP interceptor with a pointcut on the service methods, or a proxy/interception container. An EJB container is a standardized way to implement cross-cutting aspects such as transaction demarcation on EJB session beans, declaratively with CMT. If you decide to use programmatic transaction demarcation, prefer the Hibernate <literal>Transaction</literal> API shown later in this chapter, for ease of use and code portability."
-msgstr "난제는 구현에 놓여있다: Hibernate는 이 패턴을 단순화 시키기 위해 \"현재 세션\"에 관한 미리 빌드된 관리를 제공한다. 당신이 행해야할 모든 것은 서버 요청이 처리되어야 할 때 트랜잭션을 시작하고, 그 응답이 클라이언트로 전송되기 전에 트랜잭션을 끝내는 것이다. 당신은 당신이 좋아하는 임의의 방법으로 이것을 행할 수 있으며, 공통된 해결책들은 서비스 메소드들 상의 첨단, 또는 하나의 프락시/인터셉션 컨테이너를 가진 APO 인터셉터인, <literal>ServletFilter</literal>이다. 하나의 EJB 컨테이너는 CMT의 경우에 선언적으로 EJB session beans 상에 트랜잭션 경계구분과 같은 동시 대조 측면들을 구현하는 표준 방법이다. 만일 당신이 프로그램 상의 트랜잭션 경계구분을 사용하고자 결정한다면, 사용의 용이성과 코드 이식성을 위해 이 장의 뒷 !
 부분에서 보여진 Hibernate <literal>Transaction</literal>을 선호하라."
+#. Tag: para
+#: transactions.xml:99
+#, no-c-format
+msgid ""
+"The challenge lies in the implementation. Hibernate provides built-in "
+"management of the \"current session\" to simplify this pattern. All you have "
+"to do is start a transaction when a server request has to be processed, and "
+"end the transaction before the response is send to the client. You can do "
+"this in any way you like, common solutions are <literal>ServletFilter</"
+"literal>, AOP interceptor with a pointcut on the service methods, or a proxy/"
+"interception container. An EJB container is a standardized way to implement "
+"cross-cutting aspects such as transaction demarcation on EJB session beans, "
+"declaratively with CMT. If you decide to use programmatic transaction "
+"demarcation, prefer the Hibernate <literal>Transaction</literal> API shown "
+"later in this chapter, for ease of use and code portability."
+msgstr ""
+"난제는 구현에 놓여있다: Hibernate는 이 패턴을 단순화 시키기 위해 \"현재 세션"
+"\"에 관한 미리 빌드된 관리를 제공한다. 당신이 행해야할 모든 것은 서버 요청이 "
+"처리되어야 할 때 트랜잭션을 시작하고, 그 응답이 클라이언트로 전송되기 전에 트"
+"랜잭션을 끝내는 것이다. 당신은 당신이 좋아하는 임의의 방법으로 이것을 행할 "
+"수 있으며, 공통된 해결책들은 서비스 메소드들 상의 첨단, 또는 하나의 프락시/인"
+"터셉션 컨테이너를 가진 APO 인터셉터인, <literal>ServletFilter</literal>이다. "
+"하나의 EJB 컨테이너는 CMT의 경우에 선언적으로 EJB session beans 상에 트랜잭"
+"션 경계구분과 같은 동시 대조 측면들을 구현하는 표준 방법이다. 만일 당신이 프"
+"로그램 상의 트랜잭션 경계구분을 사용하고자 결정한다면, 사용의 용이성과 코드 "
+"이식성을 위해 이 장의 뒷 부분에서 보여진 Hibernate <literal>Transaction</"
+"literal>을 선호하라."
 
-#: index.docbook:112
-msgid "Your application code can access a \"current session\" to process the request by simply calling <literal>sessionFactory.getCurrentSession()</literal> anywhere and as often as needed. You will always get a <literal>Session</literal> scoped to the current database transaction. This has to be configured for either resource-local or JTA environments, see <xref linkend=\"architecture-current-session\"/>."
-msgstr "당신의 어플리케이션 코드는 어디서든 필요할 때 종종 <literal>sessionFactory.getCurrentSession()</literal>을 간단히 호출함으로써 요청을 처리할 \"현재 세션\"에 접근할 수 있다. 당신은 현재 데이터베이스 트랜잭션으로 영역화된 하나의 <literal>Session</literal>을 항상 얻게 될 것이다. 이것은 resource-local 환경 또는 JTA 환경에 대해 구성되어야 하며, <xref linkend=\"architecture-current-session\"/>을 보라."
+#. Tag: para
+#: transactions.xml:112
+#, no-c-format
+msgid ""
+"Your application code can access a \"current session\" to process the "
+"request by simply calling <literal>sessionFactory.getCurrentSession()</"
+"literal> anywhere and as often as needed. You will always get a "
+"<literal>Session</literal> scoped to the current database transaction. This "
+"has to be configured for either resource-local or JTA environments, see "
+"<xref linkend=\"architecture-current-session\"/>."
+msgstr ""
+"당신의 어플리케이션 코드는 어디서든 필요할 때 종종 <literal>sessionFactory."
+"getCurrentSession()</literal>을 간단히 호출함으로써 요청을 처리할 \"현재 세션"
+"\"에 접근할 수 있다. 당신은 현재 데이터베이스 트랜잭션으로 영역화된 하나의 "
+"<literal>Session</literal>을 항상 얻게 될 것이다. 이것은 resource-local 환경 "
+"또는 JTA 환경에 대해 구성되어야 하며, <xref linkend=\"architecture-current-"
+"session\"/>을 보라."
 
-#: index.docbook:120
-msgid "Sometimes it is convenient to extend the scope of a <literal>Session</literal> and database transaction until the \"view has been rendered\". This is especially useful in servlet applications that utilize a separate rendering phase after the request has been processed. Extending the database transaction until view rendering is complete is easy to do if you implement your own interceptor. However, it is not easily doable if you rely on EJBs with container-managed transactions, as a transaction will be completed when an EJB method returns, before rendering of any view can start. See the Hibernate website and forum for tips and examples around this <emphasis>Open Session in View</emphasis> pattern."
-msgstr "때때로 \"뷰가 렌더링될 때까지\" 하나의 <literal>Session</literal> 과 데이터베이스 트랜잭션의 영역을 확장시키는 것이 편리하다. 이것은 요청이 처리된 후에 하나의 별도의 렌더링 단계를 활용하는 서블릿 어플리케이션들에서 특히 유용하다. 뷰 렌더링이 완료될 때까지 데이터베이스 트랜잭션을 확장하는 것은 당신이 당신 자신의 인터셉터를 구현하는 경우에 행하기가 쉽다. 하지만 만일 당신이 컨테이너에 의해 관리되는 트랜잭션들을 가진 EJB들에 의존할 경우에, 하나의 EJB 메소드가 반환될 때 임의의 뷰 렌더링이 시작될 수 있기 전에 하나의 트랜잭션이 완료되기 때문에, 행하는 것이 쉽지 않다. 이 <emphasis>Open Session in View</emphasis> 패턴을 둘러싼 팁들과 예제들은 Hibernate 웹 사이트와 포럼을 보라."
+#. Tag: para
+#: transactions.xml:120
+#, no-c-format
+msgid ""
+"Sometimes it is convenient to extend the scope of a <literal>Session</"
+"literal> and database transaction until the \"view has been rendered\". This "
+"is especially useful in servlet applications that utilize a separate "
+"rendering phase after the request has been processed. Extending the database "
+"transaction until view rendering is complete is easy to do if you implement "
+"your own interceptor. However, it is not easily doable if you rely on EJBs "
+"with container-managed transactions, as a transaction will be completed when "
+"an EJB method returns, before rendering of any view can start. See the "
+"Hibernate website and forum for tips and examples around this <emphasis>Open "
+"Session in View</emphasis> pattern."
+msgstr ""
+"때때로 \"뷰가 렌더링될 때까지\" 하나의 <literal>Session</literal> 과 데이터베"
+"이스 트랜잭션의 영역을 확장시키는 것이 편리하다. 이것은 요청이 처리된 후에 하"
+"나의 별도의 렌더링 단계를 활용하는 서블릿 어플리케이션들에서 특히 유용하다. "
+"뷰 렌더링이 완료될 때까지 데이터베이스 트랜잭션을 확장하는 것은 당신이 당신 "
+"자신의 인터셉터를 구현하는 경우에 행하기가 쉽다. 하지만 만일 당신이 컨테이너"
+"에 의해 관리되는 트랜잭션들을 가진 EJB들에 의존할 경우에, 하나의 EJB 메소드"
+"가 반환될 때 임의의 뷰 렌더링이 시작될 수 있기 전에 하나의 트랜잭션이 완료되"
+"기 때문에, 행하는 것이 쉽지 않다. 이 <emphasis>Open Session in View</"
+"emphasis> 패턴을 둘러싼 팁들과 예제들은 Hibernate 웹 사이트와 포럼을 보라."
 
-#: index.docbook:135
+#. Tag: title
+#: transactions.xml:135
+#, no-c-format
 msgid "Long conversations"
 msgstr "장기간의 대화"
 
-#: index.docbook:137
-msgid "The session-per-request pattern is not the only useful concept you can use to design units of work. Many business processes require a whole series of interactions with the user interleaved with database accesses. In web and enterprise applications it is not acceptable for a database transaction to span a user interaction. Consider the following example:"
-msgstr "session-per-request 패턴은 당신이 작업 단위들을 설계하는데 사용할 수 있는 유일한 유용한 개념이 아니다. 많은 비지니스 프로세스들은 데이터베이스 접근들을 중재하는 사용자 사이의 전체 일련의 상호작용들을 필요로 한다. 웹과 엔터프라이즈 어플리케이션에서 사용자 상호작용에 걸치는 것은 데이터베이스 트랜잭션에 허용되지 않는다. 다음 예제를 검토하자:"
+#. Tag: para
+#: transactions.xml:137
+#, no-c-format
+msgid ""
+"The session-per-request pattern is not the only useful concept you can use "
+"to design units of work. Many business processes require a whole series of "
+"interactions with the user interleaved with database accesses. In web and "
+"enterprise applications it is not acceptable for a database transaction to "
+"span a user interaction. Consider the following example:"
+msgstr ""
+"session-per-request 패턴은 당신이 작업 단위들을 설계하는데 사용할 수 있는 유"
+"일한 유용한 개념이 아니다. 많은 비지니스 프로세스들은 데이터베이스 접근들을 "
+"중재하는 사용자 사이의 전체 일련의 상호작용들을 필요로 한다. 웹과 엔터프라이"
+"즈 어플리케이션에서 사용자 상호작용에 걸치는 것은 데이터베이스 트랜잭션에 허"
+"용되지 않는다. 다음 예제를 검토하자:"
 
-#: index.docbook:147
-msgid "The first screen of a dialog opens, the data seen by the user has been loaded in a particular <literal>Session</literal> and database transaction. The user is free to modify the objects."
-msgstr "대화상자의 첫 번째 화면이 열리고, 사용자에게 보여진 데이터는 특정 <literal>Session</literal>과 데이터베이스 트랜잭션 속에 로드되었다. 사용자가 객체들을 변경시키는 것이 자유롭다."
+#. Tag: para
+#: transactions.xml:147
+#, no-c-format
+msgid ""
+"The first screen of a dialog opens, the data seen by the user has been "
+"loaded in a particular <literal>Session</literal> and database transaction. "
+"The user is free to modify the objects."
+msgstr ""
+"대화상자의 첫 번째 화면이 열리고, 사용자에게 보여진 데이터는 특정 "
+"<literal>Session</literal>과 데이터베이스 트랜잭션 속에 로드되었다. 사용자가 "
+"객체들을 변경시키는 것이 자유롭다."
 
-#: index.docbook:154
-msgid "The user clicks \"Save\" after 5 minutes and expects his modifications to be made persistent; he also expects that he was the only person editing this information and that no conflicting modification can occur."
-msgstr "사용자는 5분 후에 \"저장\"을 클릭하고 그의 변경들이 영속화 되기를 기대한다; 그는 또한 그가 이 정보를 편집하는 유일한 개인이고 변경 충돌이 발생하지 않기를 기대한다."
+#. Tag: para
+#: transactions.xml:154
+#, no-c-format
+msgid ""
+"The user clicks \"Save\" after 5 minutes and expects his modifications to be "
+"made persistent; he also expects that he was the only person editing this "
+"information and that no conflicting modification can occur."
+msgstr ""
+"사용자는 5분 후에 \"저장\"을 클릭하고 그의 변경들이 영속화 되기를 기대한다; "
+"그는 또한 그가 이 정보를 편집하는 유일한 개인이고 변경 충돌이 발생하지 않기"
+"를 기대한다."
 
-#: index.docbook:162
-msgid "We call this unit of work, from the point of view of the user, a long running <emphasis>conversation</emphasis> (or <emphasis>application transaction</emphasis>). There are many ways how you can implement this in your application."
-msgstr "우리는 사용자의 관점에서, 이것을 작업 단위, 장기간 실행되는 <emphasis>대화</emphasis> (또는 <emphasis>어플리케이션 트랜잭션</emphasis>)이라고 명명한다. 당신이 당신의 어플리케이션에서 이것을 어떻게 구현할 수 있는 많은 방법들이 존재한다."
+#. Tag: para
+#: transactions.xml:162
+#, no-c-format
+msgid ""
+"We call this unit of work, from the point of view of the user, a long "
+"running <emphasis>conversation</emphasis> (or <emphasis>application "
+"transaction</emphasis>). There are many ways how you can implement this in "
+"your application."
+msgstr ""
+"우리는 사용자의 관점에서, 이것을 작업 단위, 장기간 실행되는 <emphasis>대화</"
+"emphasis> (또는 <emphasis>어플리케이션 트랜잭션</emphasis>)이라고 명명한다. "
+"당신이 당신의 어플리케이션에서 이것을 어떻게 구현할 수 있는 많은 방법들이 존"
+"재한다."
 
-#: index.docbook:168
-msgid "A first naive implementation might keep the <literal>Session</literal> and database transaction open during user think time, with locks held in the database to prevent concurrent modification, and to guarantee isolation and atomicity. This is of course an anti-pattern, since lock contention would not allow the application to scale with the number of concurrent users."
-msgstr "첫 번째 naive 구현은 동시성 변경을 방지하고, 격리와 atomicity(원자 단위성)을 보장하기 위해 데이터베이스에 의해 소유된 잠금으로 사용자가 생각하는동안 <literal>Session</literal>과 데이터베이스 트랜잭션을 유지할 수도 있다. 이것은 물론 anti-패턴이다. 왜냐하면 잠금 다툼은 어플리케이션이 동시 사용자들의 가용 숫자를 높이는 것을 허용하지 않을 것이기 때문이다."
+#. Tag: para
+#: transactions.xml:168
+#, no-c-format
+msgid ""
+"A first naive implementation might keep the <literal>Session</literal> and "
+"database transaction open during user think time, with locks held in the "
+"database to prevent concurrent modification, and to guarantee isolation and "
+"atomicity. This is of course an anti-pattern, since lock contention would "
+"not allow the application to scale with the number of concurrent users."
+msgstr ""
+"첫 번째 naive 구현은 동시성 변경을 방지하고, 격리와 atomicity(원자 단위성)을 "
+"보장하기 위해 데이터베이스에 의해 소유된 잠금으로 사용자가 생각하는동안 "
+"<literal>Session</literal>과 데이터베이스 트랜잭션을 유지할 수도 있다. 이것"
+"은 물론 anti-패턴이다. 왜냐하면 잠금 다툼은 어플리케이션이 동시 사용자들의 가"
+"용 숫자를 높이는 것을 허용하지 않을 것이기 때문이다."
 
-#: index.docbook:176
-msgid "Clearly, we have to use several database transactions to implement the converastion. In this case, maintaining isolation of business processes becomes the partial responsibility of the application tier. A single conversation usually spans several database transactions. It will be atomic if only one of these database transactions (the last one) stores the updated data, all others simply read data (e.g. in a wizard-style dialog spanning several request/response cycles). This is easier to implement than it might sound, especially if you use Hibernate's features:"
-msgstr "명료하게, 우리는 대화(<emphasis>어플리케이션 트랜잭션</emphasis>)를 구현하는데 몇몇 데이터베이스 트랜잭션들을 사용해야 한다. 이 경우에, 비지니스 프로세스들의 격리를 유지하는 것은 어플리케이션 티어의 부분적인 책임이 된다. 단일 대화는 대개 여러 개의 데이터베이스 트랜잭션들에 걸친다. 그것은 이들 데이터베이스 트랜잭션들 중 오직 한 개(마지막 트랜잭션)가 업데이트된 데이터를 저장하고, 모든 다른 트랜잭션들이 단순히 데이터를 읽는 (예를 들면, 몇몇 요청/응답 주기에 걸치는 마법사 스타일의 대화 상자에서) 경우에만 원자단위가 될 것이다. 특히 당신이 Hibernate의 특징들을 사용할 경우에 , 이것은 들리는 것보다 구현하기가 더 쉽다:"
+#. Tag: para
+#: transactions.xml:176
+#, no-c-format
+msgid ""
+"Clearly, we have to use several database transactions to implement the "
+"converastion. In this case, maintaining isolation of business processes "
+"becomes the partial responsibility of the application tier. A single "
+"conversation usually spans several database transactions. It will be atomic "
+"if only one of these database transactions (the last one) stores the updated "
+"data, all others simply read data (e.g. in a wizard-style dialog spanning "
+"several request/response cycles). This is easier to implement than it might "
+"sound, especially if you use Hibernate's features:"
+msgstr ""
+"명료하게, 우리는 대화(<emphasis>어플리케이션 트랜잭션</emphasis>)를 구현하는"
+"데 몇몇 데이터베이스 트랜잭션들을 사용해야 한다. 이 경우에, 비지니스 프로세스"
+"들의 격리를 유지하는 것은 어플리케이션 티어의 부분적인 책임이 된다. 단일 대화"
+"는 대개 여러 개의 데이터베이스 트랜잭션들에 걸친다. 그것은 이들 데이터베이스 "
+"트랜잭션들 중 오직 한 개(마지막 트랜잭션)가 업데이트된 데이터를 저장하고, 모"
+"든 다른 트랜잭션들이 단순히 데이터를 읽는 (예를 들면, 몇몇 요청/응답 주기에 "
+"걸치는 마법사 스타일의 대화 상자에서) 경우에만 원자단위가 될 것이다. 특히 당"
+"신이 Hibernate의 특징들을 사용할 경우에 , 이것은 들리는 것보다 구현하기가 더 "
+"쉽다:"
 
-#: index.docbook:189
-msgid "<emphasis>Automatic Versioning</emphasis> - Hibernate can do automatic optimistic concurrency control for you, it can automatically detect if a concurrent modification occured during user think time. Usually we only check at the end of the conversation."
-msgstr "<emphasis>자동적인 버전화</emphasis> - Hibernate는 당신을 위해 자동적인 optimistic 동시성 제어를 행할 수 있고, 그것은 사용자가 생각하는 시간 동안 동시적인 변경이 발생했는지를 자동적으로 검출할 수 있다. 대개 우리는 오직 대화의 끝에서 체크한다."
+#. Tag: para
+#: transactions.xml:189
+#, no-c-format
+msgid ""
+"<emphasis>Automatic Versioning</emphasis> - Hibernate can do automatic "
+"optimistic concurrency control for you, it can automatically detect if a "
+"concurrent modification occured during user think time. Usually we only "
+"check at the end of the conversation."
+msgstr ""
+"<emphasis>자동적인 버전화</emphasis> - Hibernate는 당신을 위해 자동적인 "
+"optimistic 동시성 제어를 행할 수 있고, 그것은 사용자가 생각하는 시간 동안 동"
+"시적인 변경이 발생했는지를 자동적으로 검출할 수 있다. 대개 우리는 오직 대화"
+"의 끝에서 체크한다."
 
-#: index.docbook:197
-msgid "<emphasis>Detached Objects</emphasis> - If you decide to use the already discussed <emphasis>session-per-request</emphasis> pattern, all loaded instances will be in detached state during user think time. Hibernate allows you to reattach the objects and persist the modifications, the pattern is called <emphasis>session-per-request-with-detached-objects</emphasis>. Automatic versioning is used to isolate concurrent modifications."
-msgstr "<emphasis>Detached 객체들</emphasis> - 만일 당신이 이미 논의된 <emphasis>session-per-request</emphasis> 패턴을 사용하고자 결정하는 경우, 모든 로드된 인스턴스들은 사용자가 생각하는 시간 동안 detached 상태에 있을 것이다. Hibernate는 그 객체들을 재첨부시키고 변경들을 영속화 시키는 것을 허용해주며, 그 패턴은 <emphasis>session-per-request-with-detached-objects(detached-객체들을 가진 요청 당 세션)</emphasis>으로 명명된다. 자동적인 버전화는 동시성 변경들을 격리시키는데 사용된다."
+#. Tag: para
+#: transactions.xml:197
+#, no-c-format
+msgid ""
+"<emphasis>Detached Objects</emphasis> - If you decide to use the already "
+"discussed <emphasis>session-per-request</emphasis> pattern, all loaded "
+"instances will be in detached state during user think time. Hibernate allows "
+"you to reattach the objects and persist the modifications, the pattern is "
+"called <emphasis>session-per-request-with-detached-objects</emphasis>. "
+"Automatic versioning is used to isolate concurrent modifications."
+msgstr ""
+"<emphasis>Detached 객체들</emphasis> - 만일 당신이 이미 논의된 "
+"<emphasis>session-per-request</emphasis> 패턴을 사용하고자 결정하는 경우, 모"
+"든 로드된 인스턴스들은 사용자가 생각하는 시간 동안 detached 상태에 있을 것이"
+"다. Hibernate는 그 객체들을 재첨부시키고 변경들을 영속화 시키는 것을 허용해주"
+"며, 그 패턴은 <emphasis>session-per-request-with-detached-objects(detached-객"
+"체들을 가진 요청 당 세션)</emphasis>으로 명명된다. 자동적인 버전화는 동시성 "
+"변경들을 격리시키는데 사용된다."
 
-#: index.docbook:207
-msgid "<emphasis>Extended (or Long) Session</emphasis> - The Hibernate <literal>Session</literal> may be disconnected from the underlying JDBC connection after the database transaction has been committed, and reconnected when a new client request occurs. This pattern is known as <emphasis>session-per-conversation</emphasis> and makes even reattachment unnecessary. Automatic versioning is used to isolate concurrent modifications and the <literal>Session</literal> is usually not allowed to be flushed automatically, but explicitely."
-msgstr "<emphasis>확장된 (또는 Long) Session</emphasis> - Hibernate <emphasis>Session</emphasis>은 데이터베이스 트랜잭션이 커밋된 후에 기본 JDBC 커넥션이 연결 해제될 수도 있고, 새로운 클라이언트 요청이 발생할 때 다시 연결될 수 있다. 이 패턴은 <emphasis>session-per-conversation(대화 당 세션)</emphasis>으로 알려져 있고 재첨부를 불필요하게 만든다. 자동적인 버전화는 동시성 변경들을 격리시키는데 사용되고 <literal>Session</literal>은 자동적으로 flush되는 것이 허용되지 않지만 명시적으로 flush되는 것은 허용된다."
+#. Tag: para
+#: transactions.xml:207
+#, no-c-format
+msgid ""
+"<emphasis>Extended (or Long) Session</emphasis> - The Hibernate "
+"<literal>Session</literal> may be disconnected from the underlying JDBC "
+"connection after the database transaction has been committed, and "
+"reconnected when a new client request occurs. This pattern is known as "
+"<emphasis>session-per-conversation</emphasis> and makes even reattachment "
+"unnecessary. Automatic versioning is used to isolate concurrent "
+"modifications and the <literal>Session</literal> is usually not allowed to "
+"be flushed automatically, but explicitely."
+msgstr ""
+"<emphasis>확장된 (또는 Long) Session</emphasis> - Hibernate "
+"<emphasis>Session</emphasis>은 데이터베이스 트랜잭션이 커밋된 후에 기본 JDBC "
+"커넥션이 연결 해제될 수도 있고, 새로운 클라이언트 요청이 발생할 때 다시 연결"
+"될 수 있다. 이 패턴은 <emphasis>session-per-conversation(대화 당 세션)</"
+"emphasis>으로 알려져 있고 재첨부를 불필요하게 만든다. 자동적인 버전화는 동시"
+"성 변경들을 격리시키는데 사용되고 <literal>Session</literal>은 자동적으로 "
+"flush되는 것이 허용되지 않지만 명시적으로 flush되는 것은 허용된다."
 
-#: index.docbook:220
-msgid "Both <emphasis>session-per-request-with-detached-objects</emphasis> and <emphasis>session-per-conversation</emphasis> have advantages and disadvantages, we discuss them later in this chapter in the context of optimistic concurrency control."
-msgstr "<emphasis>session-per-request-with-detached-objects</emphasis>과 <emphasis>session-per-conversation</emphasis> 양자는 장점들과 단점들을 갖는데, 우리는 이 장의 뒷 부분에서 optimistic 동시성 제어 단락에서 그것들을 논의한다."
+#. Tag: para
+#: transactions.xml:220
+#, no-c-format
+msgid ""
+"Both <emphasis>session-per-request-with-detached-objects</emphasis> and "
+"<emphasis>session-per-conversation</emphasis> have advantages and "
+"disadvantages, we discuss them later in this chapter in the context of "
+"optimistic concurrency control."
+msgstr ""
+"<emphasis>session-per-request-with-detached-objects</emphasis>ê³¼ "
+"<emphasis>session-per-conversation</emphasis> 양자는 장점들과 단점들을 갖는"
+"데, 우리는 이 장의 뒷 부분에서 optimistic 동시성 제어 단락에서 그것들을 논의"
+"한다."
 
-#: index.docbook:229
+#. Tag: title
+#: transactions.xml:229
+#, no-c-format
 msgid "Considering object identity"
 msgstr "객체 identity 고려하기"
 
-#: index.docbook:231
-msgid "An application may concurrently access the same persistent state in two different <literal>Session</literal>s. However, an instance of a persistent class is never shared between two <literal>Session</literal> instances. Hence there are two different notions of identity:"
-msgstr "어플리케이션은 두 개의 다른 <literal>Session</literal>들 내에 있는 동일한 영속 상태에 동시에 접근할 수도 있다. 하지만 영속 클래스의 인스턴스는 두 개의 <literal>Session</literal> 인스턴스들 사이에 결코 공유되지 않는다. 그러므로 identity에 대한 두 개의 다른 개념들이 존재한다:"
+#. Tag: para
+#: transactions.xml:231
+#, no-c-format
+msgid ""
+"An application may concurrently access the same persistent state in two "
+"different <literal>Session</literal>s. However, an instance of a persistent "
+"class is never shared between two <literal>Session</literal> instances. "
+"Hence there are two different notions of identity:"
+msgstr ""
+"어플리케이션은 두 개의 다른 <literal>Session</literal>들 내에 있는 동일한 영"
+"속 상태에 동시에 접근할 수도 있다. 하지만 영속 클래스의 인스턴스는 두 개의 "
+"<literal>Session</literal> 인스턴스들 사이에 결코 공유되지 않는다. 그러므로 "
+"identity에 대한 두 개의 다른 개념들이 존재한다:"
 
-#: index.docbook:240
+#. Tag: term
+#: transactions.xml:240
+#, no-c-format
 msgid "Database Identity"
 msgstr "데이터베이스 Identity"
 
-#: index.docbook:243
+#. Tag: literal
+#: transactions.xml:243
+#, no-c-format
 msgid "foo.getId().equals( bar.getId() )"
 msgstr "foo.getId().equals( bar.getId() )"
 
-#: index.docbook:248
+#. Tag: term
+#: transactions.xml:248
+#, no-c-format
 msgid "JVM Identity"
 msgstr "JVM Identity"
 
-#: index.docbook:251
+#. Tag: literal
+#: transactions.xml:251
+#, no-c-format
 msgid "foo==bar"
 msgstr "foo==bar"
 
-#: index.docbook:257
-msgid "Then for objects attached to a <emphasis>particular</emphasis> <literal>Session</literal> (i.e. in the scope of a <literal>Session</literal>) the two notions are equivalent, and JVM identity for database identity is guaranteed by Hibernate. However, while the application might concurrently access the \"same\" (persistent identity) business object in two different sessions, the two instances will actually be \"different\" (JVM identity). Conflicts are resolved using (automatic versioning) at flush/commit time, using an optimistic approach."
-msgstr "그때 (예를 들어 <literal>Session</literal> 영역에서) <emphasis>특정</emphasis> <literal>Session</literal>에 첨부된 객체들의 경우 두 개의 개념들은 동등한 것이고, 데이터베이스 identity에 대한 JVM identity가 Hibernate에 의해 보장된다. 하지만, 어플리케이션이 두 개의 다른 세션들에서 \"동일한\" (영속 identity) 비지니스 객체에 동시에 접근하는 동안, 두 개의 인스턴스들은 실제로 \"다르다\"(JVM identity). 충돌들은 flush/커밋 시에 (자동적인 버전화)를 사용하여, optimistic 접근법을 사용하여 해결된다."
+#. Tag: para
+#: transactions.xml:257
+#, fuzzy, no-c-format
+msgid ""
+"Then for objects attached to a <emphasis>particular</emphasis> "
+"<literal>Session</literal> (i.e. in the scope of a <literal>Session</"
+"literal>) the two notions are equivalent, and JVM identity for database "
+"identity is guaranteed by Hibernate. However, while the application might "
+"concurrently access the \"same\" (persistent identity) business object in "
+"two different sessions, the two instances will actually be \"different"
+"\" (JVM identity). Conflicts are resolved using (automatic versioning) at "
+"flush/commit time, using an optimistic approach."
+msgstr ""
+"그때 (예를 들어 <literal>Session</literal> 영역에서) <emphasis>특정</"
+"emphasis><literal>Session</literal>에 첨부된 객체들의 경우 두 개의 개념들은 "
+"동등한 것이고, 데이터베이스 identity에 대한 JVM identity가 Hibernate에 의해 "
+"보장된다. 하지만, 어플리케이션이 두 개의 다른 세션들에서 \"동일한\" (영속 "
+"identity) 비지니스 객체에 동시에 접근하는 동안, 두 개의 인스턴스들은 실제로 "
+"\"다르다\"(JVM identity). 충돌들은 flush/커밋 시에 (자동적인 버전화)를 사용하"
+"여, optimistic 접근법을 사용하여 해결된다."
 
-#: index.docbook:266
-msgid "This approach leaves Hibernate and the database to worry about concurrency; it also provides the best scalability, since guaranteeing identity in single-threaded units of work only doesn't need expensive locking or other means of synchronization. The application never needs to synchronize on any business object, as long as it sticks to a single thread per <literal>Session</literal>. Within a <literal>Session</literal> the application may safely use <literal>==</literal> to compare objects."
-msgstr "이 접근법은 Hibernate와 데이터베이스가 동시성에 대해 걱정하지 않도록 해준다; 그것은 또한 최상의 scalability를 제공한다. 왜냐하면 단일 쓰레드-작업 단위 내에서 identity 보장은 단지 비용이 드는 잠금이나 다른 동기화 수단들을 필요로 하지 않기 때문이다. 어플리케이션은 그것이 <literal>Session</literal> 당 단일 쓰레드를 강제하는 한, 어떤 비지니스 객체에 대해 결코 동기화 시킬 필요가 없다. 하나의 <literal>Session</literal> 내에서 어플리케이션은 객체들을 비교하는데 <literal>==</literal>를 안전하게 사용할 수가 있다."
+#. Tag: para
+#: transactions.xml:266
+#, no-c-format
+msgid ""
+"This approach leaves Hibernate and the database to worry about concurrency; "
+"it also provides the best scalability, since guaranteeing identity in single-"
+"threaded units of work only doesn't need expensive locking or other means of "
+"synchronization. The application never needs to synchronize on any business "
+"object, as long as it sticks to a single thread per <literal>Session</"
+"literal>. Within a <literal>Session</literal> the application may safely use "
+"<literal>==</literal> to compare objects."
+msgstr ""
+"이 접근법은 Hibernate와 데이터베이스가 동시성에 대해 걱정하지 않도록 해준다; "
+"그것은 또한 최상의 scalability를 제공한다. 왜냐하면 단일 쓰레드-작업 단위 내"
+"에서 identity 보장은 단지 비용이 드는 잠금이나 다른 동기화 수단들을 필요로 하"
+"지 않기 때문이다. 어플리케이션은 그것이 <literal>Session</literal> 당 단일 쓰"
+"레드를 강제하는 한, 어떤 비지니스 객체에 대해 결코 동기화 시킬 필요가 없다. "
+"하나의 <literal>Session</literal> 내에서 어플리케이션은 객체들을 비교하는데 "
+"<literal>==</literal>를 안전하게 사용할 수가 있다."
 
-#: index.docbook:275
-msgid "However, an application that uses <literal>==</literal> outside of a <literal>Session</literal>, might see unexpected results. This might occur even in some unexpected places, for example, if you put two detached instances into the same <literal>Set</literal>. Both might have the same database identity (i.e. they represent the same row), but JVM identity is by definition not guaranteed for instances in detached state. The developer has to override the <literal>equals()</literal> and <literal>hashCode()</literal> methods in persistent classes and implement his own notion of object equality. There is one caveat: Never use the database identifier to implement equality, use a business key, a combination of unique, usually immutable, attributes. The database identifier will change if a transient object is made persistent. If the transient instance (usually together with detached instances) is held in a <literal>Set</literal>, changing the hashcode breaks the contract of t!
 he <literal>Set</literal>. Attributes for business keys don't have to be as stable as database primary keys, you only have to guarantee stability as long as the objects are in the same <literal>Set</literal>. See the Hibernate website for a more thorough discussion of this issue. Also note that this is not a Hibernate issue, but simply how Java object identity and equality has to be implemented."
-msgstr "하지만, 하나의 <literal>Session</literal> 외부에서 <literal>==</literal>를 사용하는 어플리케이션은 예기치 않은 결과들을 보게 될 수도 있다. 이것은 ì–´ë–¤ 예기치 않은 장소들에서, 예를 들어 당신이 두 개의 detached 인스턴스들을 동일한 <literal>Set</literal> 내에 집어넣을 경우에 발생할 수도 있다. 둘 다 동일한 데이터베이스 identity를 가질 수 있지만 (예를 들어 그것들은 동일한 행을 표현한다), JVM identity는 정의 상 detached 상태에 있는 인스턴스들을 보장하지 않는다. 개발자는 영속 클래스들내에 <literal>equals()</literal> 메소드와 <literal>hashCode()</literal> 메소드를 오버라이드 시켜야 하고 객체 equality에 대한 ê·¸ 자신의 개념을 구현해야 한다. 하나의 경고가 존재한다: equality를 구현하는데 데이터베이스 identifier를 ê²°ì½” 사용하지 말고, 하나의 비지니스 í‚!
 ¤, 유일한, 대개 불변인 속성들의 조합을 사용하라. 데이터베이스 식별자는 만일 transient 객체가 영속화되는 경우에 변경될 것이다. 만일 transient 인스턴스가(대개 detached 인스턴스들과 함께) <literal>Set</literal> 내에 보관되는 경우에, hashcode 변경은 <literal>Set</literal>의 계약을 파기시킨다. 비지니스 키들에 대한 속성들은 데이터베이스 프라이머리 키들 만큼 안정적이어서는 안되며, 당신은 오직 객체들이 동일한 <literal>Set</literal> 내에 있는 한에서 안정성을 보장해야만 한다. 이 쟁점에 관한 논의에 대한 더 많은 것을 Hibernate 웹 사이트를 보라. 또한 이것이 Hibernate 쟁점이 아니며, 단지 자바 객체 identity와 equalityê°€ 구현되어야 하는 방법임을 노트하라."
+#. Tag: para
+#: transactions.xml:275
+#, no-c-format
+msgid ""
+"However, an application that uses <literal>==</literal> outside of a "
+"<literal>Session</literal>, might see unexpected results. This might occur "
+"even in some unexpected places, for example, if you put two detached "
+"instances into the same <literal>Set</literal>. Both might have the same "
+"database identity (i.e. they represent the same row), but JVM identity is by "
+"definition not guaranteed for instances in detached state. The developer has "
+"to override the <literal>equals()</literal> and <literal>hashCode()</"
+"literal> methods in persistent classes and implement his own notion of "
+"object equality. There is one caveat: Never use the database identifier to "
+"implement equality, use a business key, a combination of unique, usually "
+"immutable, attributes. The database identifier will change if a transient "
+"object is made persistent. If the transient instance (usually together with "
+"detached instances) is held in a <literal>Set</literal>, changing the "
+"hashcode breaks the contract of the <literal>Set</literal>. Attributes for "
+"business keys don't have to be as stable as database primary keys, you only "
+"have to guarantee stability as long as the objects are in the same "
+"<literal>Set</literal>. See the Hibernate website for a more thorough "
+"discussion of this issue. Also note that this is not a Hibernate issue, but "
+"simply how Java object identity and equality has to be implemented."
+msgstr ""
+"하지만, 하나의 <literal>Session</literal> 외부에서 <literal>==</literal>를 사"
+"용하는 어플리케이션은 예기치 않은 결과들을 보게 될 수도 있다. 이것은 어떤 예"
+"기치 않은 장소들에서, 예를 들어 당신이 두 개의 detached 인스턴스들을 동일한 "
+"<literal>Set</literal> 내에 집어넣을 경우에 발생할 수도 있다. 둘 다 동일한 데"
+"이터베이스 identity를 가질 수 있지만 (예를 들어 그것들은 동일한 행을 표현한"
+"다), JVM identity는 정의 상 detached 상태에 있는 인스턴스들을 보장하지 않는"
+"다. 개발자는 영속 클래스들내에 <literal>equals()</literal> 메소드와 "
+"<literal>hashCode()</literal> 메소드를 오버라이드 시켜야 하고 객체 equality"
+"에 대한 그 자신의 개념을 구현해야 한다. 하나의 경고가 존재한다: equality를 구"
+"현하는데 데이터베이스 identifier를 결코 사용하지 말고, 하나의 비지니스 키, 유"
+"일한, 대개 불변인 속성들의 조합을 사용하라. 데이터베이스 식별자는 만일 "
+"transient 객체가 영속화되는 경우에 변경될 것이다. 만일 transient 인스턴스가"
+"(대개 detached 인스턴스들과 함께) <literal>Set</literal> 내에 보관되는 경우"
+"에, hashcode 변경은 <literal>Set</literal>의 계약을 파기시킨다. 비지니스 키들"
+"에 대한 속성들은 데이터베이스 프라이머리 키들 만큼 안정적이어서는 안되며, 당"
+"신은 오직 객체들이 동일한 <literal>Set</literal> 내에 있는 한에서 안정성을 보"
+"장해야만 한다. 이 쟁점에 관한 논의에 대한 더 많은 것을 Hibernate 웹 사이트를 "
+"보라. 또한 이것이 Hibernate 쟁점이 아니며, 단지 자바 객체 identity와 equality"
+"가 구현되어야 하는 방법임을 노트하라."
 
-#: index.docbook:296
+#. Tag: title
+#: transactions.xml:296
+#, no-c-format
 msgid "Common issues"
 msgstr "공통된 쟁점들"
 
-#: index.docbook:298
-msgid "Never use the anti-patterns <emphasis>session-per-user-session</emphasis> or <emphasis>session-per-application</emphasis> (of course, there are rare exceptions to this rule). Note that some of the following issues might also appear with the recommended patterns, make sure you understand the implications before making a design decision:"
-msgstr "안티-패턴들 <emphasis>session-per-user-session</emphasis> 또는 <emphasis>session-per-application</emphasis>을 결코 사용하지 말라(물론 이 규칙에 대한 드문 예외상황들이 존재한다). 다음 쟁점들 중 몇몇이 또한 권장되는 패턴들로 나타날 수 있음을 노트하고, 당신이 설계 결정을 내리기 전에 내포된 의미들을 확실히 이해하라:"
+#. Tag: para
+#: transactions.xml:298
+#, no-c-format
+msgid ""
+"Never use the anti-patterns <emphasis>session-per-user-session</emphasis> or "
+"<emphasis>session-per-application</emphasis> (of course, there are rare "
+"exceptions to this rule). Note that some of the following issues might also "
+"appear with the recommended patterns, make sure you understand the "
+"implications before making a design decision:"
+msgstr ""
+"안티-패턴들 <emphasis>session-per-user-session</emphasis> 또는 "
+"<emphasis>session-per-application</emphasis>을 결코 사용하지 말라(물론 이 규"
+"칙에 대한 드문 예외상황들이 존재한다). 다음 쟁점들 중 몇몇이 또한 권장되는 패"
+"턴들로 나타날 수 있음을 노트하고, 당신이 설계 결정을 내리기 전에 내포된 의미"
+"들을 확실히 이해하라:"
 
-#: index.docbook:307
-msgid "A <literal>Session</literal> is not thread-safe. Things which are supposed to work concurrently, like HTTP requests, session beans, or Swing workers, will cause race conditions if a <literal>Session</literal> instance would be shared. If you keep your Hibernate <literal>Session</literal> in your <literal>HttpSession</literal> (discussed later), you should consider synchronizing access to your Http session. Otherwise, a user that clicks reload fast enough may use the same <literal>Session</literal> in two concurrently running threads."
-msgstr "<literal>Session</literal>은 쓰레드-안전하지 않다. HTTP 요청들, 세션 빈즈, 또는 Swing worker들처럼 동시에 작업하는 것으로 가정되는 것들은 하나의 <literal>Session</literal> 인스턴스가 공유될 경우에 경쟁 조건들을 발생시킬 것이다. 만일 당신이 당신의 <literal>HttpSession</literal> 내에 Hibernate <literal>Session</literal>을 유지시키는 경우(나중에 논의됨), 당신은 당신의 Http 세션에 대한 접근을 동기화 시키는 것을 고려해야 한다. 그 밖의 경우, 충분히 빠르게 reload를 클릭하는 사용자는 두 개의 동시적으로 실행되는 쓰레드들 내에서 동일한 <literal>Session</literal>을 사용할 수도 있다."
+#. Tag: para
+#: transactions.xml:307
+#, no-c-format
+msgid ""
+"A <literal>Session</literal> is not thread-safe. Things which are supposed "
+"to work concurrently, like HTTP requests, session beans, or Swing workers, "
+"will cause race conditions if a <literal>Session</literal> instance would be "
+"shared. If you keep your Hibernate <literal>Session</literal> in your "
+"<literal>HttpSession</literal> (discussed later), you should consider "
+"synchronizing access to your Http session. Otherwise, a user that clicks "
+"reload fast enough may use the same <literal>Session</literal> in two "
+"concurrently running threads."
+msgstr ""
+"<literal>Session</literal>은 쓰레드-안전하지 않다. HTTP 요청들, 세션 빈즈, 또"
+"는 Swing worker들처럼 동시에 작업하는 것으로 가정되는 것들은 하나의 "
+"<literal>Session</literal> 인스턴스가 공유될 경우에 경쟁 조건들을 발생시킬 것"
+"이다. 만일 당신이 당신의 <literal>HttpSession</literal> 내에 Hibernate "
+"<literal>Session</literal>을 유지시키는 경우(나중에 논의됨), 당신은 당신의 "
+"Http 세션에 대한 접근을 동기화 시키는 것을 고려해야 한다. 그 밖의 경우, 충분"
+"히 빠르게 reload를 클릭하는 사용자는 두 개의 동시적으로 실행되는 쓰레드들 내"
+"에서 동일한 <literal>Session</literal>을 사용할 수도 있다."
 
-#: index.docbook:318
-msgid "An exception thrown by Hibernate means you have to rollback your database transaction and close the <literal>Session</literal> immediately (discussed later in more detail). If your <literal>Session</literal> is bound to the application, you have to stop the application. Rolling back the database transaction doesn't put your business objects back into the state they were at the start of the transaction. This means the database state and the business objects do get out of sync. Usually this is not a problem, because exceptions are not recoverable and you have to start over after rollback anyway."
-msgstr "Hibernate에 의해 던져진 예외상황은 당신이 당신의 데이터베이스 트랜잭션을 롤백 시키고 즉시 <literal>Session</literal>을 닫아야 함을 의미한다(나중에 상세히 논의됨). 만일 당신의 <literal>Session</literal>이 어플리케이션에 바인드 되어 있는 경우, 당신은 어플리케이션을 중지시켜야 한다. 데이터베이스 트랜잭션 롤백은 당신의 비지니스 객체들을 그것들이 트랜잭션의 시작 시에 머물렀던 상태로 되돌리지는 않는다. 이것은 데이터베이스 상태와 비지니스 객체들이 동기화를 벗어남을 의미한다. 대개 이것은 문제가 아니다. 왜냐하면 예외상황들은 회복가능한 것이 아니고 당신이 어떻게든 롤백 후에 시작해야 하기 때문이다."
+#. Tag: para
+#: transactions.xml:318
+#, no-c-format
+msgid ""
+"An exception thrown by Hibernate means you have to rollback your database "
+"transaction and close the <literal>Session</literal> immediately (discussed "
+"later in more detail). If your <literal>Session</literal> is bound to the "
+"application, you have to stop the application. Rolling back the database "
+"transaction doesn't put your business objects back into the state they were "
+"at the start of the transaction. This means the database state and the "
+"business objects do get out of sync. Usually this is not a problem, because "
+"exceptions are not recoverable and you have to start over after rollback "
+"anyway."
+msgstr ""
+"Hibernate에 의해 던져진 예외상황은 당신이 당신의 데이터베이스 트랜잭션을 롤"
+"백 시키고 즉시 <literal>Session</literal>을 닫아야 함을 의미한다(나중에 상세"
+"히 논의됨). 만일 당신의 <literal>Session</literal>이 어플리케이션에 바인드 되"
+"어 있는 경우, 당신은 어플리케이션을 중지시켜야 한다. 데이터베이스 트랜잭션 롤"
+"백은 당신의 비지니스 객체들을 그것들이 트랜잭션의 시작 시에 머물렀던 상태로 "
+"되돌리지는 않는다. 이것은 데이터베이스 상태와 비지니스 객체들이 동기화를 벗어"
+"남을 의미한다. 대개 이것은 문제가 아니다. 왜냐하면 예외상황들은 회복가능한 것"
+"이 아니고 당신이 어떻게든 롤백 후에 시작해야 하기 때문이다."
 
-#: index.docbook:330
-msgid "The <literal>Session</literal> caches every object that is in persistent state (watched and checked for dirty state by Hibernate). This means it grows endlessly until you get an OutOfMemoryException, if you keep it open for a long time or simply load too much data. One solution for this is to call <literal>clear()</literal> and <literal>evict()</literal> to manage the <literal>Session</literal> cache, but you most likely should consider a Stored Procedure if you need mass data operations. Some solutions are shown in <xref linkend=\"batch\"/>. Keeping a <literal>Session</literal> open for the duration of a user session also means a high probability of stale data."
-msgstr "<literal>Session</literal>은 (Hibernate에 의해 dirty 상태로 관찰되었거나 체크된) 영속 상태에 있는 모든 객체를 캐시 시킨다. 이것은 당신이 오랜 시간 동안 <literal>Session</literal>을 ì—´ì–´ë‘” 채로 유지하거나 단순하게 너무 많은 데이터를 로드시킬 경우에, 당신이 OutOfMemoryException을 얻기 전까지, 그것이 끝없이 성장한다는 점을 의미한다. 이것에 대한 하나의 해결책은 <literal>Session</literal> 캐시를 관리하기 위해 <literal>clear()</literal>와 <literal>evict()</literal>를 호출하는 것이지만, 당신이 대용량 데이터 오퍼레이션들을 필요로 하는 경우에 당신은 대개 내장 프로시저를 고려해야 í•  것이다. 몇몇 해결책들이 <xref linkend=\"batch\"/>에 보여져 있다. 사용자 세션 동안에 <literal>Session</literal>을 열려진 채로 유지하는 것은 또한 실효성이 떨어진 데이터에 대한 ë†!
 ’은 확률을 의미한다."
+#. Tag: para
+#: transactions.xml:330
+#, no-c-format
+msgid ""
+"The <literal>Session</literal> caches every object that is in persistent "
+"state (watched and checked for dirty state by Hibernate). This means it "
+"grows endlessly until you get an OutOfMemoryException, if you keep it open "
+"for a long time or simply load too much data. One solution for this is to "
+"call <literal>clear()</literal> and <literal>evict()</literal> to manage the "
+"<literal>Session</literal> cache, but you most likely should consider a "
+"Stored Procedure if you need mass data operations. Some solutions are shown "
+"in <xref linkend=\"batch\"/>. Keeping a <literal>Session</literal> open for "
+"the duration of a user session also means a high probability of stale data."
+msgstr ""
+"<literal>Session</literal>은 (Hibernate에 의해 dirty 상태로 관찰되었거나 체크"
+"된) 영속 상태에 있는 모든 객체를 캐시 시킨다. 이것은 당신이 오랜 시간 동안 "
+"<literal>Session</literal>을 열어둔 채로 유지하거나 단순하게 너무 많은 데이터"
+"를 로드시킬 경우에, 당신이 OutOfMemoryException을 얻기 전까지, 그것이 끝없이 "
+"성장한다는 점을 의미한다. 이것에 대한 하나의 해결책은 <literal>Session</"
+"literal> 캐시를 관리하기 위해 <literal>clear()</literal>와 <literal>evict()</"
+"literal>를 호출하는 것이지만, 당신이 대용량 데이터 오퍼레이션들을 필요로 하"
+"는 경우에 당신은 대개 내장 프로시저를 고려해야 할 것이다. 몇몇 해결책들이 "
+"<xref linkend=\"batch\"/>에 보여져 있다. 사용자 세션 동안에 "
+"<literal>Session</literal>을 열려진 채로 유지하는 것은 또한 실효성이 떨어진 "
+"데이터에 대한 높은 확률을 의미한다."
 
-#: index.docbook:348
+#. Tag: title
+#: transactions.xml:348
+#, no-c-format
 msgid "Database transaction demarcation"
 msgstr "데이터베이스 트랜잭션 경계 설정"
 
-#: index.docbook:350
-msgid "Datatabase (or system) transaction boundaries are always necessary. No communication with the database can occur outside of a database transaction (this seems to confuse many developers who are used to the auto-commit mode). Always use clear transaction boundaries, even for read-only operations. Depending on your isolation level and database capabilities this might not be required but there is no downside if you always demarcate transactions explicitly. Certainly, a single database transaction is going to perform better than many small transactions, even for reading data."
-msgstr "데이터베이스 (또는 시스템) 트랜잭션 경계들은 항상 필수적이다. 데이터베이스와의 통신은 데이터베이스 트랜잭션의 외부에서 발생할 수 없다(이것은 자동-커밋 모드로 사용되는 많은 개발자들에게는 혼동스러워 보인다). 항상 심지어 읽기 전용 오퍼레이션들에 대해서도 명료한 트랜잭션 경계들을 사용하라. 당신의 격리 레벨과 데이터베이스 가용성들에 따라, 이것은 필요하지 않을 수 있지만, 만일 당신이 항상 트랜잭션들을 명시적으로 경계 설정할 경우에는 하강하는 결점들이 존재하지 않는다. 확실히, 하나의 데이터베이스 트랜잭션은 심지어 데이터 읽기조차도 많은 작은 트랜잭션들의 경우보다는 더 좋게 수행될 것이다."
+#. Tag: para
+#: transactions.xml:350
+#, no-c-format
+msgid ""
+"Datatabase (or system) transaction boundaries are always necessary. No "
+"communication with the database can occur outside of a database transaction "
+"(this seems to confuse many developers who are used to the auto-commit "
+"mode). Always use clear transaction boundaries, even for read-only "
+"operations. Depending on your isolation level and database capabilities this "
+"might not be required but there is no downside if you always demarcate "
+"transactions explicitly. Certainly, a single database transaction is going "
+"to perform better than many small transactions, even for reading data."
+msgstr ""
+"데이터베이스 (또는 시스템) 트랜잭션 경계들은 항상 필수적이다. 데이터베이스와"
+"의 통신은 데이터베이스 트랜잭션의 외부에서 발생할 수 없다(이것은 자동-커밋 모"
+"드로 사용되는 많은 개발자들에게는 혼동스러워 보인다). 항상 심지어 읽기 전용 "
+"오퍼레이션들에 대해서도 명료한 트랜잭션 경계들을 사용하라. 당신의 격리 레벨"
+"과 데이터베이스 가용성들에 따라, 이것은 필요하지 않을 수 있지만, 만일 당신이 "
+"항상 트랜잭션들을 명시적으로 경계 설정할 경우에는 하강하는 결점들이 존재하지 "
+"않는다. 확실히, 하나의 데이터베이스 트랜잭션은 심지어 데이터 읽기조차도 많은 "
+"작은 트랜잭션들의 경우보다는 더 좋게 수행될 것이다."
 
-#: index.docbook:360
-msgid "A Hibernate application can run in non-managed (i.e. standalone, simple Web- or Swing applications) and managed J2EE environments. In a non-managed environment, Hibernate is usually responsible for its own database connection pool. The application developer has to manually set transaction boundaries, in other words, begin, commit, or rollback database transactions himself. A managed environment usually provides container-managed transactions (CMT), with the transaction assembly defined declaratively in deployment descriptors of EJB session beans, for example. Programmatic transaction demarcation is then no longer necessary."
-msgstr "Hibernate 어플리케이션은 관리되지 않는 환경(예를 들면. 스탠드얼론, 간단히 웹 어플리케이션들 또는 Swing 어플리케이션들)과 관리되는 J2EE 환경에서 실행될 수 있다. 관리되지 않는 환경에서, Hibernate는 대개 그것 자신의 데이터베이스 커넥션 풀에 대한 책임이 있다. 어플리케이션 개발자는 트랜잭션 경계들을 손수 설정해야 한다. 달리 말해, 개발자 스스로 데이터베이스 트랜잭션들을 시작하고, 커밋시키거나 롤백시켜야 한다. 관리되는 환경은 대개 예를 들어 EJB 세션 빈즈의 배치 디스크립터 속에 선언적으로 정의된 트랜잭션 어셈블리를 가진, 컨테이너에 의해-관리되는 트랜잭션들(CMT)을 제공한다. 그때 프로그램 상의 트랜잭션 경계 설정은 더 이상 필요하지 않다."
+#. Tag: para
+#: transactions.xml:360
+#, no-c-format
+msgid ""
+"A Hibernate application can run in non-managed (i.e. standalone, simple Web- "
+"or Swing applications) and managed J2EE environments. In a non-managed "
+"environment, Hibernate is usually responsible for its own database "
+"connection pool. The application developer has to manually set transaction "
+"boundaries, in other words, begin, commit, or rollback database transactions "
+"himself. A managed environment usually provides container-managed "
+"transactions (CMT), with the transaction assembly defined declaratively in "
+"deployment descriptors of EJB session beans, for example. Programmatic "
+"transaction demarcation is then no longer necessary."
+msgstr ""
+"Hibernate 어플리케이션은 관리되지 않는 환경(예를 들면. 스탠드얼론, 간단히 웹 "
+"어플리케이션들 또는 Swing 어플리케이션들)과 관리되는 J2EE 환경에서 실행될 수 "
+"있다. 관리되지 않는 환경에서, Hibernate는 대개 그것 자신의 데이터베이스 커넥"
+"션 풀에 대한 책임이 있다. 어플리케이션 개발자는 트랜잭션 경계들을 손수 설정해"
+"야 한다. 달리 말해, 개발자 스스로 데이터베이스 트랜잭션들을 시작하고, 커밋시"
+"키거나 롤백시켜야 한다. 관리되는 환경은 대개 예를 들어 EJB 세션 빈즈의 배치 "
+"디스크립터 속에 선언적으로 정의된 트랜잭션 어셈블리를 가진, 컨테이너에 의해-"
+"관리되는 트랜잭션들(CMT)을 제공한다. 그때 프로그램 상의 트랜잭션 경계 설정은 "
+"더 이상 필요하지 않다."
 
-#: index.docbook:370
-msgid "However, it is often desirable to keep your persistence layer portable between non-managed resource-local environments, and systems that can rely on JTA but use BMT instead of CMT. In both cases you'd use programmatic transaction demaracation. Hibernate offers a wrapper API called <literal>Transaction</literal> that translates into the native transaction system of your deployment environment. This API is actually optional, but we strongly encourage its use unless you are in a CMT session bean."
-msgstr "하지만, CMT 대신 BMT를 사용하는 JTA에 의존할 수 있는 시스템들, 그리고 관리되지 않는 resource-local 환경들 사이에서 당신의 영속 계층에 이식성을 유지시키는 것이 자주 희망된다. 두 경우들에서 당신은 프로그램 상의 트랜잭션 경계설정을 사용할 것이다. Hibernate는 당신의 배치 환경의 고유한 트랜잭션 시스템 속으로 변환되는 <literal>Transaction</literal>이라 명명되는 wrapper API 를 제공한다. 이 API는 실제로 옵션이지만 우리는 당신이 CMT session bean 속에 있지 않는 한 그것의 사용을 강력하게 권장한다."
+#. Tag: para
+#: transactions.xml:370
+#, no-c-format
+msgid ""
+"However, it is often desirable to keep your persistence layer portable "
+"between non-managed resource-local environments, and systems that can rely "
+"on JTA but use BMT instead of CMT. In both cases you'd use programmatic "
+"transaction demaracation. Hibernate offers a wrapper API called "
+"<literal>Transaction</literal> that translates into the native transaction "
+"system of your deployment environment. This API is actually optional, but we "
+"strongly encourage its use unless you are in a CMT session bean."
+msgstr ""
+"하지만, CMT 대신 BMT를 사용하는 JTA에 의존할 수 있는 시스템들, 그리고 관리되"
+"지 않는 resource-local 환경들 사이에서 당신의 영속 계층에 이식성을 유지시키"
+"는 것이 자주 희망된다. 두 경우들에서 당신은 프로그램 상의 트랜잭션 경계설정"
+"을 사용할 것이다. Hibernate는 당신의 배치 환경의 고유한 트랜잭션 시스템 속으"
+"로 변환되는 <literal>Transaction</literal>이라 명명되는 wrapper API 를 제공한"
+"다. 이 API는 실제로 옵션이지만 우리는 당신이 CMT session bean 속에 있지 않는 "
+"한 그것의 사용을 강력하게 권장한다."
 
-#: index.docbook:379
-msgid "Usually, ending a <literal>Session</literal> involves four distinct phases:"
-msgstr "대개 <literal>Session</literal> 종료는 네 개의 구분되는 단계들을 수반한다:"
+#. Tag: para
+#: transactions.xml:379
+#, no-c-format
+msgid ""
+"Usually, ending a <literal>Session</literal> involves four distinct phases:"
+msgstr ""
+"대개 <literal>Session</literal> 종료는 네 개의 구분되는 단계들을 수반한다:"
 
-#: index.docbook:385
+#. Tag: para
+#: transactions.xml:385
+#, no-c-format
 msgid "flush the session"
 msgstr "세션을 flush 시킨다"
 
-#: index.docbook:390
+#. Tag: para
+#: transactions.xml:390
+#, no-c-format
 msgid "commit the transaction"
 msgstr "트랜잭션을 커밋 시킨다"
 
-#: index.docbook:395
+#. Tag: para
+#: transactions.xml:395
+#, no-c-format
 msgid "close the session"
 msgstr "세션을 닫는다"
 
-#: index.docbook:400
+#. Tag: para
+#: transactions.xml:400
+#, no-c-format
 msgid "handle exceptions"
 msgstr "예외상황들을 처리한다"
 
-#: index.docbook:406
-msgid "Flushing the session has been discussed earlier, we'll now have a closer look at transaction demarcation and exception handling in both managed- and non-managed environments."
-msgstr "세션을 flush 시키는 것은 앞서 논의되었고, 우리는 이제 관리되는 환경과 관리되지 않는 환경 양자에서 트랜잭션 경계 설정과 예외상황을 더 자세히 살펴볼 것이다."
+#. Tag: para
+#: transactions.xml:406
+#, no-c-format
+msgid ""
+"Flushing the session has been discussed earlier, we'll now have a closer "
+"look at transaction demarcation and exception handling in both managed- and "
+"non-managed environments."
+msgstr ""
+"세션을 flush 시키는 것은 앞서 논의되었고, 우리는 이제 관리되는 환경과 관리되"
+"지 않는 환경 양자에서 트랜잭션 경계 설정과 예외상황을 더 자세히 살펴볼 것이"
+"다."
 
-#: index.docbook:413
+#. Tag: title
+#: transactions.xml:413
+#, no-c-format
 msgid "Non-managed environment"
 msgstr "관리되지 않는 환경"
 
-#: index.docbook:415
-msgid "If a Hibernate persistence layer runs in a non-managed environment, database connections are usually handled by simple (i.e. non-DataSource) connection pools from which Hibernate obtains connections as needed. The session/transaction handling idiom looks like this:"
-msgstr "만일 Hibernate 영속 계층이 관리되지 않는(non-managed) 환경에서 실행될 경우, 데이터베이스 커넥션들은 대개 Hibernate가 필요로할 때 커넥션들을 획득하는 간단한 (예를 들면 DataSource가 아닌) 커넥션 풀(pool)들로부터 처리된다. session/transaction 처리 관용구는 다음과 같다:"
+#. Tag: para
+#: transactions.xml:415
+#, no-c-format
+msgid ""
+"If a Hibernate persistence layer runs in a non-managed environment, database "
+"connections are usually handled by simple (i.e. non-DataSource) connection "
+"pools from which Hibernate obtains connections as needed. The session/"
+"transaction handling idiom looks like this:"
+msgstr ""
+"만일 Hibernate 영속 계층이 관리되지 않는(non-managed) 환경에서 실행될 경우, "
+"데이터베이스 커넥션들은 대개 Hibernate가 필요로할 때 커넥션들을 획득하는 간단"
+"한 (예를 들면 DataSource가 아닌) 커넥션 풀(pool)들로부터 처리된다. session/"
+"transaction 처리 관용구는 다음과 같다:"
 
-#: index.docbook:422
+#. Tag: programlisting
+#: transactions.xml:422
+#, no-c-format
 msgid ""
-      "<![CDATA[// Non-managed environment idiom\n"
-      "Session sess = factory.openSession();\n"
-      "Transaction tx = null;\n"
-      "try {\n"
-      "    tx = sess.beginTransaction();\n"
-      "\n"
-      "    // do some work\n"
-      "    ...\n"
-      "\n"
-      "    tx.commit();\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    if (tx != null) tx.rollback();\n"
-      "    throw e; // or display error message\n"
-      "}\n"
-      "finally {\n"
-      "    sess.close();\n"
-      "}]]>"
+"<![CDATA[// Non-managed environment idiom\n"
+"Session sess = factory.openSession();\n"
+"Transaction tx = null;\n"
+"try {\n"
+"    tx = sess.beginTransaction();\n"
+"\n"
+"    // do some work\n"
+"    ...\n"
+"\n"
+"    tx.commit();\n"
+"}\n"
+"catch (RuntimeException e) {\n"
+"    if (tx != null) tx.rollback();\n"
+"    throw e; // or display error message\n"
+"}\n"
+"finally {\n"
+"    sess.close();\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[// Non-managed environment idiom\n"
-      "Session sess = factory.openSession();\n"
-      "Transaction tx = null;\n"
-      "try {\n"
-      "    tx = sess.beginTransaction();\n"
-      "\n"
-      "    // do some work\n"
-      "    ...\n"
-      "\n"
-      "    tx.commit();\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    if (tx != null) tx.rollback();\n"
-      "    throw e; // or display error message\n"
-      "}\n"
-      "finally {\n"
-      "    sess.close();\n"
-      "}]]>"
 
-#: index.docbook:424
-msgid "You don't have to <literal>flush()</literal> the <literal>Session</literal> explicitly - the call to <literal>commit()</literal> automatically triggers the synchronization (depending upon the <xref linkend=\"objectstate-flushing\"/>FlushMode for the session. A call to <literal>close()</literal> marks the end of a session. The main implication of <literal>close()</literal> is that the JDBC connection will be relinquished by the session. This Java code is portable and runs in both non-managed and JTA environments."
-msgstr "당신은 <literal>Session</literal>을 명시적으로 <literal>flush()</literal> 하지 말아야 한다 - <literal>commit()</literal>에 대한 호출은 (그 세션에 대한 <xref linkend=\"objectstate-flushing\"/>FlushMode에 따라)자동적으로 동기화를 트리거시킨다. <literal>close()</literal>에 대한 호출은 세션의 끝을 마크한다. <literal>close()</literal>의 주된 구현은 JDBC 커넥션이 그 세션에 의해 포기될 것이라는 점이다. 이 Java 코드는 관리되지 않는 환경과 JTA 환경 양자에서 이식성이 있고 실행된다."
+#. Tag: para
+#: transactions.xml:424
+#, no-c-format
+msgid ""
+"You don't have to <literal>flush()</literal> the <literal>Session</literal> "
+"explicitly - the call to <literal>commit()</literal> automatically triggers "
+"the synchronization (depending upon the <link linkend=\"objectstate-flushing"
+"\">FlushMode</link> for the session. A call to <literal>close()</literal> "
+"marks the end of a session. The main implication of <literal>close()</"
+"literal> is that the JDBC connection will be relinquished by the session. "
+"This Java code is portable and runs in both non-managed and JTA environments."
+msgstr ""
+"당신은 <literal>Session</literal>을 명시적으로 <literal>flush()</literal> 하"
+"지 말아야 한다 - <literal>commit()</literal>에 대한 호출은 (그 세션에 대한 "
+"<xref linkend=\"objectstate-flushing\">FlushMode</xref>에 따라)자동적으로 동"
+"기화를 트리거시킨다. <literal>close()</literal>에 대한 호출은 세션의 끝을 마"
+"크한다. <literal>close()</literal>의 주된 구현은 JDBC 커넥션이 그 세션에 의"
+"해 포기될 것이라는 점이다. 이 Java 코드는 관리되지 않는 환경과 JTA 환경 양자"
+"에서 이식성이 있고 실행된다."
 
-#: index.docbook:433
-msgid "A much more flexible solution is Hibernate's built-in \"current session\" context management, as described earlier:"
-msgstr "보다 더 유연한 해결책은 앞서 설명했듯이 Hibernate의 미리 빌드되어 있는 \"현재 세션\" 컨텍스트 관리이다:"
+#. Tag: para
+#: transactions.xml:433
+#, no-c-format
+msgid ""
+"A much more flexible solution is Hibernate's built-in \"current session\" "
+"context management, as described earlier:"
+msgstr ""
+"보다 더 유연한 해결책은 앞서 설명했듯이 Hibernate의 미리 빌드되어 있는 \"현"
+"재 세션\" 컨텍스트 관리이다:"
 
-#: index.docbook:438
+#. Tag: programlisting
+#: transactions.xml:438
+#, no-c-format
 msgid ""
-      "<![CDATA[// Non-managed environment idiom with getCurrentSession()\n"
-      "try {\n"
-      "    factory.getCurrentSession().beginTransaction();\n"
-      "\n"
-      "    // do some work\n"
-      "    ...\n"
-      "\n"
-      "    factory.getCurrentSession().getTransaction().commit();\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    factory.getCurrentSession().getTransaction().rollback();\n"
-      "    throw e; // or display error message\n"
-      "}]]>"
+"<![CDATA[// Non-managed environment idiom with getCurrentSession()\n"
+"try {\n"
+"    factory.getCurrentSession().beginTransaction();\n"
+"\n"
+"    // do some work\n"
+"    ...\n"
+"\n"
+"    factory.getCurrentSession().getTransaction().commit();\n"
+"}\n"
+"catch (RuntimeException e) {\n"
+"    factory.getCurrentSession().getTransaction().rollback();\n"
+"    throw e; // or display error message\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[// Non-managed environment idiom with getCurrentSession()\n"
-      "try {\n"
-      "    factory.getCurrentSession().beginTransaction();\n"
-      "\n"
-      "    // do some work\n"
-      "    ...\n"
-      "\n"
-      "    factory.getCurrentSession().getTransaction().commit();\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    factory.getCurrentSession().getTransaction().rollback();\n"
-      "    throw e; // or display error message\n"
-      "}]]>"
 
-#: index.docbook:440
-msgid "You will very likely never see these code snippets in a regular application; fatal (system) exceptions should always be caught at the \"top\". In other words, the code that executes Hibernate calls (in the persistence layer) and the code that handles <literal>RuntimeException</literal> (and usually can only clean up and exit) are in different layers. The current context management by Hibernate can significantly simplify this design, as all you need is access to a <literal>SessionFactory</literal>. Exception handling is discussed later in this chapter."
-msgstr "당신은 통상의 어플리케이션에서 비지니스 코드 속에 이 관용구를 결코 보지 않을 것이다; 치명적인(시스템) 예외상황들은 항상 \"상단\"에서 잡혀야 한다. 달리 말해, (영속 계층에서) Hibernate 호출들을 실행시키는 코드와 <literal>RuntimeException</literal>을 처리하(고 대개 오직 제거하고 빠져나갈 수 있는) 코드는 다른 계층들 속에 있다. Hibernate에 의한 현재 컨텍스트 관리는 이 설계를 현격하게 단순화시켜서, 당신이 필요로 하는 모든 것은 <literal>SessionFactory</literal>에 대한 접근이다.예외상황 처리는 이 장의 뒷부분에서 논의된다."
+#. Tag: para
+#: transactions.xml:440
+#, no-c-format
+msgid ""
+"You will very likely never see these code snippets in a regular application; "
+"fatal (system) exceptions should always be caught at the \"top\". In other "
+"words, the code that executes Hibernate calls (in the persistence layer) and "
+"the code that handles <literal>RuntimeException</literal> (and usually can "
+"only clean up and exit) are in different layers. The current context "
+"management by Hibernate can significantly simplify this design, as all you "
+"need is access to a <literal>SessionFactory</literal>. Exception handling is "
+"discussed later in this chapter."
+msgstr ""
+"당신은 통상의 어플리케이션에서 비지니스 코드 속에 이 관용구를 결코 보지 않을 "
+"것이다; 치명적인(시스템) 예외상황들은 항상 \"상단\"에서 잡혀야 한다. 달리 말"
+"해, (영속 계층에서) Hibernate 호출들을 실행시키는 코드와 "
+"<literal>RuntimeException</literal>을 처리하(고 대개 오직 제거하고 빠져나갈 "
+"수 있는) 코드는 다른 계층들 속에 있다. Hibernate에 의한 현재 컨텍스트 관리는 "
+"이 설계를 현격하게 단순화시켜서, 당신이 필요로 하는 모든 것은 "
+"<literal>SessionFactory</literal>에 대한 접근이다.예외상황 처리는 이 장의 뒷"
+"부분에서 논의된다."
 
-#: index.docbook:450
-msgid "Note that you should select <literal>org.hibernate.transaction.JDBCTransactionFactory</literal> (which is the default), and for the second example <literal>\"thread\"</literal> as your <literal>hibernate.current_session_context_class</literal>."
-msgstr "당신은 (디폴트인) <literal>org.hibernate.transaction.JDBCTransactionFactory</literal>를 선택해야 하고, 두번째 예제의 경우 당신의 <literal>hibernate.current_session_context_class</literal>를 선택해야 함을 노트하라."
+#. Tag: para
+#: transactions.xml:450
+#, no-c-format
+msgid ""
+"Note that you should select <literal>org.hibernate.transaction."
+"JDBCTransactionFactory</literal> (which is the default), and for the second "
+"example <literal>\"thread\"</literal> as your <literal>hibernate."
+"current_session_context_class</literal>."
+msgstr ""
+"당신은 (디폴트인) <literal>org.hibernate.transaction.JDBCTransactionFactory</"
+"literal>를 선택해야 하고, 두번째 예제의 경우 당신의 <literal>hibernate."
+"current_session_context_class</literal>를 선택해야 함을 노트하라."
 
-#: index.docbook:459
+#. Tag: title
+#: transactions.xml:459
+#, no-c-format
 msgid "Using JTA"
 msgstr "JTA 사용하기"
 
-#: index.docbook:461
-msgid "If your persistence layer runs in an application server (e.g. behind EJB session beans), every datasource connection obtained by Hibernate will automatically be part of the global JTA transaction. You can also install a standalone JTA implementation and use it without EJB. Hibernate offers two strategies for JTA integration."
-msgstr "만일 당신의 영속 계층이 어플리케이션 서버에서(예를 들어, EJB 세션 빈즈 이면에서) 실행될 경우, Hibernate에 의해 획득된 모든 데이터소스 커넥션은 자동적으로 전역 JTA 트랜잭션의 부분일 것이다. 당신은 또한 스탠드얼론 JTA 구현을 설치할 수 있고 EJB 없이 그것을 사용할 수 있다. Hibernate는 JTA 통합을 위한 두 개의 방도들을 제공한다."
+#. Tag: para
+#: transactions.xml:461
+#, no-c-format
+msgid ""
+"If your persistence layer runs in an application server (e.g. behind EJB "
+"session beans), every datasource connection obtained by Hibernate will "
+"automatically be part of the global JTA transaction. You can also install a "
+"standalone JTA implementation and use it without EJB. Hibernate offers two "
+"strategies for JTA integration."
+msgstr ""
+"만일 당신의 영속 계층이 어플리케이션 서버에서(예를 들어, EJB 세션 빈즈 이면에"
+"서) 실행될 경우, Hibernate에 의해 획득된 모든 데이터소스 커넥션은 자동적으로 "
+"전역 JTA 트랜잭션의 부분일 것이다. 당신은 또한 스탠드얼론 JTA 구현을 설치할 "
+"수 있고 EJB 없이 그것을 사용할 수 있다. Hibernate는 JTA 통합을 위한 두 개의 "
+"방도들을 제공한다."
 
-#: index.docbook:468
-msgid "If you use bean-managed transactions (BMT) Hibernate will tell the application server to start and end a BMT transaction if you use the <literal>Transaction</literal> API. So, the transaction management code is identical to the non-managed environment."
-msgstr "만일 당신이 bean-managed transactions(BMT)를 사용할 경우 Hibernate는 당신이 <literal>Transaction</literal> API를 사용할 경우에 BMT 트랜잭션을 시작하고 종료하도록 어플리케이션 서버에게 알려줄 것이다. 따라서 트랜잭션 관리 코드는 non-managed 환경과 동일하다."
+#. Tag: para
+#: transactions.xml:468
+#, no-c-format
+msgid ""
+"If you use bean-managed transactions (BMT) Hibernate will tell the "
+"application server to start and end a BMT transaction if you use the "
+"<literal>Transaction</literal> API. So, the transaction management code is "
+"identical to the non-managed environment."
+msgstr ""
+"만일 당신이 bean-managed transactions(BMT)를 사용할 경우 Hibernate는 당신이 "
+"<literal>Transaction</literal> API를 사용할 경우에 BMT 트랜잭션을 시작하고 종"
+"료하도록 어플리케이션 서버에게 알려줄 것이다. 따라서 트랜잭션 관리 코드는 "
+"non-managed 환경과 동일하다."
 
-#: index.docbook:474
+#. Tag: programlisting
+#: transactions.xml:474
+#, no-c-format
 msgid ""
-      "<![CDATA[// BMT idiom\n"
-      "Session sess = factory.openSession();\n"
-      "Transaction tx = null;\n"
-      "try {\n"
-      "    tx = sess.beginTransaction();\n"
-      "\n"
-      "    // do some work\n"
-      "    ...\n"
-      "\n"
-      "    tx.commit();\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    if (tx != null) tx.rollback();\n"
-      "    throw e; // or display error message\n"
-      "}\n"
-      "finally {\n"
-      "    sess.close();\n"
-      "}]]>"
+"<![CDATA[// BMT idiom\n"
+"Session sess = factory.openSession();\n"
+"Transaction tx = null;\n"
+"try {\n"
+"    tx = sess.beginTransaction();\n"
+"\n"
+"    // do some work\n"
+"    ...\n"
+"\n"
+"    tx.commit();\n"
+"}\n"
+"catch (RuntimeException e) {\n"
+"    if (tx != null) tx.rollback();\n"
+"    throw e; // or display error message\n"
+"}\n"
+"finally {\n"
+"    sess.close();\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[// BMT idiom\n"
-      "Session sess = factory.openSession();\n"
-      "Transaction tx = null;\n"
-      "try {\n"
-      "    tx = sess.beginTransaction();\n"
-      "\n"
-      "    // do some work\n"
-      "    ...\n"
-      "\n"
-      "    tx.commit();\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    if (tx != null) tx.rollback();\n"
-      "    throw e; // or display error message\n"
-      "}\n"
-      "finally {\n"
-      "    sess.close();\n"
-      "}]]>"
 
-#: index.docbook:476
-msgid "If you want to use a transaction-bound <literal>Session</literal>, that is, the <literal>getCurrentSession()</literal> functionality for easy context propagation, you will have to use the JTA <literal>UserTransaction</literal> API directly:"
-msgstr "만일 당신이 트랜잭션에 묶인 <literal>Session</literal>, 즉 쉬운 컨텍스트 보급을 위한 <literal>getCurrentSession()</literal> 기능을 사용하고자 원할 경우, 당신은 JTA <literal>UserTransaction</literal> API를 직접 사용해야 할 것이다:"
+#. Tag: para
+#: transactions.xml:476
+#, no-c-format
+msgid ""
+"If you want to use a transaction-bound <literal>Session</literal>, that is, "
+"the <literal>getCurrentSession()</literal> functionality for easy context "
+"propagation, you will have to use the JTA <literal>UserTransaction</literal> "
+"API directly:"
+msgstr ""
+"만일 당신이 트랜잭션에 묶인 <literal>Session</literal>, 즉 쉬운 컨텍스트 보급"
+"을 위한 <literal>getCurrentSession()</literal> 기능을 사용하고자 원할 경우, "
+"당신은 JTA <literal>UserTransaction</literal> API를 직접 사용해야 할 것이다:"
 
-#: index.docbook:482
+#. Tag: programlisting
+#: transactions.xml:482
+#, no-c-format
 msgid ""
-      "<![CDATA[// BMT idiom with getCurrentSession()\n"
-      "try {\n"
-      "    UserTransaction tx = (UserTransaction)new InitialContext()\n"
-      "                            .lookup(\"java:comp/UserTransaction\");\n"
-      "\n"
-      "    tx.begin();\n"
-      "\n"
-      "    // Do some work on Session bound to transaction\n"
-      "    factory.getCurrentSession().load(...);\n"
-      "    factory.getCurrentSession().persist(...);\n"
-      "\n"
-      "    tx.commit();\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    tx.rollback();\n"
-      "    throw e; // or display error message\n"
-      "}]]>"
+"<![CDATA[// BMT idiom with getCurrentSession()\n"
+"try {\n"
+"    UserTransaction tx = (UserTransaction)new InitialContext()\n"
+"                            .lookup(\"java:comp/UserTransaction\");\n"
+"\n"
+"    tx.begin();\n"
+"\n"
+"    // Do some work on Session bound to transaction\n"
+"    factory.getCurrentSession().load(...);\n"
+"    factory.getCurrentSession().persist(...);\n"
+"\n"
+"    tx.commit();\n"
+"}\n"
+"catch (RuntimeException e) {\n"
+"    tx.rollback();\n"
+"    throw e; // or display error message\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[// BMT idiom with getCurrentSession()\n"
-      "try {\n"
-      "    UserTransaction tx = (UserTransaction)new InitialContext()\n"
-      "                            .lookup(\"java:comp/UserTransaction\");\n"
-      "\n"
-      "    tx.begin();\n"
-      "\n"
-      "    // Do some work on Session bound to transaction\n"
-      "    factory.getCurrentSession().load(...);\n"
-      "    factory.getCurrentSession().persist(...);\n"
-      "\n"
-      "    tx.commit();\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    tx.rollback();\n"
-      "    throw e; // or display error message\n"
-      "}]]>"
 
-#: index.docbook:484
-msgid "With CMT, transaction demarcation is done in session bean deployment descriptors, not programatically, hence, the code is reduced to:"
-msgstr "CMT의 경우, 트랜잭션 관할[경계 설정]은 프로그램 상이 아닌, session bean 배치 디스크립터들 속에서 행해진다. 그러므로 코드는 다음으로 감소된다:"
+#. Tag: para
+#: transactions.xml:484
+#, no-c-format
+msgid ""
+"With CMT, transaction demarcation is done in session bean deployment "
+"descriptors, not programatically, hence, the code is reduced to:"
+msgstr ""
+"CMT의 경우, 트랜잭션 관할[경계 설정]은 프로그램 상이 아닌, session bean 배치 "
+"디스크립터들 속에서 행해진다. 그러므로 코드는 다음으로 감소된다:"
 
-#: index.docbook:489
+#. Tag: programlisting
+#: transactions.xml:489
+#, no-c-format
 msgid ""
-      "<![CDATA[// CMT idiom\n"
-      " Session sess = factory.getCurrentSession();\n"
-      "\n"
-      " // do some work\n"
-      " ...\n"
-      "]]>"
+"<![CDATA[// CMT idiom\n"
+" Session sess = factory.getCurrentSession();\n"
+"\n"
+" // do some work\n"
+" ...\n"
+"]]>"
 msgstr ""
-      "<![CDATA[// CMT idiom\n"
-      " Session sess = factory.getCurrentSession();\n"
-      "\n"
-      " // do some work\n"
-      " ...\n"
-      "]]>"
 
-#: index.docbook:491
-msgid "In a CMT/EJB even rollback happens automatically, since an unhandled <literal>RuntimeException</literal> thrown by a session bean method tells the container to set the global transaction to rollback. <emphasis>This means you do not need to use the Hibernate <literal>Transaction</literal> API at all with BMT or CMT, and you get automatic propagation of the \"current\" Session bound to the transaction.</emphasis>"
-msgstr "왜냐하면 하나의 세션 빈 메소드에 의해 던져진 처리되지 않은 <literal>RuntimeException</literal>이 글로벌 트랜잭션을 rollback으로 설정하도록 컨테이너에게 알려주기 때문에, CMT/EJB에서조차 롤백은 자동적으로 발생된다. <emphasis>이것은 당신이 BMT 이든 CMT이든 모두에서 Hibernate <literal>Transaction</literal> API를 사용할 필요가 없으며, 당신은 그 트랜잭션에 묶인 \"현재\" Session의 자동적인 보급(propagation)을 얻게 됨을 의미한다.</emphasis>"
+#. Tag: para
+#: transactions.xml:491
+#, no-c-format
+msgid ""
+"In a CMT/EJB even rollback happens automatically, since an unhandled "
+"<literal>RuntimeException</literal> thrown by a session bean method tells "
+"the container to set the global transaction to rollback. <emphasis>This "
+"means you do not need to use the Hibernate <literal>Transaction</literal> "
+"API at all with BMT or CMT, and you get automatic propagation of the "
+"\"current\" Session bound to the transaction.</emphasis>"
+msgstr ""
+"왜냐하면 하나의 세션 빈 메소드에 의해 던져진 처리되지 않은 "
+"<literal>RuntimeException</literal>이 글로벌 트랜잭션을 rollback으로 설정하도"
+"록 컨테이너에게 알려주기 때문에, CMT/EJB에서조차 롤백은 자동적으로 발생된다. "
+"<emphasis>이것은 당신이 BMT 이든 CMT이든 모두에서 Hibernate "
+"<literal>Transaction</literal> API를 사용할 필요가 없으며, 당신은 그 트랜잭션"
+"에 묶인 \"현재\" Session의 자동적인 보급(propagation)을 얻게 됨을 의미한다.</"
+"emphasis>"
 
-#: index.docbook:499
-msgid "Note that you should choose <literal>org.hibernate.transaction.JTATransactionFactory</literal> if you use JTA directly (BMT), and <literal>org.hibernate.transaction.CMTTransactionFactory</literal> in a CMT session bean, when you configure Hibernate's transaction factory. Remember to also set <literal>hibernate.transaction.manager_lookup_class</literal>. Furthermore, make sure that your <literal>hibernate.current_session_context_class</literal> is either unset (backwards compatiblity), or set to <literal>\"jta\"</literal>."
-msgstr "당신이 Hibernate의 트랜잭션 팩토리를 구성할 때, 당신이 JTA를 직접 사용할 경우(BMT) 당신은 <literal>org.hibernate.transaction.JTATransactionFactory</literal>를 선택해야하고, CMT session bean에서는 <literal>org.hibernate.transaction.CMTTransactionFactory</literal>를 선택해야 함을 노트하라. 또한 <literal>org.hibernate.transaction.manager_lookup_class</literal>를 설정하는 것을 염두에 두라. 게다가 반드시 당신의 <literal>hibernate.current_session_context_class</literal>이 설정되지 않도록 하거나(역호환성), 또는 <literal>\"jta\"</literal>로 설정되도록 하라."
+#. Tag: para
+#: transactions.xml:499
+#, no-c-format
+msgid ""
+"Note that you should choose <literal>org.hibernate.transaction."
+"JTATransactionFactory</literal> if you use JTA directly (BMT), and "
+"<literal>org.hibernate.transaction.CMTTransactionFactory</literal> in a CMT "
+"session bean, when you configure Hibernate's transaction factory. Remember "
+"to also set <literal>hibernate.transaction.manager_lookup_class</literal>. "
+"Furthermore, make sure that your <literal>hibernate."
+"current_session_context_class</literal> is either unset (backwards "
+"compatiblity), or set to <literal>\"jta\"</literal>."
+msgstr ""
+"당신이 Hibernate의 트랜잭션 팩토리를 구성할 때, 당신이 JTA를 직접 사용할 경우"
+"(BMT) 당신은 <literal>org.hibernate.transaction.JTATransactionFactory</"
+"literal>를 선택해야하고, CMT session bean에서는 <literal>org.hibernate."
+"transaction.CMTTransactionFactory</literal>를 선택해야 함을 노트하라. 또한 "
+"<literal>org.hibernate.transaction.manager_lookup_class</literal>를 설정하는 "
+"것을 염두에 두라. 게다가 반드시 당신의 <literal>hibernate."
+"current_session_context_class</literal>이 설정되지 않도록 하거나(역호환성), "
+"또는 <literal>\"jta\"</literal>로 설정되도록 하라."
 
-#: index.docbook:508
-msgid "The <literal>getCurrentSession()</literal> operation has one downside in a JTA environment. There is one caveat to the use of <literal>after_statement</literal> connection release mode, which is then used by default. Due to a silly limitation of the JTA spec, it is not possible for Hibernate to automatically clean up any unclosed <literal>ScrollableResults</literal> or <literal>Iterator</literal> instances returned by <literal>scroll()</literal> or <literal>iterate()</literal>. You <emphasis>must</emphasis> release the underlying database cursor by calling <literal>ScrollableResults.close()</literal> or <literal>Hibernate.close(Iterator)</literal> explicity from a <literal>finally</literal> block. (Of course, most applications can easily avoid using <literal>scroll()</literal> or <literal>iterate()</literal> at all from the JTA or CMT code.)"
-msgstr "<literal>getCurrentSession()</literal> 오퍼레이션들은 JTA 환경에서 한 가지 단점을 갖고 있다. 디폴트로 사용되는, <literal>after_statement</literal> 커넥션 해제 모드 사용에 대한 하나의 보류 통보가 존재한다. JTA 명세서의 어리석은 제한으로 인해, Hibernate가 <literal>scroll()</literal> 또는 <literal>iterate()</literal>에 의해 반환되는 임의의 닫혀지지 않은 <literal>ScrollableResults</literal> 또는 <literal>Iterator</literal> 인스턴스들을 자동적으로 제거하는 것이 불가능하다. 당신은 <literal>finally</literal> 블록 내에서 명시적으로 <literal>ScrollableResults.close()</literal> 또는 <literal>Hibernate.close(Iterator)</literal>를 호출하여 기본 데이터베이스 커서를 해제<emphasis>시켜야 한다</emphasis>.(물론 대부분의 어플리케이션들은 JTA 또는 CMT 코드에서 <literal>scroll()</literal>이나 <literal>iterate()</litera!
 l>를 사용하는 것을 쉽게 피할 수 있다.)"
+#. Tag: para
+#: transactions.xml:508
+#, no-c-format
+msgid ""
+"The <literal>getCurrentSession()</literal> operation has one downside in a "
+"JTA environment. There is one caveat to the use of <literal>after_statement</"
+"literal> connection release mode, which is then used by default. Due to a "
+"silly limitation of the JTA spec, it is not possible for Hibernate to "
+"automatically clean up any unclosed <literal>ScrollableResults</literal> or "
+"<literal>Iterator</literal> instances returned by <literal>scroll()</"
+"literal> or <literal>iterate()</literal>. You <emphasis>must</emphasis> "
+"release the underlying database cursor by calling <literal>ScrollableResults."
+"close()</literal> or <literal>Hibernate.close(Iterator)</literal> explicity "
+"from a <literal>finally</literal> block. (Of course, most applications can "
+"easily avoid using <literal>scroll()</literal> or <literal>iterate()</"
+"literal> at all from the JTA or CMT code.)"
+msgstr ""
+"<literal>getCurrentSession()</literal> 오퍼레이션들은 JTA 환경에서 한 가지 단"
+"점을 갖고 있다. 디폴트로 사용되는, <literal>after_statement</literal> 커넥션 "
+"해제 모드 사용에 대한 하나의 보류 통보가 존재한다. JTA 명세서의 어리석은 제한"
+"으로 인해, Hibernate가 <literal>scroll()</literal> 또는 <literal>iterate()</"
+"literal>에 의해 반환되는 임의의 닫혀지지 않은 <literal>ScrollableResults</"
+"literal> 또는 <literal>Iterator</literal> 인스턴스들을 자동적으로 제거하는 것"
+"이 불가능하다. 당신은 <literal>finally</literal> 블록 내에서 명시적으로 "
+"<literal>ScrollableResults.close()</literal> 또는 <literal>Hibernate.close"
+"(Iterator)</literal>를 호출하여 기본 데이터베이스 커서를 해제<emphasis>시켜"
+"야 한다</emphasis>.(물론 대부분의 어플리케이션들은 JTA 또는 CMT 코드에서 "
+"<literal>scroll()</literal>이나 <literal>iterate()</literal>를 사용하는 것을 "
+"쉽게 피할 수 있다.)"
 
-#: index.docbook:524
+#. Tag: title
+#: transactions.xml:524
+#, no-c-format
 msgid "Exception handling"
 msgstr "예외상황 처리"
 
-#: index.docbook:526
-msgid "If the <literal>Session</literal> throws an exception (including any <literal>SQLException</literal>), you should immediately rollback the database transaction, call <literal>Session.close()</literal> and discard the <literal>Session</literal> instance. Certain methods of <literal>Session</literal> will <emphasis>not</emphasis> leave the session in a consistent state. No exception thrown by Hibernate can be treated as recoverable. Ensure that the <literal>Session</literal> will be closed by calling <literal>close()</literal> in a <literal>finally</literal> block."
-msgstr "만일<literal>Session</literal>이 (어떤 <literal>SQLException</literal>을 포함하는) 예외상황을 던질 경우, 당신은 데이터베이스 트랜잭션을 즉시 롤백시키고, <literal>Session.close()</literal>를 호출하고 <literal>Session</literal> 인스턴스를 폐기시켜야한다. <literal>Session</literal>의 어떤 메소드들은 그 세션을 일관된 상태로 남겨두지 <emphasis>않을</emphasis> 것이다. Hibernate에 의해 던져진 예외상황은 복구가능한 것으로 취급될 수 없다. 그 <literal>Session</literal>이 <literal>finally</literal> 블록 내에서 <literal>close()</literal>를 호출하여 닫혀지도록 확실히 하라."
+#. Tag: para
+#: transactions.xml:526
+#, no-c-format
+msgid ""
+"If the <literal>Session</literal> throws an exception (including any "
+"<literal>SQLException</literal>), you should immediately rollback the "
+"database transaction, call <literal>Session.close()</literal> and discard "
+"the <literal>Session</literal> instance. Certain methods of "
+"<literal>Session</literal> will <emphasis>not</emphasis> leave the session "
+"in a consistent state. No exception thrown by Hibernate can be treated as "
+"recoverable. Ensure that the <literal>Session</literal> will be closed by "
+"calling <literal>close()</literal> in a <literal>finally</literal> block."
+msgstr ""
+"만일<literal>Session</literal>이 (어떤 <literal>SQLException</literal>을 포함"
+"하는) 예외상황을 던질 경우, 당신은 데이터베이스 트랜잭션을 즉시 롤백시키고, "
+"<literal>Session.close()</literal>를 호출하고 <literal>Session</literal> 인스"
+"턴스를 폐기시켜야한다. <literal>Session</literal>의 어떤 메소드들은 그 세션"
+"을 일관된 상태로 남겨두지 <emphasis>않을</emphasis> 것이다. Hibernate에 의해 "
+"던져진 예외상황은 복구가능한 것으로 취급될 수 없다. 그 <literal>Session</"
+"literal>이 <literal>finally</literal> 블록 내에서 <literal>close()</literal>"
+"를 호출하여 닫혀지도록 확실히 하라."
 
-#: index.docbook:537
-msgid "The <literal>HibernateException</literal>, which wraps most of the errors that can occur in a Hibernate persistence layer, is an unchecked exception (it wasn't in older versions of Hibernate). In our opinion, we shouldn't force the application developer to catch an unrecoverable exception at a low layer. In most systems, unchecked and fatal exceptions are handled in one of the first frames of the method call stack (i.e. in higher layers) and an error message is presented to the application user (or some other appropriate action is taken). Note that Hibernate might also throw other unchecked exceptions which are not a <literal>HibernateException</literal>. These are, again, not recoverable and appropriate action should be taken."
-msgstr "Hibernate 영속 계층에서 발생할 수 있는 대부분의 오류들을 포장하는, <literal>HibernateException</literal>은 체크되지 않은 예외상황이다(그것은 Hibernate의 이전 버전에는 없었다). 우리의 의견으로, 우리는 낮은 계층에서 복구불가능한 예외상황을 붙잡도록 어플리케이션 개발자에게 강제하지 않을 것이다. 대부분의 시스템들에서, 체크되지 않은 치명적인 예외상황들은 (예를 들어, 더 높은 계층에서) 메소드 호출 스택의 첫 번째 프레임들 중 하나 속에서 처리되고, 한 개의 오류 메시지가 어플리케이션 사용자에게 표시된다(또는 어떤 다른 적절한 액션이 취해진다). Hibernate는 또한 <literal>HibernateException</literal>이 아닌, 다른 체크되지 않은 예외상황들을 던질 수도 있음을 노트하라. 다시 이것들은 복구가능하지 않고 적절한 액션이 취해져야 한다."
+#. Tag: para
+#: transactions.xml:537
+#, no-c-format
+msgid ""
+"The <literal>HibernateException</literal>, which wraps most of the errors "
+"that can occur in a Hibernate persistence layer, is an unchecked exception "
+"(it wasn't in older versions of Hibernate). In our opinion, we shouldn't "
+"force the application developer to catch an unrecoverable exception at a low "
+"layer. In most systems, unchecked and fatal exceptions are handled in one of "
+"the first frames of the method call stack (i.e. in higher layers) and an "
+"error message is presented to the application user (or some other "
+"appropriate action is taken). Note that Hibernate might also throw other "
+"unchecked exceptions which are not a <literal>HibernateException</literal>. "
+"These are, again, not recoverable and appropriate action should be taken."
+msgstr ""
+"Hibernate 영속 계층에서 발생할 수 있는 대부분의 오류들을 포장하는, "
+"<literal>HibernateException</literal>은 체크되지 않은 예외상황이다(그것은 "
+"Hibernate의 이전 버전에는 없었다). 우리의 의견으로, 우리는 낮은 계층에서 복구"
+"불가능한 예외상황을 붙잡도록 어플리케이션 개발자에게 강제하지 않을 것이다. 대"
+"부분의 시스템들에서, 체크되지 않은 치명적인 예외상황들은 (예를 들어, 더 높은 "
+"계층에서) 메소드 호출 스택의 첫 번째 프레임들 중 하나 속에서 처리되고, 한 개"
+"의 오류 메시지가 어플리케이션 사용자에게 표시된다(또는 어떤 다른 적절한 액션"
+"이 취해진다). Hibernate는 또한 <literal>HibernateException</literal>이 아닌, "
+"다른 체크되지 않은 예외상황들을 던질 수도 있음을 노트하라. 다시 이것들은 복구"
+"가능하지 않고 적절한 액션이 취해져야 한다."
 
-#: index.docbook:549
-msgid "Hibernate wraps <literal>SQLException</literal>s thrown while interacting with the database in a <literal>JDBCException</literal>. In fact, Hibernate will attempt to convert the eexception into a more meningful subclass of <literal>JDBCException</literal>. The underlying <literal>SQLException</literal> is always available via <literal>JDBCException.getCause()</literal>. Hibernate converts the <literal>SQLException</literal> into an appropriate <literal>JDBCException</literal> subclass using the <literal>SQLExceptionConverter</literal> attached to the <literal>SessionFactory</literal>. By default, the <literal>SQLExceptionConverter</literal> is defined by the configured dialect; however, it is also possible to plug in a custom implementation (see the javadocs for the <literal>SQLExceptionConverterFactory</literal> class for details). The standard <literal>JDBCException</literal> subtypes are:"
-msgstr "Hibernate는 데이터베이스와 상호작용하는 동안에 던져진 <literal>SQLException</literal>들을 하나의 <literal>JDBCException</literal> 속에 포장한다. 사실, Hibernate는 ê·¸ 예외상황을 <literal>JDBCException</literal>의 보다 의미있는 서브클래스로 변환하려고 시도할 것이다. 기본 <literal>SQLException</literal>은 <literal>JDBCException.getCause()</literal>를 통해 항상 이용 가능하다. Hibernate는<literal>SessionFactory</literal>에 첨부된 <literal>SQLExceptionConverter</literal>를 사용하여 <literal>SQLException</literal>을 적당한 하나의 <literal>JDBCException</literal> 서브클래스로 변환시킨다. 디폴트로 <literal>SQLExceptionConverter</literal>는 구성된 dialect에 의해 정의된다; 하지만 맞춤 구현 속에 플러그인 시키는 것이 또한 가능하다(상세한 것은 <literal>SQLExceptionConverterFactory</literal> 클래스에 관한 javadocs를 보라). í!
 ‘œì¤€ <literal>JDBCException</literal> 서브타입은 다음과 같다:"
+#. Tag: para
+#: transactions.xml:549
+#, no-c-format
+msgid ""
+"Hibernate wraps <literal>SQLException</literal>s thrown while interacting "
+"with the database in a <literal>JDBCException</literal>. In fact, Hibernate "
+"will attempt to convert the eexception into a more meningful subclass of "
+"<literal>JDBCException</literal>. The underlying <literal>SQLException</"
+"literal> is always available via <literal>JDBCException.getCause()</"
+"literal>. Hibernate converts the <literal>SQLException</literal> into an "
+"appropriate <literal>JDBCException</literal> subclass using the "
+"<literal>SQLExceptionConverter</literal> attached to the "
+"<literal>SessionFactory</literal>. By default, the "
+"<literal>SQLExceptionConverter</literal> is defined by the configured "
+"dialect; however, it is also possible to plug in a custom implementation "
+"(see the javadocs for the <literal>SQLExceptionConverterFactory</literal> "
+"class for details). The standard <literal>JDBCException</literal> subtypes "
+"are:"
+msgstr ""
+"Hibernate는 데이터베이스와 상호작용하는 동안에 던져진 <literal>SQLException</"
+"literal>들을 하나의 <literal>JDBCException</literal> 속에 포장한다. 사실, "
+"Hibernate는 그 예외상황을 <literal>JDBCException</literal>의 보다 의미있는 서"
+"브클래스로 변환하려고 시도할 것이다. 기본 <literal>SQLException</literal>은 "
+"<literal>JDBCException.getCause()</literal>를 통해 항상 이용 가능하다. "
+"Hibernate는<literal>SessionFactory</literal>에 첨부된 "
+"<literal>SQLExceptionConverter</literal>를 사용하여 <literal>SQLException</"
+"literal>을 적당한 하나의 <literal>JDBCException</literal> 서브클래스로 변환시"
+"킨다. 디폴트로 <literal>SQLExceptionConverter</literal>는 구성된 dialect에 의"
+"해 정의된다; 하지만 맞춤 구현 속에 플러그인 시키는 것이 또한 가능하다(상세한 "
+"것은 <literal>SQLExceptionConverterFactory</literal> 클래스에 관한 javadocs"
+"를 보라). 표준 <literal>JDBCException</literal> 서브타입은 다음과 같다:"
 
-#: index.docbook:565
-msgid "<literal>JDBCConnectionException</literal> - indicates an error with the underlying JDBC communication."
-msgstr "<literal>JDBCConnectionException</literal> - 기본 JDBC 통신에 대한 오류를 나타낸다."
+#. Tag: para
+#: transactions.xml:565
+#, no-c-format
+msgid ""
+"<literal>JDBCConnectionException</literal> - indicates an error with the "
+"underlying JDBC communication."
+msgstr ""
+"<literal>JDBCConnectionException</literal> - 기본 JDBC 통신에 대한 오류를 나"
+"타낸다."
 
-#: index.docbook:571
-msgid "<literal>SQLGrammarException</literal> - indicates a grammar or syntax problem with the issued SQL."
-msgstr "<literal>SQLGrammarException</literal> - 생겨난 SQL에 대한 문법 또는 구문 문제점을 나타낸다."
+#. Tag: para
+#: transactions.xml:571
+#, no-c-format
+msgid ""
+"<literal>SQLGrammarException</literal> - indicates a grammar or syntax "
+"problem with the issued SQL."
+msgstr ""
+"<literal>SQLGrammarException</literal> - 생겨난 SQL에 대한 문법 또는 구문 문"
+"제점을 나타낸다."
 
-#: index.docbook:577
-msgid "<literal>ConstraintViolationException</literal> - indicates some form of integrity constraint violation."
-msgstr "<literal>ConstraintViolationException</literal> - 무결성 제약 위반에 관한 어떤 형식을 나타낸다."
+#. Tag: para
+#: transactions.xml:577
+#, no-c-format
+msgid ""
+"<literal>ConstraintViolationException</literal> - indicates some form of "
+"integrity constraint violation."
+msgstr ""
+"<literal>ConstraintViolationException</literal> - 무결성 제약 위반에 관한 어"
+"떤 형식을 나타낸다."
 
-#: index.docbook:583
-msgid "<literal>LockAcquisitionException</literal> - indicates an error acquiring a lock level necessary to perform the requested operation."
-msgstr "<literal>LockAcquisitionException</literal> - 요청된 오퍼레이션을 실행하는데 필수적인 잠금 레벨을 획득하는 오류를 나타낸다."
+#. Tag: para
+#: transactions.xml:583
+#, no-c-format
+msgid ""
+"<literal>LockAcquisitionException</literal> - indicates an error acquiring a "
+"lock level necessary to perform the requested operation."
+msgstr ""
+"<literal>LockAcquisitionException</literal> - 요청된 오퍼레이션을 실행하는데 "
+"필수적인 잠금 레벨을 획득하는 오류를 나타낸다."
 
-#: index.docbook:589
-msgid "<literal>GenericJDBCException</literal> - a generic exception which did not fall into any of the other categories."
-msgstr "<literal>GenericJDBCException</literal> - 다른 카테고리들 중 어떤 것으로 분류되지 않았던 일반적인 예외상황."
+#. Tag: para
+#: transactions.xml:589
+#, no-c-format
+msgid ""
+"<literal>GenericJDBCException</literal> - a generic exception which did not "
+"fall into any of the other categories."
+msgstr ""
+"<literal>GenericJDBCException</literal> - 다른 카테고리들 중 어떤 것으로 분류"
+"되지 않았던 일반적인 예외상황."
 
-#: index.docbook:599
+#. Tag: title
+#: transactions.xml:599
+#, no-c-format
 msgid "Transaction timeout"
 msgstr "트랜잭션 타임아웃"
 
-#: index.docbook:601
-msgid "One extremely important feature provided by a managed environment like EJB that is never provided for non-managed code is transaction timeout. Transaction timeouts ensure that no misbehaving transaction can indefinitely tie up resources while returning no response to the user. Outside a managed (JTA) environment, Hibernate cannot fully provide this functionality. However, Hibernate can at least control data access operations, ensuring that database level deadlocks and queries with huge result sets are limited by a defined timeout. In a managed environment, Hibernate can delegate transaction timeout to JTA. This functioanlity is abstracted by the Hibernate <literal>Transaction</literal> object."
-msgstr "관리되지 않는 코드에 대해서는 결코 제공되지 않는 EJB와 같이 관리되는 환경에 의해 제공되는 한 가지 극히 중요한 특징은 트랜잭션 타임아웃이다. 트랜잭션 타임아웃은 사용자에게 응답을 반환하지 않는 동안에 무례한 행동을 행하는 트랜잭션이 자원들을 무한정 묶어둘 수 없음을 보증해준다. 관리되는 (JTA) 환경 외부에서, Hibernate는 이 기능을 온전하게 제공할 수 없다. 하지만 Hibernate는 데이터베이스 레벨 데드락들과 거대한 결과 셋들을 가진 질의들이 정의된 타임아웃에 의해 제약되는 것을 보장함으로써 최소한 데이터 접근 오퍼레이션들을 제어할 수 있다. 관리되는 환경에서, Hibernate는 트랜잭션 타임아웃을 JTA에게 위임시킬 수 있다. 이 기능은 Hibernate <literal>Transaction</literal> 객체에 의해 추상화 된다."
+#. Tag: para
+#: transactions.xml:601
+#, no-c-format
+msgid ""
+"One extremely important feature provided by a managed environment like EJB "
+"that is never provided for non-managed code is transaction timeout. "
+"Transaction timeouts ensure that no misbehaving transaction can indefinitely "
+"tie up resources while returning no response to the user. Outside a managed "
+"(JTA) environment, Hibernate cannot fully provide this functionality. "
+"However, Hibernate can at least control data access operations, ensuring "
+"that database level deadlocks and queries with huge result sets are limited "
+"by a defined timeout. In a managed environment, Hibernate can delegate "
+"transaction timeout to JTA. This functioanlity is abstracted by the "
+"Hibernate <literal>Transaction</literal> object."
+msgstr ""
+"관리되지 않는 코드에 대해서는 결코 제공되지 않는 EJB와 같이 관리되는 환경에 "
+"의해 제공되는 한 가지 극히 중요한 특징은 트랜잭션 타임아웃이다. 트랜잭션 타임"
+"아웃은 사용자에게 응답을 반환하지 않는 동안에 무례한 행동을 행하는 트랜잭션"
+"이 자원들을 무한정 묶어둘 수 없음을 보증해준다. 관리되는 (JTA) 환경 외부에"
+"서, Hibernate는 이 기능을 온전하게 제공할 수 없다. 하지만 Hibernate는 데이터"
+"베이스 레벨 데드락들과 거대한 결과 셋들을 가진 질의들이 정의된 타임아웃에 의"
+"해 제약되는 것을 보장함으로써 최소한 데이터 접근 오퍼레이션들을 제어할 수 있"
+"다. 관리되는 환경에서, Hibernate는 트랜잭션 타임아웃을 JTA에게 위임시킬 수 있"
+"다. 이 기능은 Hibernate <literal>Transaction</literal> 객체에 의해 추상화 된"
+"다."
 
-#: index.docbook:614
+#. Tag: programlisting
+#: transactions.xml:614
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "Session sess = factory.openSession();\n"
-      "try {\n"
-      "    //set transaction timeout to 3 seconds\n"
-      "    sess.getTransaction().setTimeout(3);\n"
-      "    sess.getTransaction().begin();\n"
-      "\n"
-      "    // do some work\n"
-      "    ...\n"
-      "\n"
-      "    sess.getTransaction().commit()\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    sess.getTransaction().rollback();\n"
-      "    throw e; // or display error message\n"
-      "}\n"
-      "finally {\n"
-      "    sess.close();\n"
-      "}]]>"
+"<![CDATA[\n"
+"Session sess = factory.openSession();\n"
+"try {\n"
+"    //set transaction timeout to 3 seconds\n"
+"    sess.getTransaction().setTimeout(3);\n"
+"    sess.getTransaction().begin();\n"
+"\n"
+"    // do some work\n"
+"    ...\n"
+"\n"
+"    sess.getTransaction().commit()\n"
+"}\n"
+"catch (RuntimeException e) {\n"
+"    sess.getTransaction().rollback();\n"
+"    throw e; // or display error message\n"
+"}\n"
+"finally {\n"
+"    sess.close();\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "Session sess = factory.openSession();\n"
-      "try {\n"
-      "    //set transaction timeout to 3 seconds\n"
-      "    sess.getTransaction().setTimeout(3);\n"
-      "    sess.getTransaction().begin();\n"
-      "\n"
-      "    // do some work\n"
-      "    ...\n"
-      "\n"
-      "    sess.getTransaction().commit()\n"
-      "}\n"
-      "catch (RuntimeException e) {\n"
-      "    sess.getTransaction().rollback();\n"
-      "    throw e; // or display error message\n"
-      "}\n"
-      "finally {\n"
-      "    sess.close();\n"
-      "}]]>"
 
-#: index.docbook:616
-msgid "Note that <literal>setTimeout()</literal> may not be called in a CMT bean, where transaction timeouts must be defined declaratively."
-msgstr "<literal>setTimeout()</literal>은 CMT bean 내에서 호출도리 수 없음을 노트하라. 여기서 트랜잭션 타임아웃들은 선언적으로 정의되어야 한다."
+#. Tag: para
+#: transactions.xml:616
+#, no-c-format
+msgid ""
+"Note that <literal>setTimeout()</literal> may not be called in a CMT bean, "
+"where transaction timeouts must be defined declaratively."
+msgstr ""
+"<literal>setTimeout()</literal>은 CMT bean 내에서 호출도리 수 없음을 노트하"
+"라. 여기서 트랜잭션 타임아웃들은 선언적으로 정의되어야 한다."
 
-#: index.docbook:626
+#. Tag: title
+#: transactions.xml:626
+#, no-c-format
 msgid "Optimistic concurrency control"
 msgstr "Optimistic 동시성 제어"
 
-#: index.docbook:628
-msgid "The only approach that is consistent with high concurrency and high scalability is optimistic concurrency control with versioning. Version checking uses version numbers, or timestamps, to detect conflicting updates (and to prevent lost updates). Hibernate provides for three possible approaches to writing application code that uses optimistic concurrency. The use cases we show are in the context of long conversations, but version checking also has the benefit of preventing lost updates in single database transactions."
-msgstr "고도의 동시성과 고도의 가용성을 일치시키는 유일한 접근법은 버전화를 가진 optimistic동시성 제어이다. 버전 체킹은 업데이트 충돌을 검출하기 위해(그리고 업데이트 손실을 방지하기 위해) 버전 번호들 또는 timestamp들을 사용한다. Hibernate는 optimistic 동시성을 사용하는 어플리케이션 코드 작성에 세 가지 가능한 접근법들을 제공한다. 우리가 보여주는 쓰임새들은 장시간의 대화의 상황 속에 있지만, 버전 체킹 또한 단일 데이터베이스 트랜잭션들에서 업데이트 손실을 방지하는 이점을 갖고 있다."
+#. Tag: para
+#: transactions.xml:628
+#, no-c-format
+msgid ""
+"The only approach that is consistent with high concurrency and high "
+"scalability is optimistic concurrency control with versioning. Version "
+"checking uses version numbers, or timestamps, to detect conflicting updates "
+"(and to prevent lost updates). Hibernate provides for three possible "
+"approaches to writing application code that uses optimistic concurrency. The "
+"use cases we show are in the context of long conversations, but version "
+"checking also has the benefit of preventing lost updates in single database "
+"transactions."
+msgstr ""
+"고도의 동시성과 고도의 가용성을 일치시키는 유일한 접근법은 버전화를 가진 "
+"optimistic동시성 제어이다. 버전 체킹은 업데이트 충돌을 검출하기 위해(그리고 "
+"업데이트 손실을 방지하기 위해) 버전 번호들 또는 timestamp들을 사용한다. "
+"Hibernate는 optimistic 동시성을 사용하는 어플리케이션 코드 작성에 세 가지 가"
+"능한 접근법들을 제공한다. 우리가 보여주는 쓰임새들은 장시간의 대화의 상황 속"
+"에 있지만, 버전 체킹 또한 단일 데이터베이스 트랜잭션들에서 업데이트 손실을 방"
+"지하는 이점을 갖고 있다."
 
-#: index.docbook:639
+#. Tag: title
+#: transactions.xml:639
+#, no-c-format
 msgid "Application version checking"
 msgstr "어플리케이션 버전 체킹"
 
-#: index.docbook:641
-msgid "In an implementation without much help from Hibernate, each interaction with the database occurs in a new <literal>Session</literal> and the developer is responsible for reloading all persistent instances from the database before manipulating them. This approach forces the application to carry out its own version checking to ensure conversation transaction isolation. This approach is the least efficient in terms of database access. It is the approach most similar to entity EJBs."
-msgstr "하나의 구현에서 Hibernate로부터 많은 도움이 없이, 데이터베이스에 대한 각각의 상호작용은 새로운 <literal>Session</literal> 내에서 일어나고, 개발자는 영속 인스턴스들을 처리하기 전에 데이터베이스로부터 모든 영속 인스턴스들을 다시 로드시킬 책임이 있다. 이 접근법은 대화 트랜잭션을 확실히 격리시키기 위해 그것 자신의 버전 체킹을 수행하도록 어플리케이션에게 강제시킨다."
+#. Tag: para
+#: transactions.xml:641
+#, no-c-format
+msgid ""
+"In an implementation without much help from Hibernate, each interaction with "
+"the database occurs in a new <literal>Session</literal> and the developer is "
+"responsible for reloading all persistent instances from the database before "
+"manipulating them. This approach forces the application to carry out its own "
+"version checking to ensure conversation transaction isolation. This approach "
+"is the least efficient in terms of database access. It is the approach most "
+"similar to entity EJBs."
+msgstr ""
+"하나의 구현에서 Hibernate로부터 많은 도움이 없이, 데이터베이스에 대한 각각의 "
+"상호작용은 새로운 <literal>Session</literal> 내에서 일어나고, 개발자는 영속 "
+"인스턴스들을 처리하기 전에 데이터베이스로부터 모든 영속 인스턴스들을 다시 로"
+"드시킬 책임이 있다. 이 접근법은 대화 트랜잭션을 확실히 격리시키기 위해 그것 "
+"자신의 버전 체킹을 수행하도록 어플리케이션에게 강제시킨다."
 
-#: index.docbook:650
+#. Tag: programlisting
+#: transactions.xml:650
+#, no-c-format
 msgid ""
-      "<![CDATA[// foo is an instance loaded by a previous Session\n"
-      "session = factory.openSession();\n"
-      "Transaction t = session.beginTransaction();\n"
-      "\n"
-      "int oldVersion = foo.getVersion();\n"
-      "session.load( foo, foo.getKey() ); // load the current state\n"
-      "if ( oldVersion != foo.getVersion() ) throw new StaleObjectStateException();\n"
-      "foo.setProperty(\"bar\");\n"
-      "\n"
-      "t.commit();\n"
-      "session.close();]]>"
+"<![CDATA[// foo is an instance loaded by a previous Session\n"
+"session = factory.openSession();\n"
+"Transaction t = session.beginTransaction();\n"
+"\n"
+"int oldVersion = foo.getVersion();\n"
+"session.load( foo, foo.getKey() ); // load the current state\n"
+"if ( oldVersion != foo.getVersion() ) throw new StaleObjectStateException"
+"();\n"
+"foo.setProperty(\"bar\");\n"
+"\n"
+"t.commit();\n"
+"session.close();]]>"
 msgstr ""
-      "<![CDATA[// foo is an instance loaded by a previous Session\n"
-      "session = factory.openSession();\n"
-      "Transaction t = session.beginTransaction();\n"
-      "\n"
-      "int oldVersion = foo.getVersion();\n"
-      "session.load( foo, foo.getKey() ); // load the current state\n"
-      "if ( oldVersion != foo.getVersion() ) throw new StaleObjectStateException();\n"
-      "foo.setProperty(\"bar\");\n"
-      "\n"
-      "t.commit();\n"
-      "session.close();]]>"
 
-#: index.docbook:652
-msgid "The <literal>version</literal> property is mapped using <literal>&lt;version&gt;</literal>, and Hibernate will automatically increment it during flush if the entity is dirty."
-msgstr "version 프로퍼티는 <literal>&lt;version&gt;</literal>을 사용하여 매핑되고, Hibernate는 만일 엔티티가 dirty일 경우 flush 동안에 그것을 자동적으로 증가시킬 것이다."
+#. Tag: para
+#: transactions.xml:652
+#, no-c-format
+msgid ""
+"The <literal>version</literal> property is mapped using <literal>&lt;"
+"version&gt;</literal>, and Hibernate will automatically increment it during "
+"flush if the entity is dirty."
+msgstr ""
+"version 프로퍼티는 <literal>&lt;version&gt;</literal>을 사용하여 매핑되고, "
+"Hibernate는 만일 엔티티가 dirty일 경우 flush 동안에 그것을 자동적으로 증가시"
+"킬 것이다."
 
-#: index.docbook:658
-msgid "Of course, if you are operating in a low-data-concurrency environment and don't require version checking, you may use this approach and just skip the version check. In that case, <emphasis>last commit wins</emphasis> will be the default strategy for your long conversations. Keep in mind that this might confuse the users of the application, as they might experience lost updates without error messages or a chance to merge conflicting changes."
-msgstr "물론, 당신이 낮은 데이터 동시성 환경에서 작업하고 있고 버전 체킹을 필요로 하지 않을 경우에, 당신은 이 접근법을 사용할 수 도 있고 단지 버전 체크를 생략할 수도 있다. 그 경우에, <emphasis>마지막의 커밋 성공</emphasis>은 당신의 장시간의 대화에 대한 디폴트 방도가 될 것이다. 이것이 어플리케이션의 사용자들을 혼동시킬 수 있음을 염두에 두라. 왜냐하면 사용자들은 오류 메시지들 또는 충돌 변경들을 병합시킬 기회 없이 업데이트들 손실을 겪을 수도 있기 때문이다."
+#. Tag: para
+#: transactions.xml:658
+#, no-c-format
+msgid ""
+"Of course, if you are operating in a low-data-concurrency environment and "
+"don't require version checking, you may use this approach and just skip the "
+"version check. In that case, <emphasis>last commit wins</emphasis> will be "
+"the default strategy for your long conversations. Keep in mind that this "
+"might confuse the users of the application, as they might experience lost "
+"updates without error messages or a chance to merge conflicting changes."
+msgstr ""
+"물론, 당신이 낮은 데이터 동시성 환경에서 작업하고 있고 버전 체킹을 필요로 하"
+"지 않을 경우에, 당신은 이 접근법을 사용할 수 도 있고 단지 버전 체크를 생략할 "
+"수도 있다. 그 경우에, <emphasis>마지막의 커밋 성공</emphasis>은 당신의 장시간"
+"의 대화에 대한 디폴트 방도가 될 것이다. 이것이 어플리케이션의 사용자들을 혼동"
+"시킬 수 있음을 염두에 두라. 왜냐하면 사용자들은 오류 메시지들 또는 충돌 변경"
+"들을 병합시킬 기회 없이 업데이트들 손실을 겪을 수도 있기 때문이다."
 
-#: index.docbook:667
-msgid "Clearly, manual version checking is only feasible in very trivial circumstances and not practical for most applications. Often not only single instances, but complete graphs of modified ojects have to be checked. Hibernate offers automatic version checking with either an extended <literal>Session</literal> or detached instances as the design paradigm."
-msgstr "명료하게 수작업 버전 체킹은 매우 사소한 환경들에서도 공포적이고 대부분의 어플리케이션들에 대해 실제적이지 않다. 흔히 단일 인스턴스 뿐만 아니라 변경된 객체들의 전체 그래프들이 체크되어야 한다. Hibernate는 설계 패러다임으로서 하나의 확장된 <literal>Session</literal> 또는 detached 인스턴스들에 대해 자동적인 버전 체킹을 제공한다."
+#. Tag: para
+#: transactions.xml:667
+#, no-c-format
+msgid ""
+"Clearly, manual version checking is only feasible in very trivial "
+"circumstances and not practical for most applications. Often not only single "
+"instances, but complete graphs of modified ojects have to be checked. "
+"Hibernate offers automatic version checking with either an extended "
+"<literal>Session</literal> or detached instances as the design paradigm."
+msgstr ""
+"명료하게 수작업 버전 체킹은 매우 사소한 환경들에서도 공포적이고 대부분의 어플"
+"리케이션들에 대해 실제적이지 않다. 흔히 단일 인스턴스 뿐만 아니라 변경된 객체"
+"들의 전체 그래프들이 체크되어야 한다. Hibernate는 설계 패러다임으로서 하나의 "
+"확장된 <literal>Session</literal> 또는 detached 인스턴스들에 대해 자동적인 버"
+"전 체킹을 제공한다."
 
-#: index.docbook:678
+#. Tag: title
+#: transactions.xml:678
+#, no-c-format
 msgid "Extended session and automatic versioning"
 msgstr "확장된 세션과 자동적인 버전화"
 
-#: index.docbook:680
-msgid "A single <literal>Session</literal> instance and its persistent instances are used for the whole conversation, known as <emphasis>session-per-conversation</emphasis>. Hibernate checks instance versions at flush time, throwing an exception if concurrent modification is detected. It's up to the developer to catch and handle this exception (common options are the opportunity for the user to merge changes or to restart the business conversation with non-stale data)."
-msgstr "하나의 <literal>Session</literal> 인스턴스와 그것의 영속 인스턴스들은 ì „ì²´ 어플리케이션 트랜잭션에 사용된다. Hibernate는 flush í•  ë•Œ 인스턴스 버전들을 체크하고 만일 동시성 변경이 검출될 경우에 예외상황을 던진다. 이 예외상황을 ìž¡ì•„ë‚´ê³  처리하는 것을 개발자의 몫이다(공통된 옵션들은 변경들을 병합시키거나 또는 쓸모가 없지 않은 데이터로 비지니스 프로세스를 다시 시작하는 기회를 사용자에게 주는 것이다). 하나의 <literal>Session</literal> 인스턴스와 그것의 영속 인스턴스들은 <emphasis>session-per-conversation</emphasis>ë¡œ 알려진 ì „ì²´ 대화에 사용된다. Hibernate는 flush 시점에서 인스턴스 버전들을 체크하며, 만일 동시적인 변경이 검출될 경우에 하나의 예외상황을 던진다. 이 예외상황을 포착하고 처리하는 것은 개발자의 몫이다(공통된 ì˜!
 µì…˜ë“¤ì€ 사용자가 변경들을 병합하거나 손실되지 않은 데이터를 가지고 비지니스 대화를 재시작하는 기회이다)."
+#. Tag: para
+#: transactions.xml:680
+#, no-c-format
+msgid ""
+"A single <literal>Session</literal> instance and its persistent instances "
+"are used for the whole conversation, known as <emphasis>session-per-"
+"conversation</emphasis>. Hibernate checks instance versions at flush time, "
+"throwing an exception if concurrent modification is detected. It's up to the "
+"developer to catch and handle this exception (common options are the "
+"opportunity for the user to merge changes or to restart the business "
+"conversation with non-stale data)."
+msgstr ""
+"하나의 <literal>Session</literal> 인스턴스와 그것의 영속 인스턴스들은 전체 어"
+"플리케이션 트랜잭션에 사용된다. Hibernate는 flush 할 때 인스턴스 버전들을 체"
+"크하고 만일 동시성 변경이 검출될 경우에 예외상황을 던진다. 이 예외상황을 잡아"
+"내고 처리하는 것을 개발자의 몫이다(공통된 옵션들은 변경들을 병합시키거나 또"
+"는 쓸모가 없지 않은 데이터로 비지니스 프로세스를 다시 시작하는 기회를 사용자"
+"에게 주는 것이다). 하나의 <literal>Session</literal> 인스턴스와 그것의 영속 "
+"인스턴스들은 <emphasis>session-per-conversation</emphasis>로 알려진 전체 대화"
+"에 사용된다. Hibernate는 flush 시점에서 인스턴스 버전들을 체크하며, 만일 동시"
+"적인 변경이 검출될 경우에 하나의 예외상황을 던진다. 이 예외상황을 포착하고 처"
+"리하는 것은 개발자의 몫이다(공통된 옵션들은 사용자가 변경들을 병합하거나 손실"
+"되지 않은 데이터를 가지고 비지니스 대화를 재시작하는 기회이다)."
 
-#: index.docbook:689
-msgid "The <literal>Session</literal> is disconnected from any underlying JDBC connection when waiting for user interaction. This approach is the most efficient in terms of database access. The application need not concern itself with version checking or with reattaching detached instances, nor does it have to reload instances in every database transaction."
-msgstr "<literal>Session</literal>은 사용자 상호작용을 기다릴 때 어떤 기본 JDBC 커넥션으로부터 연결해제된다. 이 접근법은 데이터베이스 접근의 관점에서 보면 가장 효율적이다. 어플리케이션은 버전 체킹 또는 detached 인스턴스들을 재첨부하는 것에 그 자체 관계할 필요가 없거나 그것은 모든 데이터베이스 트랜잭션에서 인스턴스들을 다시 로드시킬 필요가 없다."
+#. Tag: para
+#: transactions.xml:689
+#, no-c-format
+msgid ""
+"The <literal>Session</literal> is disconnected from any underlying JDBC "
+"connection when waiting for user interaction. This approach is the most "
+"efficient in terms of database access. The application need not concern "
+"itself with version checking or with reattaching detached instances, nor "
+"does it have to reload instances in every database transaction."
+msgstr ""
+"<literal>Session</literal>은 사용자 상호작용을 기다릴 때 어떤 기본 JDBC 커넥"
+"션으로부터 연결해제된다. 이 접근법은 데이터베이스 접근의 관점에서 보면 가장 "
+"효율적이다. 어플리케이션은 버전 체킹 또는 detached 인스턴스들을 재첨부하는 것"
+"에 그 자체 관계할 필요가 없거나 그것은 모든 데이터베이스 트랜잭션에서 인스턴"
+"스들을 다시 로드시킬 필요가 없다."
 
-#: index.docbook:697
+#. Tag: programlisting
+#: transactions.xml:697
+#, no-c-format
 msgid ""
-      "<![CDATA[// foo is an instance loaded earlier by the old session\n"
-      "Transaction t = session.beginTransaction(); // Obtain a new JDBC connection, start transaction\n"
-      "\n"
-      "foo.setProperty(\"bar\");\n"
-      "\n"
-      "session.flush();    // Only for last transaction in conversation\n"
-      "t.commit();         // Also return JDBC connection\n"
-      "session.close();    // Only for last transaction in conversation]]>"
+"<![CDATA[// foo is an instance loaded earlier by the old session\n"
+"Transaction t = session.beginTransaction(); // Obtain a new JDBC connection, "
+"start transaction\n"
+"\n"
+"foo.setProperty(\"bar\");\n"
+"\n"
+"session.flush();    // Only for last transaction in conversation\n"
+"t.commit();         // Also return JDBC connection\n"
+"session.close();    // Only for last transaction in conversation]]>"
 msgstr ""
-      "<![CDATA[// foo is an instance loaded earlier by the old session\n"
-      "Transaction t = session.beginTransaction(); // Obtain a new JDBC connection, start transaction\n"
-      "\n"
-      "foo.setProperty(\"bar\");\n"
-      "\n"
-      "session.flush();    // Only for last transaction in conversation\n"
-      "t.commit();         // Also return JDBC connection\n"
-      "session.close();    // Only for last transaction in conversation]]>"
 
-#: index.docbook:698
-msgid "The <literal>foo</literal> object still knows which <literal>Session</literal> it was loaded in. Beginning a new database transaction on an old session obtains a new connection and resumes the session. Committing a database transaction disconnects a session from the JDBC connection and returns the connection to the pool. After reconnection, to force a version check on data you aren't updating, you may call <literal>Session.lock()</literal> with <literal>LockMode.READ</literal> on any objects that might have been updated by another transaction. You don't need to lock any data that you <emphasis>are</emphasis> updating. Usually you would set <literal>FlushMode.MANUAL</literal> on an extended <literal>Session</literal>, so that only the last database transaction cycle is allowed to actually persist all modifications made in this conversation. Hence, only this last database transaction would include the <literal>flush()</literal> operation, and then also <literal>close()!
 </literal> the session to end the conversation."
-msgstr "<literal>foo</literal> 객체는 그것이 로드되었던 <literal>Session</literal>이 어느 것인지를 여전히 알고 있다. 이전 세션 상에서 하나의 새로운 데이터베이스 트랜잭션을 시작하는 것은 하나의 새로운 커넥션을 획득하고 ê·¸ 세션을 소비한다. 데이터베이스 트랜잭션을 커밋(확약)시키는 것은 ê·¸ JDBC 커넥션으로부터 하나의 세션을 연결해제시키고 ê·¸ 커넥션을 í’€(pool)ë¡œ 반환시킬 것이다. 재연결 후에, 당신이 업데이트하고 있지 않은 데이터에 대한 버전 체크를 강제시키기 위해서, 당신은 또 다른 트랜잭션에 의해 업데이트되었을 수도 있는 임의의 객체들에 대해 <literal>LockMode.READ</literal>로서 <literal>Session.lock()</literal>을 호출할 수도 있다. 당신은 당신이 업데이트 중인 임의의 데이터를 잠금할 필요가 없다. 대개 당신은 마지막 데이터베이스 트랜ì!
 ž­ì…˜ 주기만이 이 대화 내에서 행해진 모든 변경들을 실제로 영속화시키는 것이 허용되도록 하기 위해, 하나의 확장된 <literal>Session</literal>에 대해 <literal>FlushMode.MANUAL</literal>를 설정할 것이다. 그러므로 오직 이 마지막 데이터베이스 트랜잭션 만이 <literal>flush()</literal> 오퍼레이션을 포함할 것이고, 또한 대화를 종료시키기 위해 세션을 <literal>close()</literal>í•  것이다."
+#. Tag: para
+#: transactions.xml:698
+#, no-c-format
+msgid ""
+"The <literal>foo</literal> object still knows which <literal>Session</"
+"literal> it was loaded in. Beginning a new database transaction on an old "
+"session obtains a new connection and resumes the session. Committing a "
+"database transaction disconnects a session from the JDBC connection and "
+"returns the connection to the pool. After reconnection, to force a version "
+"check on data you aren't updating, you may call <literal>Session.lock()</"
+"literal> with <literal>LockMode.READ</literal> on any objects that might "
+"have been updated by another transaction. You don't need to lock any data "
+"that you <emphasis>are</emphasis> updating. Usually you would set "
+"<literal>FlushMode.MANUAL</literal> on an extended <literal>Session</"
+"literal>, so that only the last database transaction cycle is allowed to "
+"actually persist all modifications made in this conversation. Hence, only "
+"this last database transaction would include the <literal>flush()</literal> "
+"operation, and then also <literal>close()</literal> the session to end the "
+"conversation."
+msgstr ""
+"<literal>foo</literal> 객체는 그것이 로드되었던 <literal>Session</literal>이 "
+"어느 것인지를 여전히 알고 있다. 이전 세션 상에서 하나의 새로운 데이터베이스 "
+"트랜잭션을 시작하는 것은 하나의 새로운 커넥션을 획득하고 그 세션을 소비한다. "
+"데이터베이스 트랜잭션을 커밋(확약)시키는 것은 그 JDBC 커넥션으로부터 하나의 "
+"세션을 연결해제시키고 그 커넥션을 풀(pool)로 반환시킬 것이다. 재연결 후에, 당"
+"신이 업데이트하고 있지 않은 데이터에 대한 버전 체크를 강제시키기 위해서, 당신"
+"은 또 다른 트랜잭션에 의해 업데이트되었을 수도 있는 임의의 객체들에 대해 "
+"<literal>LockMode.READ</literal>로서 <literal>Session.lock()</literal>을 호출"
+"할 수도 있다. 당신은 당신이 업데이트 중인 임의의 데이터를 잠금할 필요가 없"
+"다. 대개 당신은 마지막 데이터베이스 트랜잭션 주기만이 이 대화 내에서 행해진 "
+"모든 변경들을 실제로 영속화시키는 것이 허용되도록 하기 위해, 하나의 확장된 "
+"<literal>Session</literal>에 대해 <literal>FlushMode.MANUAL</literal>를 설정"
+"할 것이다. 그러므로 오직 이 마지막 데이터베이스 트랜잭션 만이 <literal>flush"
+"()</literal> 오퍼레이션을 포함할 것이고, 또한 대화를 종료시키기 위해 세션을 "
+"<literal>close()</literal>할 것이다."
 
-#: index.docbook:713
-msgid "This pattern is problematic if the <literal>Session</literal> is too big to be stored during user think time, e.g. an <literal>HttpSession</literal> should be kept as small as possible. As the <literal>Session</literal> is also the (mandatory) first-level cache and contains all loaded objects, we can probably use this strategy only for a few request/response cycles. You should use a <literal>Session</literal> only for a single conversation, as it will soon also have stale data."
-msgstr "만일 사용자가 생각하는시간 동안 <literal>Session</literal>이 저장되기에 너무 큰 경우 이 패턴은 문제성이 있다. 예를 들어 <literal>HttpSession</literal>은 가능한 작은 것으로 유지되어야 한다. 또한 <literal>Session</literal>은 (필수의) 첫 번째 레벨 캐시이고 모든 로드된 객체들을 포함하기 때문에, 우리는 아마 적은 요청/응답 주기들에 대해서만 이 방도를 사용할 수 있다. 당신은 하나의 대화에 대해서만 하나의 <literal>Session</literal>을 사용해야 한다. 왜냐하면 그것은 또한 곧 실없는 데이터가 될 것이기 때문이다."
+#. Tag: para
+#: transactions.xml:713
+#, no-c-format
+msgid ""
+"This pattern is problematic if the <literal>Session</literal> is too big to "
+"be stored during user think time, e.g. an <literal>HttpSession</literal> "
+"should be kept as small as possible. As the <literal>Session</literal> is "
+"also the (mandatory) first-level cache and contains all loaded objects, we "
+"can probably use this strategy only for a few request/response cycles. You "
+"should use a <literal>Session</literal> only for a single conversation, as "
+"it will soon also have stale data."
+msgstr ""
+"만일 사용자가 생각하는시간 동안 <literal>Session</literal>이 저장되기에 너무 "
+"큰 경우 이 패턴은 문제성이 있다. 예를 들어 <literal>HttpSession</literal>은 "
+"가능한 작은 것으로 유지되어야 한다. 또한 <literal>Session</literal>은 (필수"
+"의) 첫 번째 레벨 캐시이고 모든 로드된 객체들을 포함하기 때문에, 우리는 아마 "
+"적은 요청/응답 주기들에 대해서만 이 방도를 사용할 수 있다. 당신은 하나의 대화"
+"에 대해서만 하나의 <literal>Session</literal>을 사용해야 한다. 왜냐하면 그것"
+"은 또한 곧 실없는 데이터가 될 것이기 때문이다."
 
-#: index.docbook:723
-msgid "(Note that earlier Hibernate versions required explicit disconnection and reconnection of a <literal>Session</literal>. These methods are deprecated, as beginning and ending a transaction has the same effect.)"
-msgstr "(초기의 Hibernate 버전들은 <literal>Session</literal>에 대한 명시적인 연결해제와 재연결을 필요로 했음을 노트하라. 트랜잭션을 시작하고 끝내는 것이 동일한 효과를 가지므로, 이들 방법들은 진부하게 되었다.)"
+#. Tag: para
+#: transactions.xml:723
+#, no-c-format
+msgid ""
+"(Note that earlier Hibernate versions required explicit disconnection and "
+"reconnection of a <literal>Session</literal>. These methods are deprecated, "
+"as beginning and ending a transaction has the same effect.)"
+msgstr ""
+"(초기의 Hibernate 버전들은 <literal>Session</literal>에 대한 명시적인 연결해"
+"제와 재연결을 필요로 했음을 노트하라. 트랜잭션을 시작하고 끝내는 것이 동일한 "
+"효과를 가지므로, 이들 방법들은 진부하게 되었다.)"
 
-#: index.docbook:729
-msgid "Also note that you should keep the disconnected <literal>Session</literal> close to the persistence layer. In other words, use an EJB stateful session bean to hold the <literal>Session</literal> in a three-tier environment, and don't transfer it to the web layer (or even serialize it to a separate tier) to store it in the <literal>HttpSession</literal>."
-msgstr "또한 당신은 영속 계층에 대해 연결해제된 <literal>Session</literal>을 닫혀진채로 유지해야함을 노트하라. 달 리말해, 하나의 3-tier 환경에서 <literal>Session</literal>을 소유하는데 EJB stateful session bean을 사용하고, <literal>HttpSession</literal> 내에 그것을 저장하기 위해 그것을 웹 계층에 전송하지 말라 (또는 그것을 별도의 티어에 직렬화 시키지도 말라)."
+#. Tag: para
+#: transactions.xml:729
+#, no-c-format
+msgid ""
+"Also note that you should keep the disconnected <literal>Session</literal> "
+"close to the persistence layer. In other words, use an EJB stateful session "
+"bean to hold the <literal>Session</literal> in a three-tier environment, and "
+"don't transfer it to the web layer (or even serialize it to a separate tier) "
+"to store it in the <literal>HttpSession</literal>."
+msgstr ""
+"또한 당신은 영속 계층에 대해 연결해제된 <literal>Session</literal>을 닫혀진채"
+"로 유지해야함을 노트하라. 달 리말해, 하나의 3-tier 환경에서 "
+"<literal>Session</literal>을 소유하는데 EJB stateful session bean을 사용하"
+"고, <literal>HttpSession</literal> 내에 그것을 저장하기 위해 그것을 웹 계층"
+"에 전송하지 말라 (또는 그것을 별도의 티어에 직렬화 시키지도 말라)."
 
-#: index.docbook:737
-msgid "The extended session pattern, or <emphasis>session-per-conversation</emphasis>, is more difficult to implement with automatic current session context management. You need to supply your own implementation of the <literal>CurrentSessionContext</literal> for this, see the Hibernate Wiki for examples."
-msgstr "확장된 세션 패턴, 또는 <emphasis>session-per-conversation</emphasis>은 자동적인 현재 세션 컨텍스트 관리에 대해 구현하기가 더 어렵다. 당신은 이를 위해 당신 자신의 <literal>CurrentSessionContext</literal> 구현을 공급할 필요가 있으며, 예제들은 Hibernate Wiki를 보라."
+#. Tag: para
+#: transactions.xml:737
+#, no-c-format
+msgid ""
+"The extended session pattern, or <emphasis>session-per-conversation</"
+"emphasis>, is more difficult to implement with automatic current session "
+"context management. You need to supply your own implementation of the "
+"<literal>CurrentSessionContext</literal> for this, see the Hibernate Wiki "
+"for examples."
+msgstr ""
+"확장된 세션 패턴, 또는 <emphasis>session-per-conversation</emphasis>은 자동적"
+"인 현재 세션 컨텍스트 관리에 대해 구현하기가 더 어렵다. 당신은 이를 위해 당"
+"신 자신의 <literal>CurrentSessionContext</literal> 구현을 공급할 필요가 있으"
+"며, 예제들은 Hibernate Wiki를 보라."
 
-#: index.docbook:747
+#. Tag: title
+#: transactions.xml:747
+#, no-c-format
 msgid "Detached objects and automatic versioning"
 msgstr "Detached 객체들과 자동적인 버전화"
 
-#: index.docbook:749
-msgid "Each interaction with the persistent store occurs in a new <literal>Session</literal>. However, the same persistent instances are reused for each interaction with the database. The application manipulates the state of detached instances originally loaded in another <literal>Session</literal> and then reattaches them using <literal>Session.update()</literal>, <literal>Session.saveOrUpdate()</literal>, or <literal>Session.merge()</literal>."
-msgstr "영속 저장소에 대한 각각의 상호작용은 새로운 <literal>Session</literal>에서 일어난다. 하지만 동일한 영속 인스턴스들은 데이터베이스와의 각각의 상호작용에 재사용된다. 어플리케이션은 원래 로드되었던 detached 인스턴스들의 상태를 또 다른 <literal>Session</literal> 내에서 처리하고 나서 <literal>Session.update()</literal>, <literal>Session.saveOrUpdate()</literal>, <literal>Session.merge()</literal>를 사용하여 그것들을 다시 첨부시킨다."
+#. Tag: para
+#: transactions.xml:749
+#, no-c-format
+msgid ""
+"Each interaction with the persistent store occurs in a new <literal>Session</"
+"literal>. However, the same persistent instances are reused for each "
+"interaction with the database. The application manipulates the state of "
+"detached instances originally loaded in another <literal>Session</literal> "
+"and then reattaches them using <literal>Session.update()</literal>, "
+"<literal>Session.saveOrUpdate()</literal>, or <literal>Session.merge()</"
+"literal>."
+msgstr ""
+"영속 저장소에 대한 각각의 상호작용은 새로운 <literal>Session</literal>에서 일"
+"어난다. 하지만 동일한 영속 인스턴스들은 데이터베이스와의 각각의 상호작용에 재"
+"사용된다. 어플리케이션은 원래 로드되었던 detached 인스턴스들의 상태를 또 다"
+"른 <literal>Session</literal> 내에서 처리하고 나서 <literal>Session.update()"
+"</literal>, <literal>Session.saveOrUpdate()</literal>, <literal>Session.merge"
+"()</literal>를 사용하여 그것들을 다시 첨부시킨다."
 
-#: index.docbook:757
+#. Tag: programlisting
+#: transactions.xml:757
+#, no-c-format
 msgid ""
-      "<![CDATA[// foo is an instance loaded by a previous Session\n"
-      "foo.setProperty(\"bar\");\n"
-      "session = factory.openSession();\n"
-      "Transaction t = session.beginTransaction();\n"
-      "session.saveOrUpdate(foo); // Use merge() if \"foo\" might have been loaded already\n"
-      "t.commit();\n"
-      "session.close();]]>"
+"<![CDATA[// foo is an instance loaded by a previous Session\n"
+"foo.setProperty(\"bar\");\n"
+"session = factory.openSession();\n"
+"Transaction t = session.beginTransaction();\n"
+"session.saveOrUpdate(foo); // Use merge() if \"foo\" might have been loaded "
+"already\n"
+"t.commit();\n"
+"session.close();]]>"
 msgstr ""
-      "<![CDATA[// foo is an instance loaded by a previous Session\n"
-      "foo.setProperty(\"bar\");\n"
-      "session = factory.openSession();\n"
-      "Transaction t = session.beginTransaction();\n"
-      "session.saveOrUpdate(foo); // Use merge() if \"foo\" might have been loaded already\n"
-      "t.commit();\n"
-      "session.close();]]>"
 
-#: index.docbook:759
-msgid "Again, Hibernate will check instance versions during flush, throwing an exception if conflicting updates occured."
-msgstr "다시, Hibernate는 flush 동안에 인스턴스 버전들을 체크할 것이고 업데이트 충돌이 발생할 경우에 예외상황을 던질 것이다."
+#. Tag: para
+#: transactions.xml:759
+#, no-c-format
+msgid ""
+"Again, Hibernate will check instance versions during flush, throwing an "
+"exception if conflicting updates occured."
+msgstr ""
+"다시, Hibernate는 flush 동안에 인스턴스 버전들을 체크할 것이고 업데이트 충돌"
+"이 발생할 경우에 예외상황을 던질 것이다."
 
-#: index.docbook:764
-msgid "You may also call <literal>lock()</literal> instead of <literal>update()</literal> and use <literal>LockMode.READ</literal> (performing a version check, bypassing all caches) if you are sure that the object has not been modified."
-msgstr "당신은 또한 <literal>update()</literal>대신에 <literal>lock()</literal>을 호출할 수도 있고 만일 그 객체가 변경되지 않았음을 당신이 확신하는 경우에 (버전 체킹을 수행하고 모든 캐시들을 무시하는) <literal>LockMode.READ</literal>를 사용할 수 있다."
+#. Tag: para
+#: transactions.xml:764
+#, no-c-format
+msgid ""
+"You may also call <literal>lock()</literal> instead of <literal>update()</"
+"literal> and use <literal>LockMode.READ</literal> (performing a version "
+"check, bypassing all caches) if you are sure that the object has not been "
+"modified."
+msgstr ""
+"당신은 또한 <literal>update()</literal>대신에 <literal>lock()</literal>을 호"
+"출할 수도 있고 만일 그 객체가 변경되지 않았음을 당신이 확신하는 경우에 (버전 "
+"체킹을 수행하고 모든 캐시들을 무시하는) <literal>LockMode.READ</literal>를 사"
+"용할 수 있다."
 
-#: index.docbook:773
+#. Tag: title
+#: transactions.xml:773
+#, no-c-format
 msgid "Customizing automatic versioning"
 msgstr "자동적인 버전화를 맞춤화 시키기"
 
-#: index.docbook:775
-msgid "You may disable Hibernate's automatic version increment for particular properties and collections by setting the <literal>optimistic-lock</literal> mapping attribute to <literal>false</literal>. Hibernate will then no longer increment versions if the property is dirty."
-msgstr "당신은 <literal>optimistic-lock</literal> 매핑 속성을 <literal>false</literal>로 설정함으로써 특정 프로퍼티들과 콜렉션들에 대한 Hibernate의 자동적인 버전 증가를 불가능하도록 할 수도 있다. 그때 Hibernate는 그 프로퍼티가 dirty 일 경우에 더 이상 버전을 증가시키지 않을 것이다."
+#. Tag: para
+#: transactions.xml:775
+#, no-c-format
+msgid ""
+"You may disable Hibernate's automatic version increment for particular "
+"properties and collections by setting the <literal>optimistic-lock</literal> "
+"mapping attribute to <literal>false</literal>. Hibernate will then no longer "
+"increment versions if the property is dirty."
+msgstr ""
+"당신은 <literal>optimistic-lock</literal> 매핑 속성을 <literal>false</"
+"literal>로 설정함으로써 특정 프로퍼티들과 콜렉션들에 대한 Hibernate의 자동적"
+"인 버전 증가를 불가능하도록 할 수도 있다. 그때 Hibernate는 그 프로퍼티가 "
+"dirty 일 경우에 더 이상 버전을 증가시키지 않을 것이다."
 
-#: index.docbook:782
-msgid "Legacy database schemas are often static and can't be modified. Or, other applications might also access the same database and don't know how to handle version numbers or even timestamps. In both cases, versioning can't rely on a particular column in a table. To force a version check without a version or timestamp property mapping, with a comparison of the state of all fields in a row, turn on <literal>optimistic-lock=\"all\"</literal> in the <literal>&lt;class&gt;</literal> mapping. Note that this concepetually only works if Hibernate can compare the old and new state, i.e. if you use a single long <literal>Session</literal> and not session-per-request-with-detached-objects."
-msgstr "리거시 데이터베이스 스키마들은 자주 static이고 변경될 수 없다. 또는 다른 어플리케이션들은 또한 동일한 데이터베이스에 접근하고 버전 번호들 또는 심지어 timestamp들을 처리하는 방법을 모를 수도 있다. 두 경우들에서, 버전화는 테이블 내의 특정 컬럼에 의지할 수 없다. version 또는 timestamp 프로퍼티 매핑 없이 행 내의 모든 필드들에 대한 상태를 비교하여 버전 체크를 강제시키기 위해서, <literal>&lt;class&gt;</literal> 매핑 속에 <literal>optimistic-lock=\"all\"</literal>을 표시하라. 만일 Hibernate가 이전 상태와 새로운 상태를 비교할 수 있을 경우에, 예를 들면 당신이 하나의 긴 <literal>Session</literal>을 사용하고 session-per-request-with-detached-objects을 사용하지 않을 경우 이것은 개념적으로만 동작함을 노트하라."
+#. Tag: para
+#: transactions.xml:782
+#, no-c-format
+msgid ""
+"Legacy database schemas are often static and can't be modified. Or, other "
+"applications might also access the same database and don't know how to "
+"handle version numbers or even timestamps. In both cases, versioning can't "
+"rely on a particular column in a table. To force a version check without a "
+"version or timestamp property mapping, with a comparison of the state of all "
+"fields in a row, turn on <literal>optimistic-lock=\"all\"</literal> in the "
+"<literal>&lt;class&gt;</literal> mapping. Note that this concepetually only "
+"works if Hibernate can compare the old and new state, i.e. if you use a "
+"single long <literal>Session</literal> and not session-per-request-with-"
+"detached-objects."
+msgstr ""
+"리거시 데이터베이스 스키마들은 자주 static이고 변경될 수 없다. 또는 다른 어플"
+"리케이션들은 또한 동일한 데이터베이스에 접근하고 버전 번호들 또는 심지어 "
+"timestamp들을 처리하는 방법을 모를 수도 있다. 두 경우들에서, 버전화는 테이블 "
+"내의 특정 컬럼에 의지할 수 없다. version 또는 timestamp 프로퍼티 매핑 없이 "
+"행 내의 모든 필드들에 대한 상태를 비교하여 버전 체크를 강제시키기 위해서, "
+"<literal>&lt;class&gt;</literal> 매핑 속에 <literal>optimistic-lock=\"all\"</"
+"literal>을 표시하라. 만일 Hibernate가 이전 상태와 새로운 상태를 비교할 수 있"
+"을 경우에, 예를 들면 당신이 하나의 긴 <literal>Session</literal>을 사용하고 "
+"session-per-request-with-detached-objects을 사용하지 않을 경우 이것은 개념적"
+"으로만 동작함을 노트하라."
 
-#: index.docbook:793
-msgid "Sometimes concurrent modification can be permitted as long as the changes that have been made don't overlap. If you set <literal>optimistic-lock=\"dirty\"</literal> when mapping the <literal>&lt;class&gt;</literal>, Hibernate will only compare dirty fields during flush."
-msgstr "때때로 행해졌던 변경들이 중첩되지 않는 한 동시적인 변경이 허용될 수 있다. 만일 <literal>&lt;class&gt;</literal>를 매핑할 때 당신이 <literal>optimistic-lock=\"dirty\"</literal>를 설정하면, Hibernate는 flush 동안에 dirty 필드들을 비교만 할 것이다."
+#. Tag: para
+#: transactions.xml:793
+#, no-c-format
+msgid ""
+"Sometimes concurrent modification can be permitted as long as the changes "
+"that have been made don't overlap. If you set <literal>optimistic-lock="
+"\"dirty\"</literal> when mapping the <literal>&lt;class&gt;</literal>, "
+"Hibernate will only compare dirty fields during flush."
+msgstr ""
+"때때로 행해졌던 변경들이 중첩되지 않는 한 동시적인 변경이 허용될 수 있다. 만"
+"일 <literal>&lt;class&gt;</literal>를 매핑할 때 당신이 <literal>optimistic-"
+"lock=\"dirty\"</literal>를 설정하면, Hibernate는 flush 동안에 dirty 필드들을 "
+"비교만 할 것이다."
 
-#: index.docbook:799
-msgid "In both cases, with dedicated version/timestamp columns or with full/dirty field comparison, Hibernate uses a single <literal>UPDATE</literal> statement (with an appropriate <literal>WHERE</literal> clause) per entity to execute the version check and update the information. If you use transitive persistence to cascade reattachment to associated entities, Hibernate might execute uneccessary updates. This is usually not a problem, but <emphasis>on update</emphasis> triggers in the database might be executed even when no changes have been made to detached instances. You can customize this behavior by setting <literal>select-before-update=\"true\"</literal> in the <literal>&lt;class&gt;</literal> mapping, forcing Hibernate to <literal>SELECT</literal> the instance to ensure that changes did actually occur, before updating the row."
-msgstr "두 경우들에서, 전용 version/timestamp 컬럼의 경우 또는 full/dirty 필드 비교의 경우, Hibernate는 법전 체크를 실행하고 정보를 업데이트하는데 엔티티 당 (적절한 <literal>WHERE</literal> 절을 가진) 한 개의<literal>UPDATE</literal> 문장을 사용한다. 만일 당신이 연관된 엔티티들에 대한 재첨부를 케스케이드 하는데 transitive 영속을 사용할 경우, Hibernate는 불필요하게 업데이트들을 실행할 수도 있다. 이것은 대개 문제가 아니지만, 심지어 변경들이 detached 인스턴스들에 대해 행해지지 않았을 때에도 데이터베이스 내에서 <emphasis>on update</emphasis> 트리거들이 실행될 수도 있다. 그 행을 업데이트하기 전에 변경들이 실제로 일어났음을 확인하기 위해 인스턴스를 <literal>SELECT</literal>하는 것을 Hibernate에게 강제시키는, <literal>&lt;class&gt;</literal> 매핑 속에 <literal>!
 select-before-update=\"true\"</literal>를 설정함으로써 당신은 이 특징을 맞춤화 시킬 수 있다."
+#. Tag: para
+#: transactions.xml:799
+#, no-c-format
+msgid ""
+"In both cases, with dedicated version/timestamp columns or with full/dirty "
+"field comparison, Hibernate uses a single <literal>UPDATE</literal> "
+"statement (with an appropriate <literal>WHERE</literal> clause) per entity "
+"to execute the version check and update the information. If you use "
+"transitive persistence to cascade reattachment to associated entities, "
+"Hibernate might execute uneccessary updates. This is usually not a problem, "
+"but <emphasis>on update</emphasis> triggers in the database might be "
+"executed even when no changes have been made to detached instances. You can "
+"customize this behavior by setting <literal>select-before-update=\"true\"</"
+"literal> in the <literal>&lt;class&gt;</literal> mapping, forcing Hibernate "
+"to <literal>SELECT</literal> the instance to ensure that changes did "
+"actually occur, before updating the row."
+msgstr ""
+"두 경우들에서, 전용 version/timestamp 컬럼의 경우 또는 full/dirty 필드 비교"
+"의 경우, Hibernate는 법전 체크를 실행하고 정보를 업데이트하는데 엔티티 당 (적"
+"절한 <literal>WHERE</literal> 절을 가진) 한 개의<literal>UPDATE</literal> 문"
+"장을 사용한다. 만일 당신이 연관된 엔티티들에 대한 재첨부를 케스케이드 하는데 "
+"transitive 영속을 사용할 경우, Hibernate는 불필요하게 업데이트들을 실행할 수"
+"도 있다. 이것은 대개 문제가 아니지만, 심지어 변경들이 detached 인스턴스들에 "
+"대해 행해지지 않았을 때에도 데이터베이스 내에서 <emphasis>on update</"
+"emphasis> 트리거들이 실행될 수도 있다. 그 행을 업데이트하기 전에 변경들이 실"
+"제로 일어났음을 확인하기 위해 인스턴스를 <literal>SELECT</literal>하는 것을 "
+"Hibernate에게 강제시키는, <literal>&lt;class&gt;</literal> 매핑 속에 "
+"<literal>select-before-update=\"true\"</literal>를 설정함으로써 당신은 이 특"
+"징을 맞춤화 시킬 수 있다."
 
-#: index.docbook:817
+#. Tag: title
+#: transactions.xml:817
+#, no-c-format
 msgid "Pessimistic Locking"
 msgstr "Pessimistic 잠금"
 
-#: index.docbook:819
-msgid "It is not intended that users spend much time worring about locking strategies. Its usually enough to specify an isolation level for the JDBC connections and then simply let the database do all the work. However, advanced users may sometimes wish to obtain exclusive pessimistic locks, or re-obtain locks at the start of a new transaction."
-msgstr "사용자들은 잠금 방도에 대해 걱정하는데 많은 시간을 할애하하려고 생각하지 않는다. 대개 JDBC 커넥션들에 대한 격리 레벨을 지정하는 것으로 충분하고 그런 다음 단순히 데이터베이스로 하여금 모든 작업을 행하도록 한다. 하지만 진일보한 사용자들은 때때로 배타적인 pessimistic 잠금들을 얻거나 또는 새로운 트랜잭션의 시작 시에 잠금들을 다시 얻고자 원할 수도 있다."
+#. Tag: para
+#: transactions.xml:819
+#, no-c-format
+msgid ""
+"It is not intended that users spend much time worring about locking "
+"strategies. Its usually enough to specify an isolation level for the JDBC "
+"connections and then simply let the database do all the work. However, "
+"advanced users may sometimes wish to obtain exclusive pessimistic locks, or "
+"re-obtain locks at the start of a new transaction."
+msgstr ""
+"사용자들은 잠금 방도에 대해 걱정하는데 많은 시간을 할애하하려고 생각하지 않는"
+"다. 대개 JDBC 커넥션들에 대한 격리 레벨을 지정하는 것으로 충분하고 그런 다음 "
+"단순히 데이터베이스로 하여금 모든 작업을 행하도록 한다. 하지만 진일보한 사용"
+"자들은 때때로 배타적인 pessimistic 잠금들을 얻거나 또는 새로운 트랜잭션의 시"
+"작 시에 잠금들을 다시 얻고자 원할 수도 있다."
 
-#: index.docbook:826
-msgid "Hibernate will always use the locking mechanism of the database, never lock objects in memory!"
-msgstr "Hibernate는 결코 메모리 내에 있는 객체들이 아닌, 데이터베이스의 잠금 메커니즘을 항상 사용할 것이다!"
+#. Tag: para
+#: transactions.xml:826
+#, no-c-format
+msgid ""
+"Hibernate will always use the locking mechanism of the database, never lock "
+"objects in memory!"
+msgstr ""
+"Hibernate는 결코 메모리 내에 있는 객체들이 아닌, 데이터베이스의 잠금 메커니즘"
+"을 항상 사용할 것이다!"
 
-#: index.docbook:831
-msgid "The <literal>LockMode</literal> class defines the different lock levels that may be acquired by Hibernate. A lock is obtained by the following mechanisms:"
-msgstr "<literal>LockMode</literal> 클래스는 Hibernate에 의해 획득될 수 있는 다른 잠금 레벨들을 정의한다. 잠금은 다음 메커니즘들에 의해 얻어진다:"
+#. Tag: para
+#: transactions.xml:831
+#, no-c-format
+msgid ""
+"The <literal>LockMode</literal> class defines the different lock levels that "
+"may be acquired by Hibernate. A lock is obtained by the following mechanisms:"
+msgstr ""
+"<literal>LockMode</literal> 클래스는 Hibernate에 의해 획득될 수 있는 다른 잠"
+"금 레벨들을 정의한다. 잠금은 다음 메커니즘들에 의해 얻어진다:"
 
-#: index.docbook:838
-msgid "<literal>LockMode.WRITE</literal> is acquired automatically when Hibernate updates or inserts a row."
-msgstr "<literal>LockMode.WRITE</literal>는 Hibernate가 한 행을 업데이트 하거나 insert 할 때 자동적으로 획득된다."
+#. Tag: para
+#: transactions.xml:838
+#, no-c-format
+msgid ""
+"<literal>LockMode.WRITE</literal> is acquired automatically when Hibernate "
+"updates or inserts a row."
+msgstr ""
+"<literal>LockMode.WRITE</literal>는 Hibernate가 한 행을 업데이트 하거나 "
+"insert 할 때 자동적으로 획득된다."
 
-#: index.docbook:844
-msgid "<literal>LockMode.UPGRADE</literal> may be acquired upon explicit user request using <literal>SELECT ... FOR UPDATE</literal> on databases which support that syntax."
-msgstr "<literal>LockMode.UPGRADE</literal>는 <literal>SELECT ... FOR UPDATE</literal> 구문을 지원하는 데이터베이스 상에서 <literal>SELECT ... FOR UPDATE</literal>를 사용하여 명시적인 사용자 요청 상에서 얻어질 수 있다."
+#. Tag: para
+#: transactions.xml:844
+#, no-c-format
+msgid ""
+"<literal>LockMode.UPGRADE</literal> may be acquired upon explicit user "
+"request using <literal>SELECT ... FOR UPDATE</literal> on databases which "
+"support that syntax."
+msgstr ""
+"<literal>LockMode.UPGRADE</literal>는 <literal>SELECT ... FOR UPDATE</"
+"literal> 구문을 지원하는 데이터베이스 상에서 <literal>SELECT ... FOR UPDATE</"
+"literal>를 사용하여 명시적인 사용자 요청 상에서 얻어질 수 있다."
 
-#: index.docbook:850
-msgid "<literal>LockMode.UPGRADE_NOWAIT</literal> may be acquired upon explicit user request using a <literal>SELECT ... FOR UPDATE NOWAIT</literal> under Oracle."
-msgstr "<literal>LockMode.UPGRADE_NOWAIT</literal>는 오라클에서 <literal>SELECT ... FOR UPDATE NOWAIT</literal>를 사용하여 명시적인 사용자 요청 상에서 얻어질 수도 있다."
+#. Tag: para
+#: transactions.xml:850
+#, no-c-format
+msgid ""
+"<literal>LockMode.UPGRADE_NOWAIT</literal> may be acquired upon explicit "
+"user request using a <literal>SELECT ... FOR UPDATE NOWAIT</literal> under "
+"Oracle."
+msgstr ""
+"<literal>LockMode.UPGRADE_NOWAIT</literal>는 오라클에서 <literal>SELECT ... "
+"FOR UPDATE NOWAIT</literal>를 사용하여 명시적인 사용자 요청 상에서 얻어질 수"
+"도 있다."
 
-#: index.docbook:856
-msgid "<literal>LockMode.READ</literal> is acquired automatically when Hibernate reads data under Repeatable Read or Serializable isolation level. May be re-acquired by explicit user request."
-msgstr "<literal>LockMode.READ</literal>는 Hibernate가 반복 가능한 읽기(Repeatable Read) 또는 Serialization 격리 레벨에서 데이터를 읽어들일 때 자동적으로 얻어질 수도 있다. 명시적인 사용자 요청에 의해 다시 얻어질 수도 있다."
+#. Tag: para
+#: transactions.xml:856
+#, no-c-format
+msgid ""
+"<literal>LockMode.READ</literal> is acquired automatically when Hibernate "
+"reads data under Repeatable Read or Serializable isolation level. May be re-"
+"acquired by explicit user request."
+msgstr ""
+"<literal>LockMode.READ</literal>는 Hibernate가 반복 가능한 읽기(Repeatable "
+"Read) 또는 Serialization 격리 레벨에서 데이터를 읽어들일 때 자동적으로 얻어"
+"질 수도 있다. 명시적인 사용자 요청에 의해 다시 얻어질 수도 있다."
 
-#: index.docbook:863
-msgid "<literal>LockMode.NONE</literal> represents the absence of a lock. All objects switch to this lock mode at the end of a <literal>Transaction</literal>. Objects associated with the session via a call to <literal>update()</literal> or <literal>saveOrUpdate()</literal> also start out in this lock mode."
-msgstr "<literal>LockMode.NONE</literal>은 잠금이 없음을 나타낸다. 모든 객체들은 <literal>Transaction</literal>의 끝에서 이 잠금 모드로 전환된다. <literal>update()</literal> 또는 <literal>saveOrUpdate()</literal>에 대한 호출을 통해 세션과 연관된 객체들이 또한 이 잠금 모드로 시작된다."
+#. Tag: para
+#: transactions.xml:863
+#, no-c-format
+msgid ""
+"<literal>LockMode.NONE</literal> represents the absence of a lock. All "
+"objects switch to this lock mode at the end of a <literal>Transaction</"
+"literal>. Objects associated with the session via a call to <literal>update()"
+"</literal> or <literal>saveOrUpdate()</literal> also start out in this lock "
+"mode."
+msgstr ""
+"<literal>LockMode.NONE</literal>은 잠금이 없음을 나타낸다. 모든 객체들은 "
+"<literal>Transaction</literal>의 끝에서 이 잠금 모드로 전환된다. "
+"<literal>update()</literal> 또는 <literal>saveOrUpdate()</literal>에 대한 호"
+"출을 통해 세션과 연관된 객체들이 또한 이 잠금 모드로 시작된다."
 
-#: index.docbook:872
-msgid "The \"explicit user request\" is expressed in one of the following ways:"
+#. Tag: para
+#: transactions.xml:872
+#, no-c-format
+msgid ""
+"The \"explicit user request\" is expressed in one of the following ways:"
 msgstr "\"명시적인 사용자 요청\"은 다음 방법들 중 하나로 표현된다:"
 
-#: index.docbook:878
-msgid "A call to <literal>Session.load()</literal>, specifying a <literal>LockMode</literal>."
-msgstr "<literal>LockMode</literal>를 지정한 <literal>Session.load()</literal>에 대한 호출."
+#. Tag: para
+#: transactions.xml:878
+#, no-c-format
+msgid ""
+"A call to <literal>Session.load()</literal>, specifying a <literal>LockMode</"
+"literal>."
+msgstr ""
+"<literal>LockMode</literal>를 지정한 <literal>Session.load()</literal>에 대"
+"한 호출."
 
-#: index.docbook:883
+#. Tag: para
+#: transactions.xml:883
+#, no-c-format
 msgid "A call to <literal>Session.lock()</literal>."
 msgstr "<literal>Session.lock()</literal>에 대한 호출."
 
-#: index.docbook:888
+#. Tag: para
+#: transactions.xml:888
+#, no-c-format
 msgid "A call to <literal>Query.setLockMode()</literal>."
 msgstr "<literal>Query.setLockMode()</literal>에 대한 호출."
 
-#: index.docbook:894
-msgid "If <literal>Session.load()</literal> is called with <literal>UPGRADE</literal> or <literal>UPGRADE_NOWAIT</literal>, and the requested object was not yet loaded by the session, the object is loaded using <literal>SELECT ... FOR UPDATE</literal>. If <literal>load()</literal> is called for an object that is already loaded with a less restrictive lock than the one requested, Hibernate calls <literal>lock()</literal> for that object."
-msgstr "만일 <literal>Session.load()</literal>가 <literal>UPGRADE</literal> 또는 <literal>UPGRADE_NOWAIT</literal> 모드로 호출되고 ,요청된 객체가 아직 이 세션에 의해 로드되지 않았다면, 그 객체는 <literal>SELECT ... FOR UPDATE</literal>를 사용하여 로드된다. 만일 요청된 것이 아닌 다소 제한적인 잠금으로 이미 로드되어 있는 객체에 대해 <literal>load()</literal>가 호출될 경우, Hibernate는 그 객체에 대해 <literal>lock()</literal>을 호출한다."
+#. Tag: para
+#: transactions.xml:894
+#, no-c-format
+msgid ""
+"If <literal>Session.load()</literal> is called with <literal>UPGRADE</"
+"literal> or <literal>UPGRADE_NOWAIT</literal>, and the requested object was "
+"not yet loaded by the session, the object is loaded using "
+"<literal>SELECT ... FOR UPDATE</literal>. If <literal>load()</literal> is "
+"called for an object that is already loaded with a less restrictive lock "
+"than the one requested, Hibernate calls <literal>lock()</literal> for that "
+"object."
+msgstr ""
+"만일 <literal>Session.load()</literal>가 <literal>UPGRADE</literal> 또는 "
+"<literal>UPGRADE_NOWAIT</literal> 모드로 호출되고 ,요청된 객체가 아직 이 세션"
+"에 의해 로드되지 않았다면, 그 객체는 <literal>SELECT ... FOR UPDATE</literal>"
+"를 사용하여 로드된다. 만일 요청된 것이 아닌 다소 제한적인 잠금으로 이미 로드"
+"되어 있는 객체에 대해 <literal>load()</literal>가 호출될 경우, Hibernate는 "
+"그 객체에 대해 <literal>lock()</literal>을 호출한다."
 
-#: index.docbook:903
-msgid "<literal>Session.lock()</literal> performs a version number check if the specified lock mode is <literal>READ</literal>, <literal>UPGRADE</literal> or <literal>UPGRADE_NOWAIT</literal>. (In the case of <literal>UPGRADE</literal> or <literal>UPGRADE_NOWAIT</literal>, <literal>SELECT ... FOR UPDATE</literal> is used.)"
-msgstr "만일 지정된 잠금 모드가 <literal>READ</literal>, <literal>UPGRADE</literal> 또는 <literal>UPGRADE_NOWAIT</literal> 일 경우에 <literal>Session.lock()</literal>은 버전 번호 체크를 수행한다. (<literal>UPGRADE</literal> 또는 <literal>UPGRADE_NOWAIT</literal> 인 경우에, <literal>SELECT ... FOR UPDATE</literal>가 사용된다.)"
+#. Tag: para
+#: transactions.xml:903
+#, no-c-format
+msgid ""
+"<literal>Session.lock()</literal> performs a version number check if the "
+"specified lock mode is <literal>READ</literal>, <literal>UPGRADE</literal> "
+"or <literal>UPGRADE_NOWAIT</literal>. (In the case of <literal>UPGRADE</"
+"literal> or <literal>UPGRADE_NOWAIT</literal>, <literal>SELECT ... FOR "
+"UPDATE</literal> is used.)"
+msgstr ""
+"만일 지정된 잠금 모드가 <literal>READ</literal>, <literal>UPGRADE</literal> "
+"또는 <literal>UPGRADE_NOWAIT</literal> 일 경우에 <literal>Session.lock()</"
+"literal>은 버전 번호 체크를 수행한다. (<literal>UPGRADE</literal> 또는 "
+"<literal>UPGRADE_NOWAIT</literal> 인 경우에, <literal>SELECT ... FOR UPDATE</"
+"literal>가 사용된다.)"
 
-#: index.docbook:910
-msgid "If the database does not support the requested lock mode, Hibernate will use an appropriate alternate mode (instead of throwing an exception). This ensures that applications will be portable."
-msgstr "만일 데이터베이스가 요청된 잠금 모드를 지원하지 않을 경우, (예외상황을 던지는 대신에) Hibernate는 적절한 대체 모드를 사용할 것이다. 이것은 어플리케이션이 이식 가능할 것임을 확실히 해준다."
+#. Tag: para
+#: transactions.xml:910
+#, no-c-format
+msgid ""
+"If the database does not support the requested lock mode, Hibernate will use "
+"an appropriate alternate mode (instead of throwing an exception). This "
+"ensures that applications will be portable."
+msgstr ""
+"만일 데이터베이스가 요청된 잠금 모드를 지원하지 않을 경우, (예외상황을 던지"
+"는 대신에) Hibernate는 적절한 대체 모드를 사용할 것이다. 이것은 어플리케이션"
+"이 이식 가능할 것임을 확실히 해준다."
 
-#: index.docbook:919
+#. Tag: title
+#: transactions.xml:919
+#, no-c-format
 msgid "Connection Release Modes"
 msgstr "연결 해제 모드들"
 
-#: index.docbook:921
-msgid "The legacy (2.x) behavior of Hibernate in regards to JDBC connection management was that a <literal>Session</literal> would obtain a connection when it was first needed and then hold unto that connection until the session was closed. Hibernate 3.x introduced the notion of connection release modes to tell a session how to handle its JDBC connections. Note that the following discussion is pertinent only to connections provided through a configured <literal>ConnectionProvider</literal>; user-supplied connections are outside the breadth of this discussion. The different release modes are identified by the enumerated values of <literal>org.hibernate.ConnectionReleaseMode</literal>:"
-msgstr "JDBC 커넥션 관리에 관한 Hibernate의 리거시(2.x) 특징은 그것이 처음으로 필요로 했을 때 하나의 <literal>Session</literal>이 하나의 커넥션을 획득할 것이고, 그런 다음 그 커넥션은 그 세션이 닫혀질때까지 보관된다는 것이었다. Hibernate 3.x는 세션에게 그것의 JDBC 커넥션들을 처리하는 방법을 알려주기 위해 연결 해제 모드들에 관한 개념을 도입했다. 다음 논의는 구성된 <literal>ConnectionProvider</literal>를 통해 제공되는 커넥션들에 대해서만 적절하다는 점을 노트하라; 사용자가 제공하는 커넥션들은 <literal>org.hibernate.ConnectionReleaseMode</literal>의 열거된 값들에 의해 식별된다:"
+#. Tag: para
+#: transactions.xml:921
+#, no-c-format
+msgid ""
+"The legacy (2.x) behavior of Hibernate in regards to JDBC connection "
+"management was that a <literal>Session</literal> would obtain a connection "
+"when it was first needed and then hold unto that connection until the "
+"session was closed. Hibernate 3.x introduced the notion of connection "
+"release modes to tell a session how to handle its JDBC connections. Note "
+"that the following discussion is pertinent only to connections provided "
+"through a configured <literal>ConnectionProvider</literal>; user-supplied "
+"connections are outside the breadth of this discussion. The different "
+"release modes are identified by the enumerated values of <literal>org."
+"hibernate.ConnectionReleaseMode</literal>:"
+msgstr ""
+"JDBC 커넥션 관리에 관한 Hibernate의 리거시(2.x) 특징은 그것이 처음으로 필요"
+"로 했을 때 하나의 <literal>Session</literal>이 하나의 커넥션을 획득할 것이"
+"고, 그런 다음 그 커넥션은 그 세션이 닫혀질때까지 보관된다는 것이었다. "
+"Hibernate 3.x는 세션에게 그것의 JDBC 커넥션들을 처리하는 방법을 알려주기 위"
+"해 연결 해제 모드들에 관한 개념을 도입했다. 다음 논의는 구성된 "
+"<literal>ConnectionProvider</literal>를 통해 제공되는 커넥션들에 대해서만 적"
+"절하다는 점을 노트하라; 사용자가 제공하는 커넥션들은 <literal>org.hibernate."
+"ConnectionReleaseMode</literal>의 열거된 값들에 의해 식별된다:"
 
-#: index.docbook:935
-msgid "<literal>ON_CLOSE</literal> - is essentially the legacy behavior described above. The Hibernate session obatins a connection when it first needs to perform some JDBC access and holds unto that connection until the session is closed."
-msgstr "<literal>ON_CLOSE</literal> - 는 본질적으로 위에 설명된 리거시 특징이다. Hibernate 세션은 그것이 어떤 JDBC 접근을 수행하고 세션이 닫혀질 때까지 그 커넥션을 보관할 필요가 있을 때 하나의 커넥션을 획득한다."
+#. Tag: para
+#: transactions.xml:935
+#, no-c-format
+msgid ""
+"<literal>ON_CLOSE</literal> - is essentially the legacy behavior described "
+"above. The Hibernate session obatins a connection when it first needs to "
+"perform some JDBC access and holds unto that connection until the session is "
+"closed."
+msgstr ""
+"<literal>ON_CLOSE</literal> - 는 본질적으로 위에 설명된 리거시 특징이다. "
+"Hibernate 세션은 그것이 어떤 JDBC 접근을 수행하고 세션이 닫혀질 때까지 그 커"
+"넥션을 보관할 필요가 있을 때 하나의 커넥션을 획득한다."
 
-#: index.docbook:942
-msgid "<literal>AFTER_TRANSACTION</literal> - says to release connections after a <literal>org.hibernate.Transaction</literal> has completed."
-msgstr "<literal>AFTER_TRANSACTION</literal> - 은 하나의 <literal>org.hibernate.Transaction</literal>이 완료된 후에 연결들을 해제하라고 말한다."
+#. Tag: para
+#: transactions.xml:942
+#, no-c-format
+msgid ""
+"<literal>AFTER_TRANSACTION</literal> - says to release connections after a "
+"<literal>org.hibernate.Transaction</literal> has completed."
+msgstr ""
+"<literal>AFTER_TRANSACTION</literal> - 은 하나의 <literal>org.hibernate."
+"Transaction</literal>이 완료된 후에 연결들을 해제하라고 말한다."
 
-#: index.docbook:948
-msgid "<literal>AFTER_STATEMENT</literal> (also referred to as aggressive release) - says to release connections after each and every statement execution. This aggressive releasing is skipped if that statement leaves open resources associated with the given session; currently the only situation where this occurs is through the use of <literal>org.hibernate.ScrollableResults</literal>."
-msgstr "<literal>AFTER_STATEMENT</literal> (또한 적극적인 해제라고 언급됨) - 는 각각의 모든 문장 실행 후에 커넥션들을 해제하라고 말한다. 이 적극적인 해제는 그 문장이 주어진 세션과 연관된 리소스들을 열려진채로 남겨둘 경우에는 건너뛰게(skip) 된다; 현재 이것이 일어나는 유일한 상황은 <literal>org.hibernate.ScrollableResults</literal>의 사용을 통해서이다."
+#. Tag: para
+#: transactions.xml:948
+#, no-c-format
+msgid ""
+"<literal>AFTER_STATEMENT</literal> (also referred to as aggressive release) "
+"- says to release connections after each and every statement execution. This "
+"aggressive releasing is skipped if that statement leaves open resources "
+"associated with the given session; currently the only situation where this "
+"occurs is through the use of <literal>org.hibernate.ScrollableResults</"
+"literal>."
+msgstr ""
+"<literal>AFTER_STATEMENT</literal> (또한 적극적인 해제라고 언급됨) - 는 각각"
+"의 모든 문장 실행 후에 커넥션들을 해제하라고 말한다. 이 적극적인 해제는 그 문"
+"장이 주어진 세션과 연관된 리소스들을 열려진채로 남겨둘 경우에는 건너뛰게"
+"(skip) 된다; 현재 이것이 일어나는 유일한 상황은 <literal>org.hibernate."
+"ScrollableResults</literal>의 사용을 통해서이다."
 
-#: index.docbook:958
-msgid "The configuration parameter <literal>hibernate.connection.release_mode</literal> is used to specify which release mode to use. The possible values:"
-msgstr "사용할 해제 모드를 지정하기 위해 구성 파라미터 <literal>hibernate.connection.release_mode</literal>가 사용된다. 가능한 값들은 다음과 같다:"
+#. Tag: para
+#: transactions.xml:958
+#, no-c-format
+msgid ""
+"The configuration parameter <literal>hibernate.connection.release_mode</"
+"literal> is used to specify which release mode to use. The possible values:"
+msgstr ""
+"사용할 해제 모드를 지정하기 위해 구성 파라미터 <literal>hibernate.connection."
+"release_mode</literal>가 사용된다. 가능한 값들은 다음과 같다:"
 
-#: index.docbook:965
-msgid "<literal>auto</literal> (the default) - this choice delegates to the release mode returned by the <literal>org.hibernate.transaction.TransactionFactory.getDefaultReleaseMode()</literal> method. For JTATransactionFactory, this returns ConnectionReleaseMode.AFTER_STATEMENT; for JDBCTransactionFactory, this returns ConnectionReleaseMode.AFTER_TRANSACTION. It is rarely a good idea to change this default behavior as failures due to the value of this setting tend to indicate bugs and/or invalid assumptions in user code."
-msgstr "<literal>auto</literal> (디폴트) - 이 선택은 <literal>org.hibernate.transaction.TransactionFactory.getDefaultReleaseMode()</literal> 메소드에 의해 반환된 해제 모드로 위임시킨다. JTATransactionFactory인 경우, 이것은 ConnectionReleaseMode.AFTER_STATEMENT를 반환한다; JDBCTransactionFactory인 경우, 이것은 ConnectionReleaseMode.AFTER_TRANSACTION을 반환한다. 이 설정의 값이 사용자 코드 내의 버그들 그리고/또는 유효하지 않은 가정들을 가리키는 경향이 있음으로 인해 이 디폴트 특징을 실패로 변경하는 것은 거의 좋은 생각이 아니다."
+#. Tag: para
+#: transactions.xml:965
+#, no-c-format
+msgid ""
+"<literal>auto</literal> (the default) - this choice delegates to the release "
+"mode returned by the <literal>org.hibernate.transaction.TransactionFactory."
+"getDefaultReleaseMode()</literal> method. For JTATransactionFactory, this "
+"returns ConnectionReleaseMode.AFTER_STATEMENT; for JDBCTransactionFactory, "
+"this returns ConnectionReleaseMode.AFTER_TRANSACTION. It is rarely a good "
+"idea to change this default behavior as failures due to the value of this "
+"setting tend to indicate bugs and/or invalid assumptions in user code."
+msgstr ""
+"<literal>auto</literal> (디폴트) - 이 선택은 <literal>org.hibernate."
+"transaction.TransactionFactory.getDefaultReleaseMode()</literal> 메소드에 의"
+"해 반환된 해제 모드로 위임시킨다. JTATransactionFactory인 경우, 이것은 "
+"ConnectionReleaseMode.AFTER_STATEMENT를 반환한다; JDBCTransactionFactory인 경"
+"우, 이것은 ConnectionReleaseMode.AFTER_TRANSACTION을 반환한다. 이 설정의 값"
+"이 사용자 코드 내의 버그들 그리고/또는 유효하지 않은 가정들을 가리키는 경향"
+"이 있음으로 인해 이 디폴트 특징을 실패로 변경하는 것은 거의 좋은 생각이 아니"
+"다."
 
-#: index.docbook:975
-msgid "<literal>on_close</literal> - says to use ConnectionReleaseMode.ON_CLOSE. This setting is left for backwards compatibility, but its use is highly discouraged."
-msgstr "<literal>on_close</literal> - 는 ConnectionReleaseMode.ON_CLOSE를 사용하라고 말한다. 이 설정은 역호환성을 위해 남겨졌지만, 그것의 사용은 매우 권장되지 않는다."
+#. Tag: para
+#: transactions.xml:975
+#, no-c-format
+msgid ""
+"<literal>on_close</literal> - says to use ConnectionReleaseMode.ON_CLOSE. "
+"This setting is left for backwards compatibility, but its use is highly "
+"discouraged."
+msgstr ""
+"<literal>on_close</literal> - 는 ConnectionReleaseMode.ON_CLOSE를 사용하라고 "
+"말한다. 이 설정은 역호환성을 위해 남겨졌지만, 그것의 사용은 매우 권장되지 않"
+"는다."
 
-#: index.docbook:981
-msgid "<literal>after_transaction</literal> - says to use ConnectionReleaseMode.AFTER_TRANSACTION. This setting should not be used in JTA environments. Also note that with ConnectionReleaseMode.AFTER_TRANSACTION, if a session is considered to be in auto-commit mode connections will be released as if the release mode were AFTER_STATEMENT."
-msgstr "<literal>after_transaction</literal> - 은 ConnectionReleaseMode.AFTER_TRANSACTION을 사용하라고 말한다. 이 설정은 JTA 환경들에서 사용되지 않을 것이다. 또한 ConnectionReleaseMode.AFTER_TRANSACTION인 경우에 만일 세션이 auto-commit 모드에 있도록 고려될 경우, 커넥션들은 마치 해제 모드가 AFTER_STATEMENT인 것처럼 해제될 것임을 또한 노트하라."
+#. Tag: para
+#: transactions.xml:981
+#, no-c-format
+msgid ""
+"<literal>after_transaction</literal> - says to use ConnectionReleaseMode."
+"AFTER_TRANSACTION. This setting should not be used in JTA environments. Also "
+"note that with ConnectionReleaseMode.AFTER_TRANSACTION, if a session is "
+"considered to be in auto-commit mode connections will be released as if the "
+"release mode were AFTER_STATEMENT."
+msgstr ""
+"<literal>after_transaction</literal> - 은 ConnectionReleaseMode."
+"AFTER_TRANSACTION을 사용하라고 말한다. 이 설정은 JTA 환경들에서 사용되지 않"
+"을 것이다. 또한 ConnectionReleaseMode.AFTER_TRANSACTION인 경우에 만일 세션이 "
+"auto-commit 모드에 있도록 고려될 경우, 커넥션들은 마치 해제 모드가 "
+"AFTER_STATEMENT인 것처럼 해제될 것임을 또한 노트하라."
 
-#: index.docbook:989
-msgid "<literal>after_statement</literal> - says to use ConnectionReleaseMode.AFTER_STATEMENT. Additionally, the configured <literal>ConnectionProvider</literal> is consulted to see if it supports this setting (<literal>supportsAggressiveRelease()</literal>). If not, the release mode is reset to ConnectionReleaseMode.AFTER_TRANSACTION. This setting is only safe in environments where we can either re-acquire the same underlying JDBC connection each time we make a call into <literal>ConnectionProvider.getConnection()</literal> or in auto-commit environments where it does not matter whether we get back the same connection."
-msgstr "<literal>after_statement</literal> - 는 ConnectionReleaseMode.AFTER_STATEMENT를 사용하라고 말한다. 추가적으로 구성된 <literal>ConnectionProvider</literal>는 그것이 이 설정 (<literal>supportsAggressiveRelease()</literal>)을 지원하는지 여부를 알기 위해 참고된다. 만일 지원하지 않을 경우, 해제 모드는 ConnectionReleaseMode.AFTER_TRANSACTION으로 재설정된다. 이 설정은 우리가 <literal>ConnectionProvider.getConnection()</literal>을 호출할 때마다 우리가 동일한 기본 JDBC 커넥션을 다시 필요로 할 수 있는 환경들에서 또는 우리가 동일한 커넥션을 얻는 것에 상관없는 auto-commit 환경에서 오직 안전하다."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: transactions.xml:989
+#, no-c-format
+msgid ""
+"<literal>after_statement</literal> - says to use ConnectionReleaseMode."
+"AFTER_STATEMENT. Additionally, the configured <literal>ConnectionProvider</"
+"literal> is consulted to see if it supports this setting "
+"(<literal>supportsAggressiveRelease()</literal>). If not, the release mode "
+"is reset to ConnectionReleaseMode.AFTER_TRANSACTION. This setting is only "
+"safe in environments where we can either re-acquire the same underlying JDBC "
+"connection each time we make a call into <literal>ConnectionProvider."
+"getConnection()</literal> or in auto-commit environments where it does not "
+"matter whether we get back the same connection."
+msgstr ""
+"<literal>after_statement</literal> - 는 ConnectionReleaseMode.AFTER_STATEMENT"
+"를 사용하라고 말한다. 추가적으로 구성된 <literal>ConnectionProvider</literal>"
+"는 그것이 이 설정 (<literal>supportsAggressiveRelease()</literal>)을 지원하는"
+"지 여부를 알기 위해 참고된다. 만일 지원하지 않을 경우, 해제 모드는 "
+"ConnectionReleaseMode.AFTER_TRANSACTION으로 재설정된다. 이 설정은 우리가 "
+"<literal>ConnectionProvider.getConnection()</literal>을 호출할 때마다 우리가 "
+"동일한 기본 JDBC 커넥션을 다시 필요로 할 수 있는 환경들에서 또는 우리가 동일"
+"한 커넥션을 얻는 것에 상관없는 auto-commit 환경에서 오직 안전하다."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/tutorial.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/tutorial.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/tutorial.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,1894 +1,2792 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:48+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:7
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: tutorial.xml:7
+#, no-c-format
 msgid "Introduction to Hibernate"
 msgstr "Hibernate 개요"
 
-#: index.docbook:10
+#. Tag: title
+#: tutorial.xml:10
+#, no-c-format
 msgid "Preface"
-msgstr "<title>머리말</title>"
+msgstr "머리말"
 
-#: index.docbook:12
-msgid "This chapter is an introductory tutorial for new users of Hibernate. We start with a simple command line application using an in-memory database and develop it in easy to understand steps."
-msgstr "이 장은 Hibernate 초심자를 위한 개론적인 튜토리얼이다. 우리는 메모리-내 데이터베이스를 사용하는 간단한 명령 라인 어플리케이션으로 시작하고 단계들을 이해하도록 쉽게 그것을 개발한다."
+#. Tag: para
+#: tutorial.xml:12
+#, no-c-format
+msgid ""
+"This chapter is an introductory tutorial for new users of Hibernate. We "
+"start with a simple command line application using an in-memory database and "
+"develop it in easy to understand steps."
+msgstr ""
+"이 장은 Hibernate 초심자를 위한 개론적인 튜토리얼이다. 우리는 메모리-내 데이"
+"터베이스를 사용하는 간단한 명령 라인 어플리케이션으로 시작하고 단계들을 이해"
+"하도록 쉽게 그것을 개발한다."
 
-#: index.docbook:18
-msgid "This tutorial is intended for new users of Hibernate but requires Java and SQL knowledge. It is based on a tutorial by Michael Gloegl, the third-party libraries we name are for JDK 1.4 and 5.0. You might need others for JDK 1.3."
-msgstr "이 튜토리얼은 Hibernate 신규 사용자들을 의도하고 있지만 Java와 SQL 지식을 필요로 한다. 그것은 Michael Gloegl이 작성한 튜토리얼에 기초하며, 우리가 명명하는 제 3의 라이브러리들은 JDK 1.4와 5.0 버전용이다. 당신은 JDK1.3에 대해 다른 라이브러리들을 필요로 할 수도 있다."
+#. Tag: para
+#: tutorial.xml:18
+#, no-c-format
+msgid ""
+"This tutorial is intended for new users of Hibernate but requires Java and "
+"SQL knowledge. It is based on a tutorial by Michael Gloegl, the third-party "
+"libraries we name are for JDK 1.4 and 5.0. You might need others for JDK 1.3."
+msgstr ""
+"이 튜토리얼은 Hibernate 신규 사용자들을 의도하고 있지만 Java와 SQL 지식을 필"
+"요로 한다. 그것은 Michael Gloegl이 작성한 튜토리얼에 기초하며, 우리가 명명하"
+"는 제 3의 라이브러리들은 JDK 1.4와 5.0 버전용이다. 당신은 JDK1.3에 대해 다른 "
+"라이브러리들을 필요로 할 수도 있다."
 
-#: index.docbook:24
-msgid "The source code for the tutorial is included in the distribution in the <literal>doc/reference/tutorial/</literal> directory."
-msgstr "튜토리얼용 소스는 <literal>doc/reference/tutorial/</literal> 디렉토리 내에 있는 배포본 내에 포함되어 있다."
+#. Tag: para
+#: tutorial.xml:24
+#, no-c-format
+msgid ""
+"The source code for the tutorial is included in the distribution in the "
+"<literal>doc/reference/tutorial/</literal> directory."
+msgstr ""
+"튜토리얼용 소스는 <literal>doc/reference/tutorial/</literal> 디렉토리 내에 있"
+"는 배포본 내에 포함되어 있다."
 
-#: index.docbook:32
+#. Tag: title
+#: tutorial.xml:32
+#, no-c-format
 msgid "Part 1 - The first Hibernate Application"
 msgstr "파트 1 - 첫 번째 Hibernate 어플리케이션"
 
-#: index.docbook:34
-msgid "First, we'll create a simple console-based Hibernate application. We use an Java database (HSQL DB), so we do not have to install any database server."
-msgstr "먼저, 우리는 한 개의 간단한 콘솔-기반 Hibernate 어플리케이션을 생성시킬 것이다. 우리는 메모리-내 데이터베이스(HSQL DB)를 사용하므로, 우리는 어떤 데이터베이스 서버를 설치하지 않아도 된다."
+#. Tag: para
+#: tutorial.xml:34
+#, no-c-format
+msgid ""
+"First, we'll create a simple console-based Hibernate application. We use an "
+"Java database (HSQL DB), so we do not have to install any database server."
+msgstr ""
+"먼저, 우리는 한 개의 간단한 콘솔-기반 Hibernate 어플리케이션을 생성시킬 것이"
+"다. 우리는 메모리-내 데이터베이스(HSQL DB)를 사용하므로, 우리는 어떤 데이터베"
+"이스 서버를 설치하지 않아도 된다."
 
-#: index.docbook:39
-msgid "Let's assume we need a small database application that can store events we want to attend, and information about the hosts of these events."
-msgstr "우리가 우리가 수반하고자 원하는 이벤트들을 저장할 수 있는 작은 데이터베이스 어플리케이션과 이들 이벤트들의 호스트들에 대한 정보를 필요로 한다고 가정하자."
+#. Tag: para
+#: tutorial.xml:39
+#, no-c-format
+msgid ""
+"Let's assume we need a small database application that can store events we "
+"want to attend, and information about the hosts of these events."
+msgstr ""
+"우리가 우리가 수반하고자 원하는 이벤트들을 저장할 수 있는 작은 데이터베이스 "
+"어플리케이션과 이들 이벤트들의 호스트들에 대한 정보를 필요로 한다고 가정하자."
 
-#: index.docbook:44
-msgid "The first thing we do, is set up our development directory and put all the Java libraries we need into it. Download the Hibernate distribution from the Hibernate website. Extract the package and place all required libraries found in <literal>/lib</literal> into into the <literal>/lib</literal> directory of your new development working directory. It should look like this:"
-msgstr "우리가 행할 첫 번째 것은 우리의 개발 디렉토리를 설정하고, 우리가 필요로 하는 모든 Java 라이브러리들을 그것 속에 집어 넣는 것이다. Hibernate 웹 사이트로부터 Hibernate 배포본을 내려 받아라. 패키지를 추출해내고 <literal>/lib</literal> 속에서 발견되는 모든 필요한 라이브러리들을 당신의 새로운 개발 작업 디렉토리의 <literal>/lib</literal> 디렉토리 속에 위치지워라. 그것은 다음과 같을 것이다:"
+#. Tag: para
+#: tutorial.xml:44
+#, no-c-format
+msgid ""
+"The first thing we do, is set up our development directory and put all the "
+"Java libraries we need into it. Download the Hibernate distribution from the "
+"Hibernate website. Extract the package and place all required libraries "
+"found in <literal>/lib</literal> into into the <literal>/lib</literal> "
+"directory of your new development working directory. It should look like "
+"this:"
+msgstr ""
+"우리가 행할 첫 번째 것은 우리의 개발 디렉토리를 설정하고, 우리가 필요로 하는 "
+"모든 Java 라이브러리들을 그것 속에 집어 넣는 것이다. Hibernate 웹 사이트로부"
+"터 Hibernate 배포본을 내려 받아라. 패키지를 추출해내고 <literal>/lib</"
+"literal> 속에서 발견되는 모든 필요한 라이브러리들을 당신의 새로운 개발 작업 "
+"디렉토리의 <literal>/lib</literal> 디렉토리 속에 위치지워라. 그것은 다음과 같"
+"을 것이다:"
 
-#: index.docbook:52
+#. Tag: programlisting
+#: tutorial.xml:52
+#, no-c-format
 msgid ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  antlr.jar\n"
-      "  cglib.jar\n"
-      "  asm.jar\n"
-      "  asm-attrs.jars\n"
-      "  commons-collections.jar\n"
-      "  commons-logging.jar\n"
-      "  hibernate3.jar\n"
-      "  jta.jar\n"
-      "  dom4j.jar\n"
-      "  log4j.jar ]]>"
+"<![CDATA[.\n"
+"+lib\n"
+"  antlr.jar\n"
+"  cglib.jar\n"
+"  asm.jar\n"
+"  asm-attrs.jars\n"
+"  commons-collections.jar\n"
+"  commons-logging.jar\n"
+"  hibernate3.jar\n"
+"  jta.jar\n"
+"  dom4j.jar\n"
+"  log4j.jar ]]>"
 msgstr ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  antlr.jar\n"
-      "  cglib.jar\n"
-      "  asm.jar\n"
-      "  asm-attrs.jars\n"
-      "  commons-collections.jar\n"
-      "  commons-logging.jar\n"
-      "  hibernate3.jar\n"
-      "  jta.jar\n"
-      "  dom4j.jar\n"
-      "  log4j.jar ]]>"
 
-#: index.docbook:54
-msgid "This is the minimum set of required libraries (note that we also copied hibernate3.jar, the main archive) for Hibernate <emphasis>at the time of writing</emphasis>. The Hibernate release you are using might require more or less libraries. See the <literal>README.txt</literal> file in the <literal>lib/</literal> directory of the Hibernate distribution for more information about required and optional third-party libraries. (Actually, Log4j is not required but preferred by many developers.)"
-msgstr "이것은 <emphasis>글의 작성 시점에서</emphasis> Hibernate에 필수적인 최소한의 세트이다(우리는 또한 메인 아카이브인 hibernate3.jar를 복사했음을 노트하라). 당신이 사용 중인 Hibernate 배포본이 더 많거나 보다 적은 라이브러리들을 필요로 할 수도 있다. 필수 라이브러리들과 선택적인 제3의 라이브러리들에 대한 추가 정보는 Hibernate 배포본의 <literal>lib/</literal> 디렉토리 내에 있는 <literal>README.txt</literal> 파일을 보라. (실제로, Log4j는 필수는 아니지만 많은 개발자들에 의해 선호된다.)"
+#. Tag: para
+#: tutorial.xml:54
+#, no-c-format
+msgid ""
+"This is the minimum set of required libraries (note that we also copied "
+"hibernate3.jar, the main archive) for Hibernate <emphasis>at the time of "
+"writing</emphasis>. The Hibernate release you are using might require more "
+"or less libraries. See the <literal>README.txt</literal> file in the "
+"<literal>lib/</literal> directory of the Hibernate distribution for more "
+"information about required and optional third-party libraries. (Actually, "
+"Log4j is not required but preferred by many developers.)"
+msgstr ""
+"이것은 <emphasis>글의 작성 시점에서</emphasis> Hibernate에 필수적인 최소한의 "
+"세트이다(우리는 또한 메인 아카이브인 hibernate3.jar를 복사했음을 노트하라). "
+"당신이 사용 중인 Hibernate 배포본이 더 많거나 보다 적은 라이브러리들을 필요"
+"로 할 수도 있다. 필수 라이브러리들과 선택적인 제3의 라이브러리들에 대한 추가 "
+"정보는 Hibernate 배포본의 <literal>lib/</literal> 디렉토리 내에 있는 "
+"<literal>README.txt</literal> 파일을 보라. (실제로, Log4j는 필수는 아니지만 "
+"많은 개발자들에 의해 선호된다.)"
 
-#: index.docbook:63
-msgid "Next we create a class that represents the event we want to store in database."
-msgstr "다음으로 우리는 우리가 데이터베이스 속에 저장시키고자 원하는 이벤트를 표현하는 한 개의 클래스를 생성시킨다."
+#. Tag: para
+#: tutorial.xml:63
+#, no-c-format
+msgid ""
+"Next we create a class that represents the event we want to store in "
+"database."
+msgstr ""
+"다음으로 우리는 우리가 데이터베이스 속에 저장시키고자 원하는 이벤트를 표현하"
+"는 한 개의 클래스를 생성시킨다."
 
-#: index.docbook:68
+#. Tag: title
+#: tutorial.xml:68
+#, no-c-format
 msgid "The first class"
 msgstr "첫 번째 클래스"
 
-#: index.docbook:70
-msgid "Our first persistent class is a simple JavaBean class with some properties:"
-msgstr "우리의 첫 번째 영속 클래스는 몇몇 프로퍼티들을 가진 간단한 자바빈즈 클래스이다:"
+#. Tag: para
+#: tutorial.xml:70
+#, no-c-format
+msgid ""
+"Our first persistent class is a simple JavaBean class with some properties:"
+msgstr ""
+"우리의 첫 번째 영속 클래스는 몇몇 프로퍼티들을 가진 간단한 자바빈즈 클래스이"
+"다:"
 
-#: index.docbook:74
+#. Tag: programlisting
+#: tutorial.xml:74
+#, no-c-format
 msgid ""
-      "<![CDATA[package events;\n"
-      "\n"
-      "import java.util.Date;\n"
-      "\n"
-      "public class Event {\n"
-      "    private Long id;\n"
-      "\n"
-      "    private String title;\n"
-      "    private Date date;\n"
-      "\n"
-      "    public Event() {}\n"
-      "\n"
-      "    public Long getId() {\n"
-      "        return id;\n"
-      "    }\n"
-      "\n"
-      "    private void setId(Long id) {\n"
-      "        this.id = id;\n"
-      "    }\n"
-      "\n"
-      "    public Date getDate() {\n"
-      "        return date;\n"
-      "    }\n"
-      "\n"
-      "    public void setDate(Date date) {\n"
-      "        this.date = date;\n"
-      "    }\n"
-      "\n"
-      "    public String getTitle() {\n"
-      "        return title;\n"
-      "    }\n"
-      "\n"
-      "    public void setTitle(String title) {\n"
-      "        this.title = title;\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[package events;\n"
+"\n"
+"import java.util.Date;\n"
+"\n"
+"public class Event {\n"
+"    private Long id;\n"
+"\n"
+"    private String title;\n"
+"    private Date date;\n"
+"\n"
+"    public Event() {}\n"
+"\n"
+"    public Long getId() {\n"
+"        return id;\n"
+"    }\n"
+"\n"
+"    private void setId(Long id) {\n"
+"        this.id = id;\n"
+"    }\n"
+"\n"
+"    public Date getDate() {\n"
+"        return date;\n"
+"    }\n"
+"\n"
+"    public void setDate(Date date) {\n"
+"        this.date = date;\n"
+"    }\n"
+"\n"
+"    public String getTitle() {\n"
+"        return title;\n"
+"    }\n"
+"\n"
+"    public void setTitle(String title) {\n"
+"        this.title = title;\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package events;\n"
-      "\n"
-      "import java.util.Date;\n"
-      "\n"
-      "public class Event {\n"
-      "    private Long id;\n"
-      "\n"
-      "    private String title;\n"
-      "    private Date date;\n"
-      "\n"
-      "    public Event() {}\n"
-      "\n"
-      "    public Long getId() {\n"
-      "        return id;\n"
-      "    }\n"
-      "\n"
-      "    private void setId(Long id) {\n"
-      "        this.id = id;\n"
-      "    }\n"
-      "\n"
-      "    public Date getDate() {\n"
-      "        return date;\n"
-      "    }\n"
-      "\n"
-      "    public void setDate(Date date) {\n"
-      "        this.date = date;\n"
-      "    }\n"
-      "\n"
-      "    public String getTitle() {\n"
-      "        return title;\n"
-      "    }\n"
-      "\n"
-      "    public void setTitle(String title) {\n"
-      "        this.title = title;\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:76
-msgid "You can see that this class uses standard JavaBean naming conventions for property getter and setter methods, as well as private visibility for the fields. This is a recommended design - but not required. Hibernate can also access fields directly, the benefit of accessor methods is robustness for refactoring. The no-argument constructor is required to instantiate an object of this class through reflection."
-msgstr "당신은 이 클래스가 프로퍼티 getter와 setter 메소드들에 대한 표준 자바빈즈 명명법들 뿐만 아니라 필드들에 대한 private 가시성을 사용하고 있음을 알 수 있다. 이것은 권장되는 설계이지만, 필수적이지는 않다. Hibernate는 또한 필드들에 직접 접근할 수 있으며, accessor 메소드들의 이점은 강건한 리팩토링이다. 아규먼트 없는 생성자는 reflection을 통해 이 클래스의 객체를 초기화 시킬 필요가 있다."
+#. Tag: para
+#: tutorial.xml:76
+#, no-c-format
+msgid ""
+"You can see that this class uses standard JavaBean naming conventions for "
+"property getter and setter methods, as well as private visibility for the "
+"fields. This is a recommended design - but not required. Hibernate can also "
+"access fields directly, the benefit of accessor methods is robustness for "
+"refactoring. The no-argument constructor is required to instantiate an "
+"object of this class through reflection."
+msgstr ""
+"당신은 이 클래스가 프로퍼티 getter와 setter 메소드들에 대한 표준 자바빈즈 명"
+"명법들 뿐만 아니라 필드들에 대한 private 가시성을 사용하고 있음을 알 수 있"
+"다. 이것은 권장되는 설계이지만, 필수적이지는 않다. Hibernate는 또한 필드들에 "
+"직접 접근할 수 있으며, accessor 메소드들의 이점은 강건한 리팩토링이다. 아규먼"
+"트 없는 생성자는 reflection을 통해 이 클래스의 객체를 초기화 시킬 필요가 있"
+"다."
 
-#: index.docbook:84
-msgid "The <literal>id</literal> property holds a unique identifier value for a particular event. All persistent entity classes (there are less important dependent classes as well) will need such an identifier property if we want to use the full feature set of Hibernate. In fact, most applications (esp. web applications) need to distinguish objects by identifier, so you should consider this a feature rather than a limitation. However, we usually don't manipulate the identity of an object, hence the setter method should be private. Only Hibernate will assign identifiers when an object is saved. You can see that Hibernate can access public, private, and protected accessor methods, as well as (public, private, protected) fields directly. The choice is up to you and you can match it to fit your application design."
-msgstr "<literal>id</literal> 프로퍼티는 특별한 이벤트를 위한 유일 식별자를 소유한다. 모든 영속 엔티티 클래스들 (보다 덜 중요한 종속 클래스들도 존재한다)은 우리가 Hibernate의 ì „ì²´ 특징 집합을 사용하고자 원할 경우에 그런 식별자 프로퍼티를 필요로 í•  것이다. 사실 대부분의 어플리케이션들(특히 웹 어플리케이션들)은 식별자에 의해 객체들을 구분지을 필요가 있어서, 당신은 이것을 ì–´ë–¤ 제약점이라기 보다는 하나의 특징으로 간주할 것이다. 하지만 우리는 대개 객체의 항등(identity)를 처리하지 않으므로, setter 메소드는 private이어야 한다. 객체가 저장될 ë•Œ, Hibernate는 단지 식별자들을 할당할 것이다. 당신은 Hibernateê°€ public, private, protected 접근자 메소드들 뿐만 아니라 (public, private, protected) 필드들에도 직접 접근할 수 있음을 ì•Œ 수 있다. ì„!
  íƒì€ 당신에게 달려 있으며, 당신은 당신의 어플리케이션 설계에 적합하도록 그것을 부합시킬 수 있다."
+#. Tag: para
+#: tutorial.xml:84
+#, no-c-format
+msgid ""
+"The <literal>id</literal> property holds a unique identifier value for a "
+"particular event. All persistent entity classes (there are less important "
+"dependent classes as well) will need such an identifier property if we want "
+"to use the full feature set of Hibernate. In fact, most applications (esp. "
+"web applications) need to distinguish objects by identifier, so you should "
+"consider this a feature rather than a limitation. However, we usually don't "
+"manipulate the identity of an object, hence the setter method should be "
+"private. Only Hibernate will assign identifiers when an object is saved. You "
+"can see that Hibernate can access public, private, and protected accessor "
+"methods, as well as (public, private, protected) fields directly. The choice "
+"is up to you and you can match it to fit your application design."
+msgstr ""
+"<literal>id</literal> 프로퍼티는 특별한 이벤트를 위한 유일 식별자를 소유한"
+"다. 모든 영속 엔티티 클래스들 (보다 덜 중요한 종속 클래스들도 존재한다)은 우"
+"리가 Hibernate의 전체 특징 집합을 사용하고자 원할 경우에 그런 식별자 프로퍼티"
+"를 필요로 할 것이다. 사실 대부분의 어플리케이션들(특히 웹 어플리케이션들)은 "
+"식별자에 의해 객체들을 구분지을 필요가 있어서, 당신은 이것을 어떤 제약점이라"
+"기 보다는 하나의 특징으로 간주할 것이다. 하지만 우리는 대개 객체의 항등"
+"(identity)를 처리하지 않으므로, setter 메소드는 private이어야 한다. 객체가 저"
+"장될 때, Hibernate는 단지 식별자들을 할당할 것이다. 당신은 Hibernate가 "
+"public, private, protected 접근자 메소드들 뿐만 아니라 (public, private, "
+"protected) 필드들에도 직접 접근할 수 있음을 알 수 있다. 선택은 당신에게 달려 "
+"있으며, 당신은 당신의 어플리케이션 설계에 적합하도록 그것을 부합시킬 수 있다."
 
-#: index.docbook:96
-msgid "The no-argument constructor is a requirement for all persistent classes; Hibernate has to create objects for you, using Java Reflection. The constructor can be private, however, package visibility is required for runtime proxy generation and efficient data retrieval without bytecode instrumentation."
-msgstr "아규먼트 없는 생성자는 모든 영속 클래스들에 대한 필요조건이다; Hibernate는 당신을 위해 Java Reflection을 사용하여 객체들을 생성시켜야 한다. 하지만 생성자는 private 일 수 있고, 패키지 가시성은 런타임 프락시 생성과 바이트코드 방편 없는 효율적인 데이터 검색에 필요하다."
+#. Tag: para
+#: tutorial.xml:96
+#, no-c-format
+msgid ""
+"The no-argument constructor is a requirement for all persistent classes; "
+"Hibernate has to create objects for you, using Java Reflection. The "
+"constructor can be private, however, package visibility is required for "
+"runtime proxy generation and efficient data retrieval without bytecode "
+"instrumentation."
+msgstr ""
+"아규먼트 없는 생성자는 모든 영속 클래스들에 대한 필요조건이다; Hibernate는 당"
+"신을 위해 Java Reflection을 사용하여 객체들을 생성시켜야 한다. 하지만 생성자"
+"는 private 일 수 있고, 패키지 가시성은 런타임 프락시 생성과 바이트코드 방편 "
+"없는 효율적인 데이터 검색에 필요하다."
 
-#: index.docbook:103
-msgid "Place this Java source file in a directory called <literal>src</literal> in the development folder, and in its correct package. The directory should now look like this:"
-msgstr "이 Java 소스 파일을 개발 폴더 내의 <literal>src</literal>로 명명된 디렉토리 속에 있는 위치지워라. 이제 그 디렉토리는 다음과 같을 것이다:"
+#. Tag: para
+#: tutorial.xml:103
+#, no-c-format
+msgid ""
+"Place this Java source file in a directory called <literal>src</literal> in "
+"the development folder, and in its correct package. The directory should now "
+"look like this:"
+msgstr ""
+"이 Java 소스 파일을 개발 폴더 내의 <literal>src</literal>로 명명된 디렉토리 "
+"속에 있는 위치지워라. 이제 그 디렉토리는 다음과 같을 것이다:"
 
-#: index.docbook:108
+#. Tag: programlisting
+#: tutorial.xml:108
+#, no-c-format
 msgid ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate and third-party libraries>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java]]>"
+"<![CDATA[.\n"
+"+lib\n"
+"  <Hibernate and third-party libraries>\n"
+"+src\n"
+"  +events\n"
+"    Event.java]]>"
 msgstr ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate and third-party libraries>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java]]>"
 
-#: index.docbook:110
+#. Tag: para
+#: tutorial.xml:110
+#, no-c-format
 msgid "In the next step, we tell Hibernate about this persistent class."
 msgstr "다음 단계에서, 우리는 Hiberante에게 이 영속 클래스에 대해 알려 준다."
 
-#: index.docbook:117
+#. Tag: title
+#: tutorial.xml:117
+#, no-c-format
 msgid "The mapping file"
 msgstr "The mapping file"
 
-#: index.docbook:119
-msgid "Hibernate needs to know how to load and store objects of the persistent class. This is where the Hibernate mapping file comes into play. The mapping file tells Hibernate what table in the database it has to access, and what columns in that table it should use."
-msgstr "Hibernate는 영속 크래스들에 대한 객체들을 로드시키고 저장시키는 방법을 알 필요가 있다. 이곳은 Hibernate 매핑 파일이 역할을 행하는 곳이다. 매핑 파일은 Hibernate가 접근해야 하는 데이터베이스 내의 테이블이 무엇인지, 그리고 그것이 사용해야 하는 그 테이블 내의 컬럼들이 무엇인지를 Hibernate에게 알려준다."
+#. Tag: para
+#: tutorial.xml:119
+#, no-c-format
+msgid ""
+"Hibernate needs to know how to load and store objects of the persistent "
+"class. This is where the Hibernate mapping file comes into play. The mapping "
+"file tells Hibernate what table in the database it has to access, and what "
+"columns in that table it should use."
+msgstr ""
+"Hibernate는 영속 크래스들에 대한 객체들을 로드시키고 저장시키는 방법을 알 필"
+"요가 있다. 이곳은 Hibernate 매핑 파일이 역할을 행하는 곳이다. 매핑 파일은 "
+"Hibernate가 접근해야 하는 데이터베이스 내의 테이블이 무엇인지, 그리고 그것이 "
+"사용해야 하는 그 테이블 내의 컬럼들이 무엇인지를 Hibernate에게 알려준다."
 
-#: index.docbook:126
+#. Tag: para
+#: tutorial.xml:126
+#, no-c-format
 msgid "The basic structure of a mapping file looks like this:"
 msgstr "매핑 파일의 기본 구조는 다음과 같다:"
 
-#: index.docbook:130
+#. Tag: programlisting
+#: tutorial.xml:130
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping>\n"
-      "[...]\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping>\n"
+"[...]\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping>\n"
-      "[...]\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:132
-msgid "Note that the Hibernate DTD is very sophisticated. You can use it for auto-completion of XML mapping elements and attributes in your editor or IDE. You also should open up the DTD file in your text editor - it's the easiest way to get an overview of all elements and attributes and to see the defaults, as well as some comments. Note that Hibernate will not load the DTD file from the web, but first look it up from the classpath of the application. The DTD file is included in <literal>hibernate3.jar</literal> as well as in the <literal>src/</literal> directory of the Hibernate distribution."
-msgstr "Hibernate DTD는 매우 정교하다. 당신은 당신의 편집기 또는 IDE 내에서 XML 매핑 요소들과 속성들에 대한 자동 완성 기능을 위해 그것을 사용할 수 있다. 당신은 또한 당신의 텍스트 편집기 내에 DTD 파일을 열 수 있을 것이다 - 그것은 모든 요소들과 속성들에 대한 전체상을 얻고 디폴트들 뿐만 아니라 몇몇 주석들을 보는 가장 손쉬운 방법이다. Hibernate는 웹으로부터 DTD 파일을 로드시키지 않지만, 먼저 어플리케이션의 classpath 경로로부터 그것을 먼저 룩업할 것임을 노트하라. DTD 파일은 <literal>hibernate3.jar</literal> 속에 포함되어 있을 뿐만 아니라 Hibernate 배포본의 <literal>src/</literal> 디렉토리 속에 포함되어 있다."
+#. Tag: para
+#: tutorial.xml:132
+#, no-c-format
+msgid ""
+"Note that the Hibernate DTD is very sophisticated. You can use it for auto-"
+"completion of XML mapping elements and attributes in your editor or IDE. You "
+"also should open up the DTD file in your text editor - it's the easiest way "
+"to get an overview of all elements and attributes and to see the defaults, "
+"as well as some comments. Note that Hibernate will not load the DTD file "
+"from the web, but first look it up from the classpath of the application. "
+"The DTD file is included in <literal>hibernate3.jar</literal> as well as in "
+"the <literal>src/</literal> directory of the Hibernate distribution."
+msgstr ""
+"Hibernate DTD는 매우 정교하다. 당신은 당신의 편집기 또는 IDE 내에서 XML 매핑 "
+"요소들과 속성들에 대한 자동 완성 기능을 위해 그것을 사용할 수 있다. 당신은 또"
+"한 당신의 텍스트 편집기 내에 DTD 파일을 열 수 있을 것이다 - 그것은 모든 요소"
+"들과 속성들에 대한 전체상을 얻고 디폴트들 뿐만 아니라 몇몇 주석들을 보는 가"
+"장 손쉬운 방법이다. Hibernate는 웹으로부터 DTD 파일을 로드시키지 않지만, 먼"
+"저 어플리케이션의 classpath 경로로부터 그것을 먼저 룩업할 것임을 노트하라. "
+"DTD 파일은 <literal>hibernate3.jar</literal> 속에 포함되어 있을 뿐만 아니라 "
+"Hibernate 배포본의 <literal>src/</literal> 디렉토리 속에 포함되어 있다."
 
-#: index.docbook:143
-msgid "We will omit the DTD declaration in future examples to shorten the code. It is of course not optional."
-msgstr "우리는 코드를 간략화 시키기 위해 장래의 예제에서 DTD 선언을 생략할 것이다. 그것은 물론 옵션이 아니다."
+#. Tag: para
+#: tutorial.xml:143
+#, no-c-format
+msgid ""
+"We will omit the DTD declaration in future examples to shorten the code. It "
+"is of course not optional."
+msgstr ""
+"우리는 코드를 간략화 시키기 위해 장래의 예제에서 DTD 선언을 생략할 것이다. 그"
+"것은 물론 옵션이 아니다."
 
-#: index.docbook:148
-msgid "Between the two <literal>hibernate-mapping</literal> tags, include a <literal>class</literal> element. All persistent entity classes (again, there might be dependent classes later on, which are not first-class entities) need such a mapping, to a table in the SQL database:"
-msgstr "두 개의 <literal>hibernate-mapping</literal> 태그들 사이에 <literal>class</literal> 요소를 포함시켜라. 모든 영속 엔티티 클래스들(다시금 종속 클래스들일 수 있고, 그것은 첫번째-급의 엔티티들이 아니다)은 SQL 데이터베이스 내의 테이블에 대한 그런 매핑을 필요로 한다:"
+#. Tag: para
+#: tutorial.xml:148
+#, no-c-format
+msgid ""
+"Between the two <literal>hibernate-mapping</literal> tags, include a "
+"<literal>class</literal> element. All persistent entity classes (again, "
+"there might be dependent classes later on, which are not first-class "
+"entities) need such a mapping, to a table in the SQL database:"
+msgstr ""
+"두 개의 <literal>hibernate-mapping</literal> 태그들 사이에 <literal>class</"
+"literal> 요소를 포함시켜라. 모든 영속 엔티티 클래스들(다시금 종속 클래스들일 "
+"수 있고, 그것은 첫번째-급의 엔티티들이 아니다)은 SQL 데이터베이스 내의 테이블"
+"에 대한 그런 매핑을 필요로 한다:"
 
-#: index.docbook:155
+#. Tag: programlisting
+#: tutorial.xml:155
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Event\" table=\"EVENTS\">\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"events.Event\" table=\"EVENTS\">\n"
+"\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Event\" table=\"EVENTS\">\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:157
-msgid "So far we told Hibernate how to persist and load object of class <literal>Event</literal> to the table <literal>EVENTS</literal>, each instance represented by a row in that table. Now we continue with a mapping of the unique identifier property to the tables primary key. In addition, as we don't want to care about handling this identifier, we configure Hibernate's identifier generation strategy for a surrogate primary key column:"
-msgstr "지금까지 우리는 그 테이블 내에 있는 한 행에 의해 표현된 각각의 인스턴스인, 클래스의 객체를 영속화 시키고 로드시키는 방법을 Hibernate에게 알려주었다. 이제 우린느 테이블 프라이머리 키에 대한 유일 식별자 프로퍼티 매핑을 계속 행한다. 게다가 우리는 이 식별자를 처리하는 것에 주의를 기울이고자 원하지 않으므로, 우리는 대용 키 프라이머리 키 컬럼에 대한 Hibernate의 식별자 생성 방도를 구성한다:"
+#. Tag: para
+#: tutorial.xml:157
+#, no-c-format
+msgid ""
+"So far we told Hibernate how to persist and load object of class "
+"<literal>Event</literal> to the table <literal>EVENTS</literal>, each "
+"instance represented by a row in that table. Now we continue with a mapping "
+"of the unique identifier property to the tables primary key. In addition, as "
+"we don't want to care about handling this identifier, we configure "
+"Hibernate's identifier generation strategy for a surrogate primary key "
+"column:"
+msgstr ""
+"지금까지 우리는 그 테이블 내에 있는 한 행에 의해 표현된 각각의 인스턴스인, 클"
+"래스의 객체를 영속화 시키고 로드시키는 방법을 Hibernate에게 알려주었다. 이제 "
+"우린느 테이블 프라이머리 키에 대한 유일 식별자 프로퍼티 매핑을 계속 행한다. "
+"게다가 우리는 이 식별자를 처리하는 것에 주의를 기울이고자 원하지 않으므로, 우"
+"리는 대용 키 프라이머리 키 컬럼에 대한 Hibernate의 식별자 생성 방도를 구성한"
+"다:"
 
-#: index.docbook:165
+#. Tag: programlisting
+#: tutorial.xml:165
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Event\" table=\"EVENTS\">\n"
-      "        <id name=\"id\" column=\"EVENT_ID\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"events.Event\" table=\"EVENTS\">\n"
+"        <id name=\"id\" column=\"EVENT_ID\">\n"
+"            <generator class=\"native\"/>\n"
+"        </id>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Event\" table=\"EVENTS\">\n"
-      "        <id name=\"id\" column=\"EVENT_ID\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:167
-msgid "The <literal>id</literal> element is the declaration of the identifer property, <literal>name=\"id\"</literal> declares the name of the Java property - Hibernate will use the getter and setter methods to access the property. The column attribute tells Hibernate which column of the <literal>EVENTS</literal> table we use for this primary key. The nested <literal>generator</literal> element specifies the identifier generation strategy, in this case we used <literal>native</literal>, which picks the best strategy depending on the configured database (dialect). Hibernate supports database generated, globally unique, as well as application assigned identifiers (or any strategy you have written an extension for)."
-msgstr "<literal>id</literal> 요소는 식별자 프로퍼티의 선언이고, <literal>name=\"id\"</literal>는 Java 프로퍼티의 이름을 선언한다 - Hibernate는 그 프로퍼티에 접근하는데 getter 및 setter 메소드들을 사용할 것이다. column 속성은 우리가 <literal>EVENTS</literal> 테이블의 어느 컬럼을 이 프라이머리 키로 사용하는지를 Hibernate에게 알려준다. 내포된 <literal>generator</literal> 요소는 식별자 생성 방도를 지정하며, 이 경우에 우리는 <literal>increment</literal>를 사용했고, 그것은 대개 테스팅(과 튜토리얼들)에 유용한 매우 간단한 메모리-내 숫자 증가 방법이다. Hibernate는 또한 전역적으로 유일한 데이터베이스에 의해 생성된 식별자 뿐만 아니라 어플리케이션에 의해 할당된 식별자(또는 당신이 확장으로 작성한 어떤 방도)를 지원한다."
+#. Tag: para
+#: tutorial.xml:167
+#, no-c-format
+msgid ""
+"The <literal>id</literal> element is the declaration of the identifer "
+"property, <literal>name=\"id\"</literal> declares the name of the Java "
+"property - Hibernate will use the getter and setter methods to access the "
+"property. The column attribute tells Hibernate which column of the "
+"<literal>EVENTS</literal> table we use for this primary key. The nested "
+"<literal>generator</literal> element specifies the identifier generation "
+"strategy, in this case we used <literal>native</literal>, which picks the "
+"best strategy depending on the configured database (dialect). Hibernate "
+"supports database generated, globally unique, as well as application "
+"assigned identifiers (or any strategy you have written an extension for)."
+msgstr ""
+"<literal>id</literal> 요소는 식별자 프로퍼티의 선언이고, <literal>name=\"id"
+"\"</literal>는 Java 프로퍼티의 이름을 선언한다 - Hibernate는 그 프로퍼티에 접"
+"근하는데 getter 및 setter 메소드들을 사용할 것이다. column 속성은 우리가 "
+"<literal>EVENTS</literal> 테이블의 어느 컬럼을 이 프라이머리 키로 사용하는지"
+"를 Hibernate에게 알려준다. 내포된 <literal>generator</literal> 요소는 식별자 "
+"생성 방도를 지정하며, 이 경우에 우리는 <literal>increment</literal>를 사용했"
+"고, 그것은 대개 테스팅(과 튜토리얼들)에 유용한 매우 간단한 메모리-내 숫자 증"
+"가 방법이다. Hibernate는 또한 전역적으로 유일한 데이터베이스에 의해 생성된 식"
+"별자 뿐만 아니라 어플리케이션에 의해 할당된 식별자(또는 당신이 확장으로 작성"
+"한 어떤 방도)를 지원한다."
 
-#: index.docbook:180
-msgid "Finally we include declarations for the persistent properties of the class in the mapping file. By default, no properties of the class are considered persistent:"
-msgstr "마지막으로 우리는 매핑 파일 속에서 클래스의 영속 프로퍼티들에 대한 선언들을 포함한다. 디폴트로, 클래스의 프로퍼티들은 영속적인 것으로 간주되지 않는다:"
+#. Tag: para
+#: tutorial.xml:180
+#, no-c-format
+msgid ""
+"Finally we include declarations for the persistent properties of the class "
+"in the mapping file. By default, no properties of the class are considered "
+"persistent:"
+msgstr ""
+"마지막으로 우리는 매핑 파일 속에서 클래스의 영속 프로퍼티들에 대한 선언들을 "
+"포함한다. 디폴트로, 클래스의 프로퍼티들은 영속적인 것으로 간주되지 않는다:"
 
-#: index.docbook:186
+#. Tag: programlisting
+#: tutorial.xml:186
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Event\" table=\"EVENTS\">\n"
-      "        <id name=\"id\" column=\"EVENT_ID\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"date\" type=\"timestamp\" column=\"EVENT_DATE\"/>\n"
-      "        <property name=\"title\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[\n"
+"<hibernate-mapping>\n"
+"\n"
+"    <class name=\"events.Event\" table=\"EVENTS\">\n"
+"        <id name=\"id\" column=\"EVENT_ID\">\n"
+"            <generator class=\"native\"/>\n"
+"        </id>\n"
+"        <property name=\"date\" type=\"timestamp\" column=\"EVENT_DATE\"/>\n"
+"        <property name=\"title\"/>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Event\" table=\"EVENTS\">\n"
-      "        <id name=\"id\" column=\"EVENT_ID\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"date\" type=\"timestamp\" column=\"EVENT_DATE\"/>\n"
-      "        <property name=\"title\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:188
-msgid "Just as with the <literal>id</literal> element, the <literal>name</literal> attribute of the <literal>property</literal> element tells Hibernate which getter and setter methods to use. So, in this case, Hibernate will look for <literal>getDate()/setDate()</literal>, as well as <literal>getTitle()/setTitle()</literal>."
-msgstr "<literal>id</literal> 요소의 경우처럼, <literal>property</literal> 요소의 <literal>name</literal> 속성은 사용할 getter 및 setter 메소드들이 어느 것인지를 Hibernate에게 알려준다. 따라서 이 경우에 Hibernate는 <literal>getDate()/setDate()</literal> 뿐만 아니라 <literal>getTitle()/setTitle()</literal>을 찾게 될 것이다."
+#. Tag: para
+#: tutorial.xml:188
+#, no-c-format
+msgid ""
+"Just as with the <literal>id</literal> element, the <literal>name</literal> "
+"attribute of the <literal>property</literal> element tells Hibernate which "
+"getter and setter methods to use. So, in this case, Hibernate will look for "
+"<literal>getDate()/setDate()</literal>, as well as <literal>getTitle()/"
+"setTitle()</literal>."
+msgstr ""
+"<literal>id</literal> 요소의 경우처럼, <literal>property</literal> 요소의 "
+"<literal>name</literal> 속성은 사용할 getter 및 setter 메소드들이 어느 것인지"
+"를 Hibernate에게 알려준다. 따라서 이 경우에 Hibernate는 <literal>getDate()/"
+"setDate()</literal> 뿐만 아니라 <literal>getTitle()/setTitle()</literal>을 찾"
+"게 될 것이다."
 
-#: index.docbook:195
-msgid "Why does the <literal>date</literal> property mapping include the <literal>column</literal> attribute, but the <literal>title</literal> doesn't? Without the <literal>column</literal> attribute Hibernate by default uses the property name as the column name. This works fine for <literal>title</literal>. However, <literal>date</literal> is a reserved keyword in most database, so we better map it to a different name."
-msgstr "<literal>date</literal> 프로퍼티 매핑은 <literal>column</literal> 속성을 포함하는데, 왜 <literal>title</literal>은 <literal>column</literal> 속성을 포함하지 않는가? <literal>column</literal> 속성이 없을 경우 Hibernate는 디폴트로 컬럼 이름으로서 프로퍼티 이름을 사용한다. 이것은 에 대해 잘 동작한다. 하지만 <literal>date</literal>는 대부분의 데이터베이스에서 예약된 키워드이어서, 우리는 그것을 다른 이름으로 더 좋게 매핑 시킨다."
+#. Tag: para
+#: tutorial.xml:195
+#, no-c-format
+msgid ""
+"Why does the <literal>date</literal> property mapping include the "
+"<literal>column</literal> attribute, but the <literal>title</literal> "
+"doesn't? Without the <literal>column</literal> attribute Hibernate by "
+"default uses the property name as the column name. This works fine for "
+"<literal>title</literal>. However, <literal>date</literal> is a reserved "
+"keyword in most database, so we better map it to a different name."
+msgstr ""
+"<literal>date</literal> 프로퍼티 매핑은 <literal>column</literal> 속성을 포함"
+"하는데, 왜 <literal>title</literal>은 <literal>column</literal> 속성을 포함하"
+"지 않는가? <literal>column</literal> 속성이 없을 경우 Hibernate는 디폴트로 컬"
+"럼 이름으로서 프로퍼티 이름을 사용한다. 이것은 에 대해 잘 동작한다. 하지만 "
+"<literal>date</literal>는 대부분의 데이터베이스에서 예약된 키워드이어서, 우리"
+"는 그것을 다른 이름으로 더 좋게 매핑 시킨다."
 
-#: index.docbook:204
-msgid "The next interesting thing is that the <literal>title</literal> mapping also lacks a <literal>type</literal> attribute. The types we declare and use in the mapping files are not, as you might expect, Java data types. They are also not SQL database types. These types are so called <emphasis>Hibernate mapping types</emphasis>, converters which can translate from Java to SQL data types and vice versa. Again, Hibernate will try to determine the correct conversion and mapping type itself if the <literal>type</literal> attribute is not present in the mapping. In some cases this automatic detection (using Reflection on the Java class) might not have the default you expect or need. This is the case with the <literal>date</literal> property. Hibernate can't know if the property (which is of <literal>java.util.Date</literal>) should map to a SQL <literal>date</literal>, <literal>timestamp</literal>, or <literal>time</literal> column. We preserve full date and time information !
 by mapping the property with a <literal>timestamp</literal> converter."
-msgstr "다음 흥미로운 점은 <literal>title</literal> 매핑 또한 <literal>type</literal> 속성을 갖지 않는다. 우리가 매핑파일들 속에서 선언하고 사용하는 타입들은 당신이 예상하는 Java 데이터 타입들이 아니다. 그것들은 또한 SQL 데이터베이스 타입들도 아니다. 이들 타입들은 이른바 <emphasis>Hibernate 매핑 타입들</emphasis>, 즉 Java 타입들로부터 SQL 타입들로 변환될 수 있고 반대로 SQL 타입들로부터 Java 타입들로 매핑될 수 있는 컨버터들이다. 다시말해, <literal>type</literal> 속성이 매핑 속에 존재하지 않을 경우 Hibernate는 정확환 변환 및 매핑 타입 ê·¸ 자체를 결정하려고 시도할 것이다. 몇몇 경우들에서 (Java 클래스에 대한 Reflection을 사용하는) 이 자동적인 검출은 당신이 예상하거나 필요로 하는 디폴트를 갖지 않을 수도 있다. 이것은 <literal>date</literal> 프로퍼í!
 ‹°ë¥¼ 가진 경우이다. Hibernate는 ê·¸ 프로퍼티가 SQL <literal>date</literal> 컬럼, <literal>timestamp</literal> 컬럼 또는 <literal>time</literal> 컬럼 중 어느 것으로 매핑되어야 하는지를 ì•Œ 수가 없다. 우리는 <literal>timestamp</literal> 컨버터를 가진 프로퍼티를 매핑함으로써 ì „ì²´ 날짜와 시간 정보를 보존하고 싶다고 선언한다."
+#. Tag: para
+#: tutorial.xml:204
+#, no-c-format
+msgid ""
+"The next interesting thing is that the <literal>title</literal> mapping also "
+"lacks a <literal>type</literal> attribute. The types we declare and use in "
+"the mapping files are not, as you might expect, Java data types. They are "
+"also not SQL database types. These types are so called <emphasis>Hibernate "
+"mapping types</emphasis>, converters which can translate from Java to SQL "
+"data types and vice versa. Again, Hibernate will try to determine the "
+"correct conversion and mapping type itself if the <literal>type</literal> "
+"attribute is not present in the mapping. In some cases this automatic "
+"detection (using Reflection on the Java class) might not have the default "
+"you expect or need. This is the case with the <literal>date</literal> "
+"property. Hibernate can't know if the property (which is of <literal>java."
+"util.Date</literal>) should map to a SQL <literal>date</literal>, "
+"<literal>timestamp</literal>, or <literal>time</literal> column. We preserve "
+"full date and time information by mapping the property with a "
+"<literal>timestamp</literal> converter."
+msgstr ""
+"다음 흥미로운 점은 <literal>title</literal> 매핑 또한 <literal>type</"
+"literal> 속성을 갖지 않는다. 우리가 매핑파일들 속에서 선언하고 사용하는 타입"
+"들은 당신이 예상하는 Java 데이터 타입들이 아니다. 그것들은 또한 SQL 데이터베"
+"이스 타입들도 아니다. 이들 타입들은 이른바 <emphasis>Hibernate 매핑 타입들</"
+"emphasis>, 즉 Java 타입들로부터 SQL 타입들로 변환될 수 있고 반대로 SQL 타입들"
+"로부터 Java 타입들로 매핑될 수 있는 컨버터들이다. 다시말해, <literal>type</"
+"literal> 속성이 매핑 속에 존재하지 않을 경우 Hibernate는 정확환 변환 및 매핑 "
+"타입 그 자체를 결정하려고 시도할 것이다. 몇몇 경우들에서 (Java 클래스에 대한 "
+"Reflection을 사용하는) 이 자동적인 검출은 당신이 예상하거나 필요로 하는 디폴"
+"트를 갖지 않을 수도 있다. 이것은 <literal>date</literal> 프로퍼티를 가진 경우"
+"이다. Hibernate는 그 프로퍼티가 SQL <literal>date</literal> 컬럼, "
+"<literal>timestamp</literal> 컬럼 또는 <literal>time</literal> 컬럼 중 어느 "
+"것으로 매핑되어야 하는지를 알 수가 없다. 우리는 <literal>timestamp</literal> "
+"컨버터를 가진 프로퍼티를 매핑함으로써 전체 날짜와 시간 정보를 보존하고 싶다"
+"고 선언한다."
 
-#: index.docbook:220
-msgid "This mapping file should be saved as <literal>Event.hbm.xml</literal>, right in the directory next to the <literal>Event</literal> Java class source file. The naming of mapping files can be arbitrary, however the <literal>hbm.xml</literal> suffix is a convention in the Hibernate developer community. The directory structure should now look like this:"
-msgstr "다음 매핑 파일은 <literal>Event</literal> Java 클래스 소스 파일과 같은 디렉토리 속에 <literal>Event.hbm.xml</literal>로서 저장될 것이다. 매핑 파일들에 대한 네이밍은 임의적일 수 있지만, 접미사 <literal>hbm.xml</literal>은 Hibernate 개발자 공동체 내에서 컨벤션이 되었다. 디렉토리 구조는 이제 다음과 같을 것이다:"
+#. Tag: para
+#: tutorial.xml:220
+#, no-c-format
+msgid ""
+"This mapping file should be saved as <literal>Event.hbm.xml</literal>, right "
+"in the directory next to the <literal>Event</literal> Java class source "
+"file. The naming of mapping files can be arbitrary, however the <literal>hbm."
+"xml</literal> suffix is a convention in the Hibernate developer community. "
+"The directory structure should now look like this:"
+msgstr ""
+"다음 매핑 파일은 <literal>Event</literal> Java 클래스 소스 파일과 같은 디렉토"
+"리 속에 <literal>Event.hbm.xml</literal>로서 저장될 것이다. 매핑 파일들에 대"
+"한 네이밍은 임의적일 수 있지만, 접미사 <literal>hbm.xml</literal>은 "
+"Hibernate 개발자 공동체 내에서 컨벤션이 되었다. 디렉토리 구조는 이제 다음과 "
+"같을 것이다:"
 
-#: index.docbook:228
+#. Tag: programlisting
+#: tutorial.xml:228
+#, no-c-format
 msgid ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate and third-party libraries>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java\n"
-      "    Event.hbm.xml]]>"
+"<![CDATA[.\n"
+"+lib\n"
+"  <Hibernate and third-party libraries>\n"
+"+src\n"
+"  +events\n"
+"    Event.java\n"
+"    Event.hbm.xml]]>"
 msgstr ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate and third-party libraries>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java\n"
-      "    Event.hbm.xml]]>"
 
-#: index.docbook:230
+#. Tag: para
+#: tutorial.xml:230
+#, no-c-format
 msgid "We continue with the main configuration of Hibernate."
 msgstr "우리는 Hibernate의 메인 구성을 계속 행한다."
 
-#: index.docbook:237
+#. Tag: title
+#: tutorial.xml:237
+#, no-c-format
 msgid "Hibernate configuration"
 msgstr "Hibernate 구성"
 
-#: index.docbook:239
-msgid "We now have a persistent class and its mapping file in place. It is time to configure Hibernate. Before we do this, we will need a database. HSQL DB, a java-based SQL DBMS, can be downloaded from the HSQL DB website(http://hsqldb.org/). Actually, you only need the <literal>hsqldb.jar</literal> from this download. Place this file in the <literal>lib/</literal> directory of the development folder."
-msgstr "우리는 이제 적절한 곳에 한 개의 영속 클래스와 그것의 매핑 파일을 갖고 있다. Hibernate를 구성할 차례이다. 우리가 이것을 행하기 전에, 우리는 데이터베이스를 필요로 할 것이다. 자바 기반의 메모리-내 SQL DBMS인 HSQL DB는 HSQL DB 웹 사이트에서 내려받을 수 있다. 실제로, 당신은 이 다운로드에서 오직 <literal>hsqldb.jar</literal> 만을 필요로 한다. 개발 폴더의 <literal>lib/</literal> 디렉토리 속에 이 파일을 위치지워라."
+#. Tag: para
+#: tutorial.xml:239
+#, no-c-format
+msgid ""
+"We now have a persistent class and its mapping file in place. It is time to "
+"configure Hibernate. Before we do this, we will need a database. HSQL DB, a "
+"java-based SQL DBMS, can be downloaded from the HSQL DB website(http://"
+"hsqldb.org/). Actually, you only need the <literal>hsqldb.jar</literal> from "
+"this download. Place this file in the <literal>lib/</literal> directory of "
+"the development folder."
+msgstr ""
+"우리는 이제 적절한 곳에 한 개의 영속 클래스와 그것의 매핑 파일을 갖고 있다. "
+"Hibernate를 구성할 차례이다. 우리가 이것을 행하기 전에, 우리는 데이터베이스"
+"를 필요로 할 것이다. 자바 기반의 메모리-내 SQL DBMS인 HSQL DB는 HSQL DB 웹 사"
+"이트에서 내려받을 수 있다. 실제로, 당신은 이 다운로드에서 오직 "
+"<literal>hsqldb.jar</literal> 만을 필요로 한다. 개발 폴더의 <literal>lib/</"
+"literal> 디렉토리 속에 이 파일을 위치지워라."
 
-#: index.docbook:247
-msgid "Create a directory called <literal>data</literal> in the root of the development directory - this is where HSQL DB will store its data files. Now start the database by running <literal>java -classpath ../lib/hsqldb.jar org.hsqldb.Server</literal> in this data directory. You can see it start up and bind to a TCP/IP socket, this is where our application will connect later. If you want to start with a fresh database during this tutorial, shutdown HSQL DB (press <literal>CTRL + C</literal> in the window), delete all files in the <literal>data/</literal> directory, and start HSQL DB again."
-msgstr "개발 디렉토리의 루트에 <literal>data</literal>로 명명된 디렉토리를 생성시켜라 - 이 디렉토리는 HSQL DB가 그것의 데이터 파일들을 저장하게 될 장소이다. 이제 이 데이터 디렉토리에서 <literal>java -classpath ../lib/hsqldb.jar org.hsqldb.Server</literal>를 실행시켜서 데이터베이스를 시작시켜라. 당신은 그것이 시작되고 이것은 우리의 어플리케이션이 나중에 연결하게 될 장소인, 하나의 TCP/IP 소켓에 바인드 되는 것을 볼 수 있다. 만일 이 튜토리얼 동안에 당신이 새 데이터베이스로 시작하고자 원할 경우, HSQL DB를 셧다운시키고(왼도우에서 <literal>CTRL + C</literal>를 눌러라), <literal>data/</literal> 디렉토리 내에 있는 모든 파일들을 삭제하고 다시 HSQL DB를 시작하라."
+#. Tag: para
+#: tutorial.xml:247
+#, no-c-format
+msgid ""
+"Create a directory called <literal>data</literal> in the root of the "
+"development directory - this is where HSQL DB will store its data files. Now "
+"start the database by running <literal>java -classpath ../lib/hsqldb.jar org."
+"hsqldb.Server</literal> in this data directory. You can see it start up and "
+"bind to a TCP/IP socket, this is where our application will connect later. "
+"If you want to start with a fresh database during this tutorial, shutdown "
+"HSQL DB (press <literal>CTRL + C</literal> in the window), delete all files "
+"in the <literal>data/</literal> directory, and start HSQL DB again."
+msgstr ""
+"개발 디렉토리의 루트에 <literal>data</literal>로 명명된 디렉토리를 생성시켜"
+"라 - 이 디렉토리는 HSQL DB가 그것의 데이터 파일들을 저장하게 될 장소이다. 이"
+"제 이 데이터 디렉토리에서 <literal>java -classpath ../lib/hsqldb.jar org."
+"hsqldb.Server</literal>를 실행시켜서 데이터베이스를 시작시켜라. 당신은 그것"
+"이 시작되고 이것은 우리의 어플리케이션이 나중에 연결하게 될 장소인, 하나의 "
+"TCP/IP 소켓에 바인드 되는 것을 볼 수 있다. 만일 이 튜토리얼 동안에 당신이 새 "
+"데이터베이스로 시작하고자 원할 경우, HSQL DB를 셧다운시키고(왼도우에서 "
+"<literal>CTRL + C</literal>를 눌러라), <literal>data/</literal> 디렉토리 내"
+"에 있는 모든 파일들을 삭제하고 다시 HSQL DB를 시작하라."
 
-#: index.docbook:257
-msgid "Hibernate is the layer in your application which connects to this database, so it needs connection information. The connections are made through a JDBC connection pool, which we also have to configure. The Hibernate distribution contains several open source JDBC connection pooling tools, but will use the Hibernate built-in connection pool for this tutorial. Note that you have to copy the required library into your classpath and use different connection pooling settings if you want to use a production-quality third party JDBC pooling software."
-msgstr "Hibernate는 당신의 어플리케이션 내에서 이 데이터베이스에 연결하는 계층이고, 따라서 그것은 커넥션 정보를 필요로 한다. 커넥션들은 마찬가지로 구성되어야 하는 하나의 JDBC 커넥션 풀을 통해 행해진다. Hibernate 배포본은 몇몇 오픈 소스 JDBC 커넥션 풀링 도구들을 포함하고 있지만, 이 튜토리얼에서는 Hibernate에 의해 미리 빌드된 커넥션 풀링을 사용할 것이다. 당신이 필수 라이브러리를 당신의 classpath 속에 복사해야 하고 만일 당신이 제품-특징의 제3의 JDBC 풀링 소프트웨어를 사용하고자 원할 경우에는 다른 커넥션 풀링 설정들을 사용해야 함을 노트하라."
+#. Tag: para
+#: tutorial.xml:257
+#, no-c-format
+msgid ""
+"Hibernate is the layer in your application which connects to this database, "
+"so it needs connection information. The connections are made through a JDBC "
+"connection pool, which we also have to configure. The Hibernate distribution "
+"contains several open source JDBC connection pooling tools, but will use the "
+"Hibernate built-in connection pool for this tutorial. Note that you have to "
+"copy the required library into your classpath and use different connection "
+"pooling settings if you want to use a production-quality third party JDBC "
+"pooling software."
+msgstr ""
+"Hibernate는 당신의 어플리케이션 내에서 이 데이터베이스에 연결하는 계층이고, "
+"따라서 그것은 커넥션 정보를 필요로 한다. 커넥션들은 마찬가지로 구성되어야 하"
+"는 하나의 JDBC 커넥션 풀을 통해 행해진다. Hibernate 배포본은 몇몇 오픈 소스 "
+"JDBC 커넥션 풀링 도구들을 포함하고 있지만, 이 튜토리얼에서는 Hibernate에 의"
+"해 미리 빌드된 커넥션 풀링을 사용할 것이다. 당신이 필수 라이브러리를 당신의 "
+"classpath 속에 복사해야 하고 만일 당신이 제품-특징의 제3의 JDBC 풀링 소프트웨"
+"어를 사용하고자 원할 경우에는 다른 커넥션 풀링 설정들을 사용해야 함을 노트하"
+"라."
 
-#: index.docbook:267
-msgid "For Hibernate's configuration, we can use a simple <literal>hibernate.properties</literal> file, a slightly more sophisticated <literal>hibernate.cfg.xml</literal> file, or even complete programmatic setup. Most users prefer the XML configuration file:"
-msgstr "Hibernate의 구성을 위해, 우리는 한 개의 간단한 <literal>hibernate.properties</literal> 파일, 한 개의 약간 더 세련된 <literal>hibernate.cfg.xml</literal> 파일, 또는 심지어 완전한 프로그램 상의 설정을 사용할 수 있다. 대부분의 사용자들은 XMl 구성 파일을 선호한다:"
+#. Tag: para
+#: tutorial.xml:267
+#, no-c-format
+msgid ""
+"For Hibernate's configuration, we can use a simple <literal>hibernate."
+"properties</literal> file, a slightly more sophisticated <literal>hibernate."
+"cfg.xml</literal> file, or even complete programmatic setup. Most users "
+"prefer the XML configuration file:"
+msgstr ""
+"Hibernate의 구성을 위해, 우리는 한 개의 간단한 <literal>hibernate."
+"properties</literal> 파일, 한 개의 약간 더 세련된 <literal>hibernate.cfg."
+"xml</literal> 파일, 또는 심지어 완전한 프로그램 상의 설정을 사용할 수 있다. "
+"대부분의 사용자들은 XMl 구성 파일을 선호한다:"
 
-#: index.docbook:273
+#. Tag: programlisting
+#: tutorial.xml:273
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
-      "<!DOCTYPE hibernate-configuration PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Configuration DTD 3.0//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-configuration>\n"
-      "\n"
-      "    <session-factory>\n"
-      "\n"
-      "        <!-- Database connection settings -->\n"
-      "        <property name=\"connection.driver_class\">org.hsqldb.jdbcDriver</property>\n"
-      "        <property name=\"connection.url\">jdbc:hsqldb:hsql://localhost</property>\n"
-      "        <property name=\"connection.username\">sa</property>\n"
-      "        <property name=\"connection.password\"></property>\n"
-      "\n"
-      "        <!-- JDBC connection pool (use the built-in) -->\n"
-      "        <property name=\"connection.pool_size\">1</property>\n"
-      "\n"
-      "        <!-- SQL dialect -->\n"
-      "        <property name=\"dialect\">org.hibernate.dialect.HSQLDialect</property>\n"
-      "\n"
-      "        <!-- Enable Hibernate's automatic session context management -->\n"
-      "        <property name=\"current_session_context_class\">thread</property>\n"
-      "\n"
-      "        <!-- Disable the second-level cache  -->\n"
-      "        <property name=\"cache.provider_class\">org.hibernate.cache.NoCacheProvider</property>\n"
-      "\n"
-      "        <!-- Echo all executed SQL to stdout -->\n"
-      "        <property name=\"show_sql\">true</property>\n"
-      "\n"
-      "        <!-- Drop and re-create the database schema on startup -->\n"
-      "        <property name=\"hbm2ddl.auto\">create</property>\n"
-      "\n"
-      "        <mapping resource=\"events/Event.hbm.xml\"/>\n"
-      "\n"
-      "    </session-factory>\n"
-      "\n"
-      "</hibernate-configuration>]]>"
+"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
+"<!DOCTYPE hibernate-configuration PUBLIC\n"
+"        \"-//Hibernate/Hibernate Configuration DTD 3.0//EN\"\n"
+"        \"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
+"\">\n"
+"\n"
+"<hibernate-configuration>\n"
+"\n"
+"    <session-factory>\n"
+"\n"
+"        <!-- Database connection settings -->\n"
+"        <property name=\"connection.driver_class\">org.hsqldb.jdbcDriver</"
+"property>\n"
+"        <property name=\"connection.url\">jdbc:hsqldb:hsql://localhost</"
+"property>\n"
+"        <property name=\"connection.username\">sa</property>\n"
+"        <property name=\"connection.password\"></property>\n"
+"\n"
+"        <!-- JDBC connection pool (use the built-in) -->\n"
+"        <property name=\"connection.pool_size\">1</property>\n"
+"\n"
+"        <!-- SQL dialect -->\n"
+"        <property name=\"dialect\">org.hibernate.dialect.HSQLDialect</"
+"property>\n"
+"\n"
+"        <!-- Enable Hibernate's automatic session context management -->\n"
+"        <property name=\"current_session_context_class\">thread</property>\n"
+"\n"
+"        <!-- Disable the second-level cache  -->\n"
+"        <property name=\"cache.provider_class\">org.hibernate.cache."
+"NoCacheProvider</property>\n"
+"\n"
+"        <!-- Echo all executed SQL to stdout -->\n"
+"        <property name=\"show_sql\">true</property>\n"
+"\n"
+"        <!-- Drop and re-create the database schema on startup -->\n"
+"        <property name=\"hbm2ddl.auto\">create</property>\n"
+"\n"
+"        <mapping resource=\"events/Event.hbm.xml\"/>\n"
+"\n"
+"    </session-factory>\n"
+"\n"
+"</hibernate-configuration>]]>"
 msgstr ""
-      "<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
-      "<!DOCTYPE hibernate-configuration PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Configuration DTD 3.0//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-configuration>\n"
-      "\n"
-      "    <session-factory>\n"
-      "\n"
-      "        <!-- Database connection settings -->\n"
-      "        <property name=\"connection.driver_class\">org.hsqldb.jdbcDriver</property>\n"
-      "        <property name=\"connection.url\">jdbc:hsqldb:hsql://localhost</property>\n"
-      "        <property name=\"connection.username\">sa</property>\n"
-      "        <property name=\"connection.password\"></property>\n"
-      "\n"
-      "        <!-- JDBC connection pool (use the built-in) -->\n"
-      "        <property name=\"connection.pool_size\">1</property>\n"
-      "\n"
-      "        <!-- SQL dialect -->\n"
-      "        <property name=\"dialect\">org.hibernate.dialect.HSQLDialect</property>\n"
-      "\n"
-      "        <!-- Enable Hibernate's automatic session context management -->\n"
-      "        <property name=\"current_session_context_class\">thread</property>\n"
-      "\n"
-      "        <!-- Disable the second-level cache  -->\n"
-      "        <property name=\"cache.provider_class\">org.hibernate.cache.NoCacheProvider</property>\n"
-      "\n"
-      "        <!-- Echo all executed SQL to stdout -->\n"
-      "        <property name=\"show_sql\">true</property>\n"
-      "\n"
-      "        <!-- Drop and re-create the database schema on startup -->\n"
-      "        <property name=\"hbm2ddl.auto\">create</property>\n"
-      "\n"
-      "        <mapping resource=\"events/Event.hbm.xml\"/>\n"
-      "\n"
-      "    </session-factory>\n"
-      "\n"
-      "</hibernate-configuration>]]>"
 
-#: index.docbook:275
-msgid "Note that this XML configuration uses a different DTD. We configure Hibernate's <literal>SessionFactory</literal> - a global factory responsible for a particular database. If you have several databases, use several <literal>&lt;session-factory&gt;</literal> configurations, usually in several configuration files (for easier startup)."
-msgstr "이 XML 구성이 다른 DTD를 사용함을 노트하라. 우리는 Hibernate의 <literal>SessionFactory</literal> -특정 데이터베이스에 대해 책임이 있는 전역 팩토리-를 구성한다. 만일 당신이 여러 데이터베이스들을 갖고 있다면, (보다 쉬운 시작을 위해) 몇 개의 구성 파일들 속에 여러 개의 <literal>&lt;session-factory&gt;</literal> 구성들을 사용하라."
+#. Tag: para
+#: tutorial.xml:275
+#, no-c-format
+msgid ""
+"Note that this XML configuration uses a different DTD. We configure "
+"Hibernate's <literal>SessionFactory</literal> - a global factory responsible "
+"for a particular database. If you have several databases, use several "
+"<literal>&lt;session-factory&gt;</literal> configurations, usually in "
+"several configuration files (for easier startup)."
+msgstr ""
+"이 XML 구성이 다른 DTD를 사용함을 노트하라. 우리는 Hibernate의 "
+"<literal>SessionFactory</literal> -특정 데이터베이스에 대해 책임이 있는 전역 "
+"팩토리-를 구성한다. 만일 당신이 여러 데이터베이스들을 갖고 있다면, (보다 쉬"
+"운 시작을 위해) 몇 개의 구성 파일들 속에 여러 개의 <literal>&lt;session-"
+"factory&gt;</literal> 구성들을 사용하라."
 
-#: index.docbook:283
-msgid "The first four <literal>property</literal> elements contain the necessary configuration for the JDBC connection. The dialect <literal>property</literal> element specifies the particular SQL variant Hibernate generates. Hibernate's automatic session management for persistence contexts will come in handy as you will soon see. The <literal>hbm2ddl.auto</literal> option turns on automatic generation of database schemas - directly into the database. This can of course also be turned off (by removing the config option) or redirected to a file with the help of the <literal>SchemaExport</literal> Ant task. Finally, we add the mapping file(s) for persistent classes to the configuration."
-msgstr "처음 네 개의 <literal>property</literal> 요소들은 JDBC 커넥션을 위한 필수 구성을 포함한다. dialect <literal>property</literal> 요소는 Hibernate가 발생시키는 특별한 SQL 이형(異形)을 지정한다. <literal>hbm2ddl.auto</literal> 옵션은 -직접 데이터베이스 속으로- 데이터베이스 스키마의 자동적인 생성을 활성화 시킨다. 물론 이것은 (config 옵션을 제거함으로써) 비활성화 시킬 수 있거나 <literal>SchemaExport</literal> Ant 태스크의 도움으로 파일로 리다이렉트 될 수 있다. 마지막으로 우리는 영속 클래스들을 위한 매핑 파일(들)을 추가시킨다."
+#. Tag: para
+#: tutorial.xml:283
+#, no-c-format
+msgid ""
+"The first four <literal>property</literal> elements contain the necessary "
+"configuration for the JDBC connection. The dialect <literal>property</"
+"literal> element specifies the particular SQL variant Hibernate generates. "
+"Hibernate's automatic session management for persistence contexts will come "
+"in handy as you will soon see. The <literal>hbm2ddl.auto</literal> option "
+"turns on automatic generation of database schemas - directly into the "
+"database. This can of course also be turned off (by removing the config "
+"option) or redirected to a file with the help of the <literal>SchemaExport</"
+"literal> Ant task. Finally, we add the mapping file(s) for persistent "
+"classes to the configuration."
+msgstr ""
+"처음 네 개의 <literal>property</literal> 요소들은 JDBC 커넥션을 위한 필수 구"
+"성을 포함한다. dialect <literal>property</literal> 요소는 Hibernate가 발생시"
+"키는 특별한 SQL 이형(異形)을 지정한다. <literal>hbm2ddl.auto</literal> 옵션"
+"은 -직접 데이터베이스 속으로- 데이터베이스 스키마의 자동적인 생성을 활성화 시"
+"킨다. 물론 이것은 (config 옵션을 제거함으로써) 비활성화 시킬 수 있거나 "
+"<literal>SchemaExport</literal> Ant 태스크의 도움으로 파일로 리다이렉트 될 "
+"수 있다. 마지막으로 우리는 영속 클래스들을 위한 매핑 파일(들)을 추가시킨다."
 
-#: index.docbook:296
-msgid "Copy this file into the source directory, so it will end up in the root of the classpath. Hibernate automatically looks for a file called <literal>hibernate.cfg.xml</literal> in the root of the classpath, on startup."
-msgstr "이 파일을 소스 디렉토리 속으로 복사하고, 따라서 그것은 classpath의 루트에서 끝날 것이다. Hibernate는 시작 시에 classpath의 루트에서 <literal>hibernate.cfg.xml</literal>로 명명된 파일을 자동적으로 찾는다."
+#. Tag: para
+#: tutorial.xml:296
+#, no-c-format
+msgid ""
+"Copy this file into the source directory, so it will end up in the root of "
+"the classpath. Hibernate automatically looks for a file called "
+"<literal>hibernate.cfg.xml</literal> in the root of the classpath, on "
+"startup."
+msgstr ""
+"이 파일을 소스 디렉토리 속으로 복사하고, 따라서 그것은 classpath의 루트에서 "
+"끝날 것이다. Hibernate는 시작 시에 classpath의 루트에서 <literal>hibernate."
+"cfg.xml</literal>로 명명된 파일을 자동적으로 찾는다."
 
-#: index.docbook:305
+#. Tag: title
+#: tutorial.xml:305
+#, no-c-format
 msgid "Building with Ant"
 msgstr "Ant로 빌드하기"
 
-#: index.docbook:307
-msgid "We'll now build the tutorial with Ant. You will need to have Ant installed - get it from the <ulink url=\"http://ant.apache.org/bindownload.cgi\">Ant download page</ulink>. How to install Ant will not be covered here. Please refer to the <ulink url=\"http://ant.apache.org/manual/index.html\">Ant manual</ulink>. After you have installed Ant, we can start to create the buildfile. It will be called <literal>build.xml</literal> and placed directly in the development directory."
-msgstr "우리는 이제 Ant로 튜토리얼을 빌드할 것이다. 당신은 Ant를 설치할 필요가 있을 것이다 - <ulink url=\"http://ant.apache.org/bindownload.cgi\">Ant 내려받기 페이지</ulink>에서 Ant를 얻어라. Ant를 설치하는 방법은 여기서 다루지 않을 것이다. <ulink url=\"http://ant.apache.org/manual/index.html\">Ant 매뉴얼</ulink>을 참조하길 바란다. 당신이 Ant를 설치한 후에, 우리는 빌드파일 생성을 시작할 수 있다. 그것은 <literal>build.xml</literal>로 명명되고 개발 디렉토리 속에 직접 위치될 것이다."
+#. Tag: para
+#: tutorial.xml:307
+#, no-c-format
+msgid ""
+"We'll now build the tutorial with Ant. You will need to have Ant installed - "
+"get it from the <ulink url=\"http://ant.apache.org/bindownload.cgi\">Ant "
+"download page</ulink>. How to install Ant will not be covered here. Please "
+"refer to the <ulink url=\"http://ant.apache.org/manual/index.html\">Ant "
+"manual</ulink>. After you have installed Ant, we can start to create the "
+"buildfile. It will be called <literal>build.xml</literal> and placed "
+"directly in the development directory."
+msgstr ""
+"우리는 이제 Ant로 튜토리얼을 빌드할 것이다. 당신은 Ant를 설치할 필요가 있을 "
+"것이다 - <ulink url=\"http://ant.apache.org/bindownload.cgi\">Ant 내려받기 페"
+"이지</ulink>에서 Ant를 얻어라. Ant를 설치하는 방법은 여기서 다루지 않을 것이"
+"다. <ulink url=\"http://ant.apache.org/manual/index.html\">Ant 매뉴얼</ulink>"
+"을 참조하길 바란다. 당신이 Ant를 설치한 후에, 우리는 빌드파일 생성을 시작할 "
+"수 있다. 그것은 <literal>build.xml</literal>로 명명되고 개발 디렉토리 속에 직"
+"접 위치될 것이다."
 
-#: index.docbook:316
+#. Tag: para
+#: tutorial.xml:316
+#, no-c-format
 msgid "A basic build file looks like this:"
 msgstr "기본 빌드 파일은 다음과 같다:"
 
-#: index.docbook:320
+#. Tag: programlisting
+#: tutorial.xml:320
+#, no-c-format
 msgid ""
-      "<![CDATA[<project name=\"hibernate-tutorial\" default=\"compile\">\n"
-      "\n"
-      "    <property name=\"sourcedir\" value=\"${basedir}/src\"/>\n"
-      "    <property name=\"targetdir\" value=\"${basedir}/bin\"/>\n"
-      "    <property name=\"librarydir\" value=\"${basedir}/lib\"/>\n"
-      "\n"
-      "    <path id=\"libraries\">\n"
-      "        <fileset dir=\"${librarydir}\">\n"
-      "            <include name=\"*.jar\"/>\n"
-      "        </fileset>\n"
-      "    </path>\n"
-      "\n"
-      "    <target name=\"clean\">\n"
-      "        <delete dir=\"${targetdir}\"/>\n"
-      "        <mkdir dir=\"${targetdir}\"/>\n"
-      "    </target>\n"
-      "\n"
-      "    <target name=\"compile\" depends=\"clean, copy-resources\">\n"
-      "      <javac srcdir=\"${sourcedir}\"\n"
-      "             destdir=\"${targetdir}\"\n"
-      "             classpathref=\"libraries\"/>\n"
-      "    </target>\n"
-      "\n"
-      "    <target name=\"copy-resources\">\n"
-      "        <copy todir=\"${targetdir}\">\n"
-      "            <fileset dir=\"${sourcedir}\">\n"
-      "                <exclude name=\"**/*.java\"/>\n"
-      "            </fileset>\n"
-      "        </copy>\n"
-      "    </target>\n"
-      "\n"
-      "</project>]]>"
+"<![CDATA[<project name=\"hibernate-tutorial\" default=\"compile\">\n"
+"\n"
+"    <property name=\"sourcedir\" value=\"${basedir}/src\"/>\n"
+"    <property name=\"targetdir\" value=\"${basedir}/bin\"/>\n"
+"    <property name=\"librarydir\" value=\"${basedir}/lib\"/>\n"
+"\n"
+"    <path id=\"libraries\">\n"
+"        <fileset dir=\"${librarydir}\">\n"
+"            <include name=\"*.jar\"/>\n"
+"        </fileset>\n"
+"    </path>\n"
+"\n"
+"    <target name=\"clean\">\n"
+"        <delete dir=\"${targetdir}\"/>\n"
+"        <mkdir dir=\"${targetdir}\"/>\n"
+"    </target>\n"
+"\n"
+"    <target name=\"compile\" depends=\"clean, copy-resources\">\n"
+"      <javac srcdir=\"${sourcedir}\"\n"
+"             destdir=\"${targetdir}\"\n"
+"             classpathref=\"libraries\"/>\n"
+"    </target>\n"
+"\n"
+"    <target name=\"copy-resources\">\n"
+"        <copy todir=\"${targetdir}\">\n"
+"            <fileset dir=\"${sourcedir}\">\n"
+"                <exclude name=\"**/*.java\"/>\n"
+"            </fileset>\n"
+"        </copy>\n"
+"    </target>\n"
+"\n"
+"</project>]]>"
 msgstr ""
-      "<![CDATA[<project name=\"hibernate-tutorial\" default=\"compile\">\n"
-      "\n"
-      "    <property name=\"sourcedir\" value=\"${basedir}/src\"/>\n"
-      "    <property name=\"targetdir\" value=\"${basedir}/bin\"/>\n"
-      "    <property name=\"librarydir\" value=\"${basedir}/lib\"/>\n"
-      "\n"
-      "    <path id=\"libraries\">\n"
-      "        <fileset dir=\"${librarydir}\">\n"
-      "            <include name=\"*.jar\"/>\n"
-      "        </fileset>\n"
-      "    </path>\n"
-      "\n"
-      "    <target name=\"clean\">\n"
-      "        <delete dir=\"${targetdir}\"/>\n"
-      "        <mkdir dir=\"${targetdir}\"/>\n"
-      "    </target>\n"
-      "\n"
-      "    <target name=\"compile\" depends=\"clean, copy-resources\">\n"
-      "      <javac srcdir=\"${sourcedir}\"\n"
-      "             destdir=\"${targetdir}\"\n"
-      "             classpathref=\"libraries\"/>\n"
-      "    </target>\n"
-      "\n"
-      "    <target name=\"copy-resources\">\n"
-      "        <copy todir=\"${targetdir}\">\n"
-      "            <fileset dir=\"${sourcedir}\">\n"
-      "                <exclude name=\"**/*.java\"/>\n"
-      "            </fileset>\n"
-      "        </copy>\n"
-      "    </target>\n"
-      "\n"
-      "</project>]]>"
 
-#: index.docbook:322
-msgid "This will tell Ant to add all files in the lib directory ending with <literal>.jar</literal> to the classpath used for compilation. It will also copy all non-Java source files to the target directory, e.g. configuration and Hibernate mapping files. If you now run Ant, you should get this output:"
-msgstr "이것은 <literal>.jar</literal>로 끝나는 lib 디렉토리 내에 있는 모든 파일들을 컴파일에 사용되는 classpath에 추가하도록 Ant에게 알려줄 것이다. 그것은 또한 모든 비-Java 소스 파일들을 대상 디렉토리로 복사할 것이다. 예를 들면, 구성 및 Hibernate 매핑 파일들. 만일 당신이 Ant를 이제 실행할 경우, 당신은 다음 출력을 얻게 될 것이다:"
+#. Tag: para
+#: tutorial.xml:322
+#, no-c-format
+msgid ""
+"This will tell Ant to add all files in the lib directory ending with "
+"<literal>.jar</literal> to the classpath used for compilation. It will also "
+"copy all non-Java source files to the target directory, e.g. configuration "
+"and Hibernate mapping files. If you now run Ant, you should get this output:"
+msgstr ""
+"이것은 <literal>.jar</literal>로 끝나는 lib 디렉토리 내에 있는 모든 파일들을 "
+"컴파일에 사용되는 classpath에 추가하도록 Ant에게 알려줄 것이다. 그것은 또한 "
+"모든 비-Java 소스 파일들을 대상 디렉토리로 복사할 것이다. 예를 들면, 구성 및 "
+"Hibernate 매핑 파일들. 만일 당신이 Ant를 이제 실행할 경우, 당신은 다음 출력"
+"을 얻게 될 것이다:"
 
-#: index.docbook:329
+#. Tag: programlisting
+#: tutorial.xml:329
+#, no-c-format
 msgid ""
-      "<![CDATA[C:\\hibernateTutorial\\>ant\n"
-      "Buildfile: build.xml\n"
-      "\n"
-      "copy-resources:\n"
-      "     [copy] Copying 2 files to C:\\hibernateTutorial\\bin\n"
-      "\n"
-      "compile:\n"
-      "    [javac] Compiling 1 source file to C:\\hibernateTutorial\\bin\n"
-      "\n"
-      "BUILD SUCCESSFUL\n"
-      "Total time: 1 second ]]>"
+"<![CDATA[C:\\hibernateTutorial\\>ant\n"
+"Buildfile: build.xml\n"
+"\n"
+"copy-resources:\n"
+"     [copy] Copying 2 files to C:\\hibernateTutorial\\bin\n"
+"\n"
+"compile:\n"
+"    [javac] Compiling 1 source file to C:\\hibernateTutorial\\bin\n"
+"\n"
+"BUILD SUCCESSFUL\n"
+"Total time: 1 second ]]>"
 msgstr ""
-      "<![CDATA[C:\\hibernateTutorial\\>ant\n"
-      "Buildfile: build.xml\n"
-      "\n"
-      "copy-resources:\n"
-      "     [copy] Copying 2 files to C:\\hibernateTutorial\\bin\n"
-      "\n"
-      "compile:\n"
-      "    [javac] Compiling 1 source file to C:\\hibernateTutorial\\bin\n"
-      "\n"
-      "BUILD SUCCESSFUL\n"
-      "Total time: 1 second ]]>"
 
-#: index.docbook:334
+#. Tag: title
+#: tutorial.xml:334
+#, no-c-format
 msgid "Startup and helpers"
 msgstr "시작과 helper들"
 
-#: index.docbook:336
-msgid "It's time to load and store some <literal>Event</literal> objects, but first we have to complete the setup with some infrastructure code. We have to startup Hibernate. This startup includes building a global <literal>SessionFactory</literal> object and to store it somewhere for easy access in application code. A <literal>SessionFactory</literal> can open up new <literal>Session</literal>'s. A <literal>Session</literal> represents a single-threaded unit of work, the <literal>SessionFactory</literal> is a thread-safe global object, instantiated once."
-msgstr "몇몇 <literal>Event</literal> 객체들을 로드시키고 저장할 차례이지만, 먼저 우리는 어떤 인프라스트럭처 코드로 설정을 완료해야 한다. 우리는 Hibernate를 시작해야 한다. 이 시작은 전역 <literal>SessionFactory</literal> 객체를 빌드하고 어플리케이션 내에서 용이한 접근을 위해 그것을 어떤 곳에 저장하는 것을 포함한다. <literal>SessionFactory</literal>는 새로운 <literal>Session</literal>들을 열 수 있다. <literal>Session</literal>은 작업의 단일-쓰레드 단위를 표현하며, <literal>SessionFactory</literal>는 한번 초기화 되는 하나의 thread-safe 전역 객체이다."
+#. Tag: para
+#: tutorial.xml:336
+#, no-c-format
+msgid ""
+"It's time to load and store some <literal>Event</literal> objects, but first "
+"we have to complete the setup with some infrastructure code. We have to "
+"startup Hibernate. This startup includes building a global "
+"<literal>SessionFactory</literal> object and to store it somewhere for easy "
+"access in application code. A <literal>SessionFactory</literal> can open up "
+"new <literal>Session</literal>'s. A <literal>Session</literal> represents a "
+"single-threaded unit of work, the <literal>SessionFactory</literal> is a "
+"thread-safe global object, instantiated once."
+msgstr ""
+"몇몇 <literal>Event</literal> 객체들을 로드시키고 저장할 차례이지만, 먼저 우"
+"리는 어떤 인프라스트럭처 코드로 설정을 완료해야 한다. 우리는 Hibernate를 시작"
+"해야 한다. 이 시작은 전역 <literal>SessionFactory</literal> 객체를 빌드하고 "
+"어플리케이션 내에서 용이한 접근을 위해 그것을 어떤 곳에 저장하는 것을 포함한"
+"다. <literal>SessionFactory</literal>는 새로운 <literal>Session</literal>들"
+"을 열 수 있다. <literal>Session</literal>은 작업의 단일-쓰레드 단위를 표현하"
+"며, <literal>SessionFactory</literal>는 한번 초기화 되는 하나의 thread-safe "
+"전역 객체이다."
 
-#: index.docbook:346
-msgid "We'll create a <literal>HibernateUtil</literal> helper class which takes care of startup and makes accessing a <literal>SessionFactory</literal> convenient. Let's have a look at the implementation:"
-msgstr "우리는 시작을 처리하고 <literal>Session</literal> 처리를 편리하게 해주는 <literal>HibernateUtil</literal> helper 클래스를 생성시킬 것이다. 이른바 <emphasis>ThreadLocal Session</emphasis> 패턴이 여기서 유용하며, 우리는 현재의 작업 단위를 현재의 쓰레드와 연관지워 유지한다. 구현을 살펴보자:"
+#. Tag: para
+#: tutorial.xml:346
+#, no-c-format
+msgid ""
+"We'll create a <literal>HibernateUtil</literal> helper class which takes "
+"care of startup and makes accessing a <literal>SessionFactory</literal> "
+"convenient. Let's have a look at the implementation:"
+msgstr ""
+"우리는 시작을 처리하고 <literal>Session</literal> 처리를 편리하게 해주는 "
+"<literal>HibernateUtil</literal> helper 클래스를 생성시킬 것이다. 이른바 "
+"<emphasis>ThreadLocal Session</emphasis> 패턴이 여기서 유용하며, 우리는 현재"
+"의 작업 단위를 현재의 쓰레드와 연관지워 유지한다. 구현을 살펴보자:"
 
-#: index.docbook:352
+#. Tag: programlisting
+#: tutorial.xml:352
+#, no-c-format
 msgid ""
-      "<![CDATA[package util;\n"
-      "\n"
-      "import org.hibernate.*;\n"
-      "import org.hibernate.cfg.*;\n"
-      "\n"
-      "public class HibernateUtil {\n"
-      "\n"
-      "    private static final SessionFactory sessionFactory;\n"
-      "\n"
-      "    static {\n"
-      "        try {\n"
-      "            // Create the SessionFactory from hibernate.cfg.xml\n"
-      "            sessionFactory = new Configuration().configure().buildSessionFactory();\n"
-      "        } catch (Throwable ex) {\n"
-      "            // Make sure you log the exception, as it might be swallowed\n"
-      "            System.err.println(\"Initial SessionFactory creation failed.\" + ex);\n"
-      "            throw new ExceptionInInitializerError(ex);\n"
-      "        }\n"
-      "    }\n"
-      "\n"
-      "    public static SessionFactory getSessionFactory() {\n"
-      "        return sessionFactory;\n"
-      "    }\n"
-      "\n"
-      "}]]>"
+"<![CDATA[package util;\n"
+"\n"
+"import org.hibernate.*;\n"
+"import org.hibernate.cfg.*;\n"
+"\n"
+"public class HibernateUtil {\n"
+"\n"
+"    private static final SessionFactory sessionFactory;\n"
+"\n"
+"    static {\n"
+"        try {\n"
+"            // Create the SessionFactory from hibernate.cfg.xml\n"
+"            sessionFactory = new Configuration().configure()."
+"buildSessionFactory();\n"
+"        } catch (Throwable ex) {\n"
+"            // Make sure you log the exception, as it might be swallowed\n"
+"            System.err.println(\"Initial SessionFactory creation failed.\" + "
+"ex);\n"
+"            throw new ExceptionInInitializerError(ex);\n"
+"        }\n"
+"    }\n"
+"\n"
+"    public static SessionFactory getSessionFactory() {\n"
+"        return sessionFactory;\n"
+"    }\n"
+"\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package util;\n"
-      "\n"
-      "import org.hibernate.*;\n"
-      "import org.hibernate.cfg.*;\n"
-      "\n"
-      "public class HibernateUtil {\n"
-      "\n"
-      "    private static final SessionFactory sessionFactory;\n"
-      "\n"
-      "    static {\n"
-      "        try {\n"
-      "            // Create the SessionFactory from hibernate.cfg.xml\n"
-      "            sessionFactory = new Configuration().configure().buildSessionFactory();\n"
-      "        } catch (Throwable ex) {\n"
-      "            // Make sure you log the exception, as it might be swallowed\n"
-      "            System.err.println(\"Initial SessionFactory creation failed.\" + ex);\n"
-      "            throw new ExceptionInInitializerError(ex);\n"
-      "        }\n"
-      "    }\n"
-      "\n"
-      "    public static SessionFactory getSessionFactory() {\n"
-      "        return sessionFactory;\n"
-      "    }\n"
-      "\n"
-      "}]]>"
 
-#: index.docbook:354
-msgid "This class does not only produce the global <literal>SessionFactory</literal> in its static initializer (called once by the JVM when the class is loaded), but also hides the fact that it uses a static singleton. It might as well lookup the <literal>SessionFactory</literal> from JNDI in an application server."
-msgstr "이 클래스는 (클래스가 로드될 때 JVM에 의해 한번 호출되는) 그것의 static 초기자 내에 전역 <literal>SessionFactory</literal>를 산출할 뿐만 아니라 또한 현재 쓰레드에 대한 <literal>Session</literal>을 소유하는 <literal>ThreadLocal</literal> 변수를 갖는다. 당신이 <literal>HibernateUtil.getCurrentSession()</literal>을 호출하는 시점에는 문제가 없으며, 그것은 항상 동일 쓰레드 내에 동일한 Hibernate 작업 단위를 반환할 것이다. <literal>HibernateUtil.closeSession()</literal>에 대한 호출은 쓰레드와 현재 연관되어 있는 작업 단위를 종료시킨다."
+#. Tag: para
+#: tutorial.xml:354
+#, no-c-format
+msgid ""
+"This class does not only produce the global <literal>SessionFactory</"
+"literal> in its static initializer (called once by the JVM when the class is "
+"loaded), but also hides the fact that it uses a static singleton. It might "
+"as well lookup the <literal>SessionFactory</literal> from JNDI in an "
+"application server."
+msgstr ""
+"이 클래스는 (클래스가 로드될 때 JVM에 의해 한번 호출되는) 그것의 static 초기"
+"자 내에 전역 <literal>SessionFactory</literal>를 산출할 뿐만 아니라 또한 현"
+"재 쓰레드에 대한 <literal>Session</literal>을 소유하는 <literal>ThreadLocal</"
+"literal> 변수를 갖는다. 당신이 <literal>HibernateUtil.getCurrentSession()</"
+"literal>을 호출하는 시점에는 문제가 없으며, 그것은 항상 동일 쓰레드 내에 동일"
+"한 Hibernate 작업 단위를 반환할 것이다. <literal>HibernateUtil.closeSession()"
+"</literal>에 대한 호출은 쓰레드와 현재 연관되어 있는 작업 단위를 종료시킨다."
 
-#: index.docbook:361
-msgid "If you give the <literal>SessionFactory</literal> a name in your configuration file, Hibernate will in fact try to bind it to JNDI after it has been built. To avoid this code completely you could also use JMX deployment and let the JMX-capable container instantiate and bind a <literal>HibernateService</literal> to JNDI. These advanced options are discussed in the Hibernate reference documentation."
-msgstr "당신이 이 helper를 사용하기 전에 thread-local 변수들에 대한 Java 개념을 확실히 이해하도록 하라. 보다 강력한 <literal>HibernateUtil</literal> helper는 http://caveatemptor.hibernate.org/에 있는 <literal>CaveatEmptor</literal> 뿐만 아니라 \"Java Persistence with Hibernate\" 책에서 찾을 수 있다. 당신이 J2EE 어플리케이션 서버 내에 Hibernate를 배치할 경우에 이 클래스는 필수적이지 않다: 하나의 <literal>Session</literal>은 현재의 JTA 트랜잭션에 자동적으로 바인드 될 것이고 당신은 JNDI를 통해 <literal>SessionFactory</literal>를 룩업할 수 있다. 만일 당신이 JBoss AS를 사용할 경우, Hibernate는 관리되는 시스템 서비스로서 배치될 수 있고 <literal>SessionFactory</literal>를 JNDI 이름에 자동적으로 바인드시킬 수 있을 것이다."
+#. Tag: para
+#: tutorial.xml:361
+#, no-c-format
+msgid ""
+"If you give the <literal>SessionFactory</literal> a name in your "
+"configuration file, Hibernate will in fact try to bind it to JNDI after it "
+"has been built. To avoid this code completely you could also use JMX "
+"deployment and let the JMX-capable container instantiate and bind a "
+"<literal>HibernateService</literal> to JNDI. These advanced options are "
+"discussed in the Hibernate reference documentation."
+msgstr ""
+"당신이 이 helper를 사용하기 전에 thread-local 변수들에 대한 Java 개념을 확실"
+"히 이해하도록 하라. 보다 강력한 <literal>HibernateUtil</literal> helper는 "
+"http://caveatemptor.hibernate.org/에 있는 <literal>CaveatEmptor</literal> 뿐"
+"만 아니라 \"Java Persistence with Hibernate\" 책에서 찾을 수 있다. 당신이 "
+"J2EE 어플리케이션 서버 내에 Hibernate를 배치할 경우에 이 클래스는 필수적이지 "
+"않다: 하나의 <literal>Session</literal>은 현재의 JTA 트랜잭션에 자동적으로 바"
+"인드 될 것이고 당신은 JNDI를 통해 <literal>SessionFactory</literal>를 룩업할 "
+"수 있다. 만일 당신이 JBoss AS를 사용할 경우, Hibernate는 관리되는 시스템 서비"
+"스로서 배치될 수 있고 <literal>SessionFactory</literal>를 JNDI 이름에 자동적"
+"으로 바인드시킬 수 있을 것이다."
 
-#: index.docbook:370
-msgid "Place <literal>HibernateUtil.java</literal> in the development source directory, in a package next to <literal>events</literal>:"
-msgstr "개발 소스 디렉토리 속에 <literal>HibernateUtil.java</literal> 를 위치지우고, 다음으로 <literal>Event.java</literal>를 위치지워라:"
+#. Tag: para
+#: tutorial.xml:370
+#, no-c-format
+msgid ""
+"Place <literal>HibernateUtil.java</literal> in the development source "
+"directory, in a package next to <literal>events</literal>:"
+msgstr ""
+"개발 소스 디렉토리 속에 <literal>HibernateUtil.java</literal> 를 위치지우고, "
+"다음으로 <literal>Event.java</literal>를 위치지워라:"
 
-#: index.docbook:375
+#. Tag: programlisting
+#: tutorial.xml:375
+#, no-c-format
 msgid ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate and third-party libraries>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java\n"
-      "    Event.hbm.xml\n"
-      "  +util\n"
-      "    HibernateUtil.java\n"
-      "  hibernate.cfg.xml\n"
-      "+data\n"
-      "build.xml]]>"
+"<![CDATA[.\n"
+"+lib\n"
+"  <Hibernate and third-party libraries>\n"
+"+src\n"
+"  +events\n"
+"    Event.java\n"
+"    Event.hbm.xml\n"
+"  +util\n"
+"    HibernateUtil.java\n"
+"  hibernate.cfg.xml\n"
+"+data\n"
+"build.xml]]>"
 msgstr ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate and third-party libraries>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java\n"
-      "    Event.hbm.xml\n"
-      "  +util\n"
-      "    HibernateUtil.java\n"
-      "  hibernate.cfg.xml\n"
-      "+data\n"
-      "build.xml]]>"
 
-#: index.docbook:377
-msgid "This should again compile without problems. We finally need to configure a logging system - Hibernate uses commons logging and leaves you the choice between Log4j and JDK 1.4 logging. Most developers prefer Log4j: copy <literal>log4j.properties</literal> from the Hibernate distribution (it's in the <literal>etc/</literal> directory) to your <literal>src</literal> directory, next to <literal>hibernate.cfg.xml</literal>. Have a look at the example configuration and change the settings if you like to have more verbose output. By default, only Hibernate startup message are shown on stdout."
-msgstr "이것은 문제 없이 다시 컴파일 될 것이다. 우리는 마지막으로 로깅 시스템을 구성할 필요가 있다 - Hibernate는 commons logging를 사용하고 Log4j와 JDK 1.4 사이의 선택은 당신의 몫으로 남겨둔다. 대부분의 개발자들은 Log4j를 선호한다: Hibernate 배포본에 있는 <literal>log4j.properties</literal>(이것은 디렉토리 <literal>etc/</literal> 내에 있다)를 <literal>src</literal> 디렉토리로 복사하고, 다음으로 <literal>hibernate.cfg.xml</literal>을 복사하라. 예제 구성을 살펴보고 당신이 더 많은 verbose 출력을 원할 경우에 설정들을 변경하라. 디폴트로 Hibernate 시작 메시지는 stdout 상에 보여진다."
+#. Tag: para
+#: tutorial.xml:377
+#, no-c-format
+msgid ""
+"This should again compile without problems. We finally need to configure a "
+"logging system - Hibernate uses commons logging and leaves you the choice "
+"between Log4j and JDK 1.4 logging. Most developers prefer Log4j: copy "
+"<literal>log4j.properties</literal> from the Hibernate distribution (it's in "
+"the <literal>etc/</literal> directory) to your <literal>src</literal> "
+"directory, next to <literal>hibernate.cfg.xml</literal>. Have a look at the "
+"example configuration and change the settings if you like to have more "
+"verbose output. By default, only Hibernate startup message are shown on "
+"stdout."
+msgstr ""
+"이것은 문제 없이 다시 컴파일 될 것이다. 우리는 마지막으로 로깅 시스템을 구성"
+"할 필요가 있다 - Hibernate는 commons logging를 사용하고 Log4j와 JDK 1.4 사이"
+"의 선택은 당신의 몫으로 남겨둔다. 대부분의 개발자들은 Log4j를 선호한다: "
+"Hibernate 배포본에 있는 <literal>log4j.properties</literal>(이것은 디렉토리 "
+"<literal>etc/</literal> 내에 있다)를 <literal>src</literal> 디렉토리로 복사하"
+"고, 다음으로 <literal>hibernate.cfg.xml</literal>을 복사하라. 예제 구성을 살"
+"펴보고 당신이 더 많은 verbose 출력을 원할 경우에 설정들을 변경하라. 디폴트로 "
+"Hibernate 시작 메시지는 stdout 상에 보여진다."
 
-#: index.docbook:387
-msgid "The tutorial infrastructure is complete - and we are ready to do some real work with Hibernate."
-msgstr "튜토리얼 인프라스트럭처는 완전하다 - 그리고 우리는 Hibernate로 어떤 실제 작업을 행할 준비가 되어 있다."
+#. Tag: para
+#: tutorial.xml:387
+#, no-c-format
+msgid ""
+"The tutorial infrastructure is complete - and we are ready to do some real "
+"work with Hibernate."
+msgstr ""
+"튜토리얼 인프라스트럭처는 완전하다 - 그리고 우리는 Hibernate로 어떤 실제 작업"
+"을 행할 준비가 되어 있다."
 
-#: index.docbook:395
+#. Tag: title
+#: tutorial.xml:395
+#, no-c-format
 msgid "Loading and storing objects"
 msgstr "객체 로딩과 객체 저장"
 
-#: index.docbook:397
-msgid "Finally, we can use Hibernate to load and store objects. We write an <literal>EventManager</literal> class with a <literal>main()</literal> method:"
-msgstr "마지막으로 우리는 객체들을 로드시키고 저장하는데 Hibernate를 사용할 수 있다. 우리는 한 개의 <literal>main()</literal> 메소드를 가진 한 개의 <literal>EventManager</literal> 클래스를 작성한다:"
+#. Tag: para
+#: tutorial.xml:397
+#, no-c-format
+msgid ""
+"Finally, we can use Hibernate to load and store objects. We write an "
+"<literal>EventManager</literal> class with a <literal>main()</literal> "
+"method:"
+msgstr ""
+"마지막으로 우리는 객체들을 로드시키고 저장하는데 Hibernate를 사용할 수 있다. "
+"우리는 한 개의 <literal>main()</literal> 메소드를 가진 한 개의 "
+"<literal>EventManager</literal> 클래스를 작성한다:"
 
-#: index.docbook:402
+#. Tag: programlisting
+#: tutorial.xml:402
+#, no-c-format
 msgid ""
-      "<![CDATA[package events;\n"
-      "import org.hibernate.Session;\n"
-      "\n"
-      "import java.util.Date;\n"
-      "\n"
-      "import util.HibernateUtil;\n"
-      "\n"
-      "public class EventManager {\n"
-      "\n"
-      "    public static void main(String[] args) {\n"
-      "        EventManager mgr = new EventManager();\n"
-      "\n"
-      "        if (args[0].equals(\"store\")) {\n"
-      "            mgr.createAndStoreEvent(\"My Event\", new Date());\n"
-      "        }\n"
-      "\n"
-      "        HibernateUtil.getSessionFactory().close();\n"
-      "    }\n"
-      "\n"
-      "    private void createAndStoreEvent(String title, Date theDate) {\n"
-      "\n"
-      "        Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "\n"
-      "        session.beginTransaction();\n"
-      "\n"
-      "        Event theEvent = new Event();\n"
-      "        theEvent.setTitle(title);\n"
-      "        theEvent.setDate(theDate);\n"
-      "\n"
-      "        session.save(theEvent);\n"
-      "\n"
-      "        session.getTransaction().commit();\n"
-      "    }\n"
-      "\n"
-      "}]]>"
+"<![CDATA[package events;\n"
+"import org.hibernate.Session;\n"
+"\n"
+"import java.util.Date;\n"
+"\n"
+"import util.HibernateUtil;\n"
+"\n"
+"public class EventManager {\n"
+"\n"
+"    public static void main(String[] args) {\n"
+"        EventManager mgr = new EventManager();\n"
+"\n"
+"        if (args[0].equals(\"store\")) {\n"
+"            mgr.createAndStoreEvent(\"My Event\", new Date());\n"
+"        }\n"
+"\n"
+"        HibernateUtil.getSessionFactory().close();\n"
+"    }\n"
+"\n"
+"    private void createAndStoreEvent(String title, Date theDate) {\n"
+"\n"
+"        Session session = HibernateUtil.getSessionFactory().getCurrentSession"
+"();\n"
+"\n"
+"        session.beginTransaction();\n"
+"\n"
+"        Event theEvent = new Event();\n"
+"        theEvent.setTitle(title);\n"
+"        theEvent.setDate(theDate);\n"
+"\n"
+"        session.save(theEvent);\n"
+"\n"
+"        session.getTransaction().commit();\n"
+"    }\n"
+"\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package events;\n"
-      "import org.hibernate.Session;\n"
-      "\n"
-      "import java.util.Date;\n"
-      "\n"
-      "import util.HibernateUtil;\n"
-      "\n"
-      "public class EventManager {\n"
-      "\n"
-      "    public static void main(String[] args) {\n"
-      "        EventManager mgr = new EventManager();\n"
-      "\n"
-      "        if (args[0].equals(\"store\")) {\n"
-      "            mgr.createAndStoreEvent(\"My Event\", new Date());\n"
-      "        }\n"
-      "\n"
-      "        HibernateUtil.getSessionFactory().close();\n"
-      "    }\n"
-      "\n"
-      "    private void createAndStoreEvent(String title, Date theDate) {\n"
-      "\n"
-      "        Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "\n"
-      "        session.beginTransaction();\n"
-      "\n"
-      "        Event theEvent = new Event();\n"
-      "        theEvent.setTitle(title);\n"
-      "        theEvent.setDate(theDate);\n"
-      "\n"
-      "        session.save(theEvent);\n"
-      "\n"
-      "        session.getTransaction().commit();\n"
-      "    }\n"
-      "\n"
-      "}]]>"
 
-#: index.docbook:404
-msgid "We create a new <literal>Event</literal> object, and hand it over to Hibernate. Hibernate now takes care of the SQL and executes <literal>INSERT</literal>s on the database. Let's have a look at the <literal>Session</literal> and <literal>Transaction</literal>-handling code before we run this."
-msgstr "우리는 한 개의 새로운 <literal>Event</literal> 객체를 생성시키고, 그것을 Hibernate에게 건네준다. Hibernate는 이제 SQL을 처리하고 데이터베이스 상에서 <literal>INSERT</literal>들을 실행시킨다. -우리가 이것을 실행하기 전에 코드를 처리하는- <literal>Session</literal>과 <literal>Transaction</literal>을 살펴보자."
+#. Tag: para
+#: tutorial.xml:404
+#, no-c-format
+msgid ""
+"We create a new <literal>Event</literal> object, and hand it over to "
+"Hibernate. Hibernate now takes care of the SQL and executes <literal>INSERT</"
+"literal>s on the database. Let's have a look at the <literal>Session</"
+"literal> and <literal>Transaction</literal>-handling code before we run this."
+msgstr ""
+"우리는 한 개의 새로운 <literal>Event</literal> 객체를 생성시키고, 그것을 "
+"Hibernate에게 건네준다. Hibernate는 이제 SQL을 처리하고 데이터베이스 상에서 "
+"<literal>INSERT</literal>들을 실행시킨다. -우리가 이것을 실행하기 전에 코드"
+"를 처리하는- <literal>Session</literal>과 <literal>Transaction</literal>을 살"
+"펴보자."
 
-#: index.docbook:411
-msgid "A <literal>Session</literal> is a single unit of work. For now we'll keep things simple and assume a one-to-one granularity between a Hibernate <literal>Session</literal> and a database transaction. To shield our code from the actual underlying transaction system (in this case plain JDBC, but it could also run with JTA) we use the <literal>Transaction</literal> API that is available on the Hibernate <literal>Session</literal>."
-msgstr "<literal>Session</literal>은 한 개의 작업 단위이다. 지금부터 우리는 단숨함을 유지할 것이고 Hibernate <literal>Session</literal>과 데이터베이스 트랜잭션 사이의 일-대-일 과립형(granularity)을 가정할 것이다. 실제 기반 트랜잭션 시스템으로부터 우리의 소스를 은폐시키기 위해(이 경우 통상의 JDBC이지만, 그것은 또한 JTA에도 실행된다) 우리는 Hibernate <literal>Session</literal> 상에서 이용 가능한 <literal>Transaction</literal> API를 사용한다."
+#. Tag: para
+#: tutorial.xml:411
+#, no-c-format
+msgid ""
+"A <literal>Session</literal> is a single unit of work. For now we'll keep "
+"things simple and assume a one-to-one granularity between a Hibernate "
+"<literal>Session</literal> and a database transaction. To shield our code "
+"from the actual underlying transaction system (in this case plain JDBC, but "
+"it could also run with JTA) we use the <literal>Transaction</literal> API "
+"that is available on the Hibernate <literal>Session</literal>."
+msgstr ""
+"<literal>Session</literal>은 한 개의 작업 단위이다. 지금부터 우리는 단숨함을 "
+"유지할 것이고 Hibernate <literal>Session</literal>과 데이터베이스 트랜잭션 사"
+"이의 일-대-일 과립형(granularity)을 가정할 것이다. 실제 기반 트랜잭션 시스템"
+"으로부터 우리의 소스를 은폐시키기 위해(이 경우 통상의 JDBC이지만, 그것은 또"
+"한 JTA에도 실행된다) 우리는 Hibernate <literal>Session</literal> 상에서 이용 "
+"가능한 <literal>Transaction</literal> API를 사용한다."
 
-#: index.docbook:419
-msgid "What does <literal>sessionFactory.getCurrentSession()</literal> do? First, you can call it as many times and anywhere you like, once you get hold of your <literal>SessionFactory</literal> (easy thanks to <literal>HibernateUtil</literal>). The <literal>getCurrentSession()</literal> method always returns the \"current\" unit of work. Remember that we switched the configuration option for this mechanism to \"thread\" in <literal>hibernate.cfg.xml</literal>? Hence, the current unit of work is bound to the current Java thread that executes our application. However, this is not the full picture, you also have to consider scope, when a unit of work begins and when it ends."
-msgstr "<literal>sessionFactory.getCurrentSession()</literal>은 무엇을 행하는가? 먼저 당신은 당신이 (<literal>HibernateUtil</literal> 덕분에 쉽게) <literal>SessionFactory</literal>을 당신이 소유하고 있다면, 원하는 만큼 어디서든 여러번 그것을 호출할 수 있다. <literal>getCurrentSession()</literal> 메소드는 항상 \"현재의\" 작업 단위를 반환한다. 우리가 <literal>hibernate.cfg.xml</literal> 내에서 이 매커니즘에 대한 구성 옵션을 \"thread\"로 전환시켰음을 기억하는가? 그러므로 작업의 현재 단위는 우리의 어플리케이션을 실행시키는 현재 자바 쓰레드에 묶여 있다. 하지만 이것은 전체 그림이 아니며, 당신은 또한 scope(영역), 작업 단위가 시작될 때와 작업 단위가 종료될 때를 고려해야 한다."
+#. Tag: para
+#: tutorial.xml:419
+#, no-c-format
+msgid ""
+"What does <literal>sessionFactory.getCurrentSession()</literal> do? First, "
+"you can call it as many times and anywhere you like, once you get hold of "
+"your <literal>SessionFactory</literal> (easy thanks to "
+"<literal>HibernateUtil</literal>). The <literal>getCurrentSession()</"
+"literal> method always returns the \"current\" unit of work. Remember that "
+"we switched the configuration option for this mechanism to \"thread\" in "
+"<literal>hibernate.cfg.xml</literal>? Hence, the current unit of work is "
+"bound to the current Java thread that executes our application. However, "
+"this is not the full picture, you also have to consider scope, when a unit "
+"of work begins and when it ends."
+msgstr ""
+"<literal>sessionFactory.getCurrentSession()</literal>은 무엇을 행하는가? 먼"
+"저 당신은 당신이 (<literal>HibernateUtil</literal> 덕분에 쉽게) "
+"<literal>SessionFactory</literal>을 당신이 소유하고 있다면, 원하는 만큼 어디"
+"서든 여러번 그것을 호출할 수 있다. <literal>getCurrentSession()</literal> 메"
+"소드는 항상 \"현재의\" 작업 단위를 반환한다. 우리가 <literal>hibernate.cfg."
+"xml</literal> 내에서 이 매커니즘에 대한 구성 옵션을 \"thread\"로 전환시켰음"
+"을 기억하는가? 그러므로 작업의 현재 단위는 우리의 어플리케이션을 실행시키는 "
+"현재 자바 쓰레드에 묶여 있다. 하지만 이것은 전체 그림이 아니며, 당신은 또한 "
+"scope(영역), 작업 단위가 시작될 때와 작업 단위가 종료될 때를 고려해야 한다."
 
-#: index.docbook:430
-msgid "A <literal>Session</literal> begins when it is first needed, when the first call to <literal>getCurrentSession()</literal> is made. It is then bound by Hibernate to the current thread. When the transaction ends, either through commit or rollback, Hibernate automatically unbinds the <literal>Session</literal> from the thread and closes it for you. If you call <literal>getCurrentSession()</literal> again, you get a new <literal>Session</literal> and can start a new unit of work. This <emphasis>thread-bound</emphasis> programming model is the most popular way of using Hibernate, as it allows flexible layering of your code (transaction demarcation code can be separated from data access code, we'll do this later in this tutorial)."
-msgstr "<literal>Session</literal>은 그것이 처음으로 필요로 되고 <literal>getCurrentSession()</literal>에 대한 첫 번째 호출이 이루어질 ë•Œ 시작된다. 그때 그것은 Hibernate에 의해 현재의 쓰레드에 바인드 된다. 커밋되든 롤백되든 간에 트랜잭션이 종료되고, Hibernateê°€ 자동적으로 ê·¸ 쓰레드로부터 <literal>Session</literal>을 바인드 해제시키고 당신을 위해 세션을 닫는다. 만일 당신이 <literal>getCurrentSession()</literal>을 다시 호출한다면, 당신은 새로운 <literal>Session</literal>을 얻고 새로운 작업단위를 시작할 수 있다. 이 <emphasis>thread-bound</emphasis> 프로그래밍 모형은 Hibernate를 사용하는 가장 대중적인 방법이다. 왜냐하면 그것은 당신의 코드를 유연하게 계층화시키는 것을 허용해주기 때문이다(트랜잭션 경계 분할 코드는 데이트 ì ‘ê·¼ 코드와 구별지워질 수 있는데, ìš°ë!
 ¦¬ëŠ” 이 튜토리얼의 뒷부분에서 이것을 다룰 것이다.)."
+#. Tag: para
+#: tutorial.xml:430
+#, no-c-format
+msgid ""
+"A <literal>Session</literal> begins when it is first needed, when the first "
+"call to <literal>getCurrentSession()</literal> is made. It is then bound by "
+"Hibernate to the current thread. When the transaction ends, either through "
+"commit or rollback, Hibernate automatically unbinds the <literal>Session</"
+"literal> from the thread and closes it for you. If you call "
+"<literal>getCurrentSession()</literal> again, you get a new "
+"<literal>Session</literal> and can start a new unit of work. This "
+"<emphasis>thread-bound</emphasis> programming model is the most popular way "
+"of using Hibernate, as it allows flexible layering of your code (transaction "
+"demarcation code can be separated from data access code, we'll do this later "
+"in this tutorial)."
+msgstr ""
+"<literal>Session</literal>은 그것이 처음으로 필요로 되고 "
+"<literal>getCurrentSession()</literal>에 대한 첫 번째 호출이 이루어질 때 시작"
+"된다. 그때 그것은 Hibernate에 의해 현재의 쓰레드에 바인드 된다. 커밋되든 롤백"
+"되든 간에 트랜잭션이 종료되고, Hibernate가 자동적으로 그 쓰레드로부터 "
+"<literal>Session</literal>을 바인드 해제시키고 당신을 위해 세션을 닫는다. 만"
+"일 당신이 <literal>getCurrentSession()</literal>을 다시 호출한다면, 당신은 새"
+"로운 <literal>Session</literal>을 얻고 새로운 작업단위를 시작할 수 있다. 이 "
+"<emphasis>thread-bound</emphasis> 프로그래밍 모형은 Hibernate를 사용하는 가"
+"장 대중적인 방법이다. 왜냐하면 그것은 당신의 코드를 유연하게 계층화시키는 것"
+"을 허용해주기 때문이다(트랜잭션 경계 분할 코드는 데이트 접근 코드와 구별지워"
+"질 수 있는데, 우리는 이 튜토리얼의 뒷부분에서 이것을 다룰 것이다.)."
 
-#: index.docbook:441
-msgid "Related to the unit of work scope, should the Hibernate <literal>Session</literal> be used to execute one or several database operations? The above example uses one <literal>Session</literal> for one operation. This is pure coincidence, the example is just not complex enough to show any other approach. The scope of a Hibernate <literal>Session</literal> is flexible but you should never design your application to use a new Hibernate <literal>Session</literal> for <emphasis>every</emphasis> database operation. So even if you see it a few more times in the following (very trivial) examples, consider <emphasis>session-per-operation</emphasis> an anti-pattern. A real (web) application is shown later in this tutorial."
-msgstr "ìž‘ì—… 영역의 단위와 관련하여, Hibernate <literal>Session</literal>은 하나 또는 여러 개의 데이터베이스 오퍼레이션들을 실행시키는데 사용될 수 있는가? 위의 예제는 하나의 오퍼레이션에 í•œ 개의 <literal>Session</literal>을 사용하고 있다. 이것은 순진한 일치이며, 예제는 ì–´ë–¤ 다른 접근법을 보여주기에는 충분히 복잡하지 않다. Hibernate <literal>Session</literal>의 scope(영역)은 유연하지만 당신은 ê²°ì½” <emphasis>모든</emphasis> 데이터베이스 오퍼레이션 각각에 대해 새로운 Hibernate <literal>Session</literal>을 사용하도록 당신의 어플리케이션을 설계할 수 없다. 따라서 심지어 당신이 다음의 (매우 사소한) 예제들에서 여러 번 그것을 ë³¼ 수 있을지라도 <emphasis>session-per-operation</emphasis>을 하나의 안티-패턴으로 간주하라. 실제 (웹) 어플리케이션은 이 튜토리얼의 ë’!
 ·ë¶€ë¶„에 보여진다."
+#. Tag: para
+#: tutorial.xml:441
+#, no-c-format
+msgid ""
+"Related to the unit of work scope, should the Hibernate <literal>Session</"
+"literal> be used to execute one or several database operations? The above "
+"example uses one <literal>Session</literal> for one operation. This is pure "
+"coincidence, the example is just not complex enough to show any other "
+"approach. The scope of a Hibernate <literal>Session</literal> is flexible "
+"but you should never design your application to use a new Hibernate "
+"<literal>Session</literal> for <emphasis>every</emphasis> database "
+"operation. So even if you see it a few more times in the following (very "
+"trivial) examples, consider <emphasis>session-per-operation</emphasis> an "
+"anti-pattern. A real (web) application is shown later in this tutorial."
+msgstr ""
+"작업 영역의 단위와 관련하여, Hibernate <literal>Session</literal>은 하나 또"
+"는 여러 개의 데이터베이스 오퍼레이션들을 실행시키는데 사용될 수 있는가? 위의 "
+"예제는 하나의 오퍼레이션에 한 개의 <literal>Session</literal>을 사용하고 있"
+"다. 이것은 순진한 일치이며, 예제는 어떤 다른 접근법을 보여주기에는 충분히 복"
+"잡하지 않다. Hibernate <literal>Session</literal>의 scope(영역)은 유연하지만 "
+"당신은 결코 <emphasis>모든</emphasis> 데이터베이스 오퍼레이션 각각에 대해 새"
+"로운 Hibernate <literal>Session</literal>을 사용하도록 당신의 어플리케이션을 "
+"설계할 수 없다. 따라서 심지어 당신이 다음의 (매우 사소한) 예제들에서 여러 번 "
+"그것을 볼 수 있을지라도 <emphasis>session-per-operation</emphasis>을 하나의 "
+"안티-패턴으로 간주하라. 실제 (웹) 어플리케이션은 이 튜토리얼의 뒷부분에 보여"
+"진다."
 
-#: index.docbook:452
-msgid "Have a look at <xref linkend=\"transactions\"/> for more information about transaction handling and demarcation. We also skipped any error handling and rollback in the previous example."
-msgstr "트랜잭션 핸들링과 경계구분에 대한 추가 정보는 <xref linkend=\"transactions\"/>을 살펴보라. 우리는 또한 앞의 예제에서 임의의 오류 처리와 롤백을 생략했다."
+#. Tag: para
+#: tutorial.xml:452
+#, no-c-format
+msgid ""
+"Have a look at <xref linkend=\"transactions\"/> for more information about "
+"transaction handling and demarcation. We also skipped any error handling and "
+"rollback in the previous example."
+msgstr ""
+"트랜잭션 핸들링과 경계구분에 대한 추가 정보는 <xref linkend=\"transactions\"/"
+">을 살펴보라. 우리는 또한 앞의 예제에서 임의의 오류 처리와 롤백을 생략했다."
 
-#: index.docbook:458
-msgid "To run this first routine we have to add a callable target to the Ant build file:"
-msgstr "이 첫 번째 루틴을 실행하기 위해서 우리는 호출 가능한 대상을 Ant 빌드 파일에 추가해야 한다:"
+#. Tag: para
+#: tutorial.xml:458
+#, no-c-format
+msgid ""
+"To run this first routine we have to add a callable target to the Ant build "
+"file:"
+msgstr ""
+"이 첫 번째 루틴을 실행하기 위해서 우리는 호출 가능한 대상을 Ant 빌드 파일에 "
+"추가해야 한다:"
 
-#: index.docbook:462
+#. Tag: programlisting
+#: tutorial.xml:462
+#, no-c-format
 msgid ""
-      "<![CDATA[<target name=\"run\" depends=\"compile\">\n"
-      "    <java fork=\"true\" classname=\"events.EventManager\" classpathref=\"libraries\">\n"
-      "        <classpath path=\"${targetdir}\"/>\n"
-      "        <arg value=\"${action}\"/>\n"
-      "    </java>\n"
-      "</target>]]>"
+"<![CDATA[<target name=\"run\" depends=\"compile\">\n"
+"    <java fork=\"true\" classname=\"events.EventManager\" classpathref="
+"\"libraries\">\n"
+"        <classpath path=\"${targetdir}\"/>\n"
+"        <arg value=\"${action}\"/>\n"
+"    </java>\n"
+"</target>]]>"
 msgstr ""
-      "<![CDATA[<target name=\"run\" depends=\"compile\">\n"
-      "    <java fork=\"true\" classname=\"events.EventManager\" classpathref=\"libraries\">\n"
-      "        <classpath path=\"${targetdir}\"/>\n"
-      "        <arg value=\"${action}\"/>\n"
-      "    </java>\n"
-      "</target>]]>"
 
-#: index.docbook:464
-msgid "The value of the <literal>action</literal> argument is set on the command line when calling the target:"
-msgstr "<literal>action</literal> 아규먼트의 값은 대상을 호출할 때 명령 라인 상에서 설정된다:"
+#. Tag: para
+#: tutorial.xml:464
+#, no-c-format
+msgid ""
+"The value of the <literal>action</literal> argument is set on the command "
+"line when calling the target:"
+msgstr ""
+"<literal>action</literal> 아규먼트의 값은 대상을 호출할 때 명령 라인 상에서 "
+"설정된다:"
 
-#: index.docbook:469
+#. Tag: programlisting
+#: tutorial.xml:469
+#, no-c-format
 msgid "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
-msgstr "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
+msgstr ""
 
-#: index.docbook:471
-msgid "You should see, after compilation, Hibernate starting up and, depending on your configuration, lots of log output. At the end you will find the following line:"
-msgstr "컴파일, 구성에 따른 Hibernate 시작 후에, 당신은 많은 로그 출력을 보게 될 것이다. 끝에서 당신은 다음 라인을 발견할 것이다:"
+#. Tag: para
+#: tutorial.xml:471
+#, no-c-format
+msgid ""
+"You should see, after compilation, Hibernate starting up and, depending on "
+"your configuration, lots of log output. At the end you will find the "
+"following line:"
+msgstr ""
+"컴파일, 구성에 따른 Hibernate 시작 후에, 당신은 많은 로그 출력을 보게 될 것이"
+"다. 끝에서 당신은 다음 라인을 발견할 것이다:"
 
-#: index.docbook:476
-msgid "<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) values (?, ?, ?)]]>"
-msgstr "<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) values (?, ?, ?)]]>"
+#. Tag: programlisting
+#: tutorial.xml:476
+#, no-c-format
+msgid ""
+"<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) "
+"values (?, ?, ?)]]>"
+msgstr ""
 
-#: index.docbook:478
-msgid "This is the <literal>INSERT</literal> executed by Hibernate, the question marks represent JDBC bind parameters. To see the values bound as arguments, or to reduce the verbosity of the log, check your <literal>log4j.properties</literal>."
-msgstr "이것은 Hibernate에 의해 실행된 <literal>INSERT</literal>이고, 물음표 기호는 JDBC 바인드 파라미터들을 나타낸다. 아규먼트로서 바인드 된 값들을 보거나 장황한 로그를 줄이려면 당신의 <literal>log4j.properties</literal>를 체크하라."
+#. Tag: para
+#: tutorial.xml:478
+#, no-c-format
+msgid ""
+"This is the <literal>INSERT</literal> executed by Hibernate, the question "
+"marks represent JDBC bind parameters. To see the values bound as arguments, "
+"or to reduce the verbosity of the log, check your <literal>log4j.properties</"
+"literal>."
+msgstr ""
+"이것은 Hibernate에 의해 실행된 <literal>INSERT</literal>이고, 물음표 기호는 "
+"JDBC 바인드 파라미터들을 나타낸다. 아규먼트로서 바인드 된 값들을 보거나 장황"
+"한 로그를 줄이려면 당신의 <literal>log4j.properties</literal>를 체크하라."
 
-#: index.docbook:484
-msgid "Now we'd like to list stored events as well, so we add an option to the main method:"
-msgstr "이제 우리는 마찬가지로 저장된 이벤트들을 열거하고자 원하며, 우리는 main 메소드에 한 개의 옵션을 추가한다:"
+#. Tag: para
+#: tutorial.xml:484
+#, no-c-format
+msgid ""
+"Now we'd like to list stored events as well, so we add an option to the main "
+"method:"
+msgstr ""
+"이제 우리는 마찬가지로 저장된 이벤트들을 열거하고자 원하며, 우리는 main 메소"
+"드에 한 개의 옵션을 추가한다:"
 
-#: index.docbook:488
+#. Tag: programlisting
+#: tutorial.xml:488
+#, no-c-format
 msgid ""
-      "<![CDATA[if (args[0].equals(\"store\")) {\n"
-      "    mgr.createAndStoreEvent(\"My Event\", new Date());\n"
-      "}\n"
-      "else if (args[0].equals(\"list\")) {\n"
-      "    List events = mgr.listEvents();\n"
-      "    for (int i = 0; i < events.size(); i++) {\n"
-      "        Event theEvent = (Event) events.get(i);\n"
-      "        System.out.println(\"Event: \" + theEvent.getTitle() +\n"
-      "                           \" Time: \" + theEvent.getDate());\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[if (args[0].equals(\"store\")) {\n"
+"    mgr.createAndStoreEvent(\"My Event\", new Date());\n"
+"}\n"
+"else if (args[0].equals(\"list\")) {\n"
+"    List events = mgr.listEvents();\n"
+"    for (int i = 0; i < events.size(); i++) {\n"
+"        Event theEvent = (Event) events.get(i);\n"
+"        System.out.println(\"Event: \" + theEvent.getTitle() +\n"
+"                           \" Time: \" + theEvent.getDate());\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[if (args[0].equals(\"store\")) {\n"
-      "    mgr.createAndStoreEvent(\"My Event\", new Date());\n"
-      "}\n"
-      "else if (args[0].equals(\"list\")) {\n"
-      "    List events = mgr.listEvents();\n"
-      "    for (int i = 0; i < events.size(); i++) {\n"
-      "        Event theEvent = (Event) events.get(i);\n"
-      "        System.out.println(\"Event: \" + theEvent.getTitle() +\n"
-      "                           \" Time: \" + theEvent.getDate());\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:490
+#. Tag: para
+#: tutorial.xml:490
+#, no-c-format
 msgid "We also add a new <literal>listEvents() method</literal>:"
-msgstr "우리는 또한 새로운 <literal>listEvents() method</literal> 메소드를 추가 시킨다:"
+msgstr ""
+"우리는 또한 새로운 <literal>listEvents() method</literal> 메소드를 추가 시킨"
+"다:"
 
-#: index.docbook:494
+#. Tag: programlisting
+#: tutorial.xml:494
+#, no-c-format
 msgid ""
-      "<![CDATA[private List listEvents() {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    List result = session.createQuery(\"from Event\").list();\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "\n"
-      "    return result;\n"
-      "}]]>"
+"<![CDATA[private List listEvents() {\n"
+"\n"
+"    Session session = HibernateUtil.getSessionFactory().getCurrentSession"
+"();\n"
+"\n"
+"    session.beginTransaction();\n"
+"\n"
+"    List result = session.createQuery(\"from Event\").list();\n"
+"\n"
+"    session.getTransaction().commit();\n"
+"\n"
+"    return result;\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private List listEvents() {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    List result = session.createQuery(\"from Event\").list();\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "\n"
-      "    return result;\n"
-      "}]]>"
 
-#: index.docbook:496
-msgid "What we do here is use an HQL (Hibernate Query Language) query to load all existing <literal>Event</literal> objects from the database. Hibernate will generate the appropriate SQL, send it to the database and populate <literal>Event</literal> objects with the data. You can create more complex queries with HQL, of course."
-msgstr "여기서 우리가 행할 것은 데이터베이스로부터 모든 존재하는 <literal>Event</literal> 객체들을 로드시키기 위해 HQL (Hibernate Query Language) 질의를 사용하는 것이다. Hibernate는 적절한 SQL을 생성시킬 것이고, 그것을 데이터베이스로 전송하고 데이터를 <literal>Event</literal> 객체들에 거주시킬 것이다. 당신은 물론 HQL로서 보다 복잡한 질의들을 생성시킬 수 있다."
+#. Tag: para
+#: tutorial.xml:496
+#, no-c-format
+msgid ""
+"What we do here is use an HQL (Hibernate Query Language) query to load all "
+"existing <literal>Event</literal> objects from the database. Hibernate will "
+"generate the appropriate SQL, send it to the database and populate "
+"<literal>Event</literal> objects with the data. You can create more complex "
+"queries with HQL, of course."
+msgstr ""
+"여기서 우리가 행할 것은 데이터베이스로부터 모든 존재하는 <literal>Event</"
+"literal> 객체들을 로드시키기 위해 HQL (Hibernate Query Language) 질의를 사용"
+"하는 것이다. Hibernate는 적절한 SQL을 생성시킬 것이고, 그것을 데이터베이스로 "
+"전송하고 데이터를 <literal>Event</literal> 객체들에 거주시킬 것이다. 당신은 "
+"물론 HQL로서 보다 복잡한 질의들을 생성시킬 수 있다."
 
-#: index.docbook:503
+#. Tag: para
+#: tutorial.xml:503
+#, no-c-format
 msgid "Now, to execute and test all of this, follow these steps:"
 msgstr "이제 이 모든 것을 실행하고 테스트하기 위해, 다음 단계들을 따르라:"
 
-#: index.docbook:509
-msgid "Run <literal>ant run -Daction=store</literal> to store something into the database and, of course, to generate the database schema before through hbm2ddl."
-msgstr "데이터베이스 속으로 어떤 것을 저장하고 물론 앞서 hbm2ddl을 통해 데이터베이스 스키마를 산출시키기 위해 <literal>ant run -Daction=store</literal>를 실행하라."
+#. Tag: para
+#: tutorial.xml:509
+#, no-c-format
+msgid ""
+"Run <literal>ant run -Daction=store</literal> to store something into the "
+"database and, of course, to generate the database schema before through "
+"hbm2ddl."
+msgstr ""
+"데이터베이스 속으로 어떤 것을 저장하고 물론 앞서 hbm2ddl을 통해 데이터베이스 "
+"스키마를 산출시키기 위해 <literal>ant run -Daction=store</literal>를 실행하"
+"라."
 
-#: index.docbook:515
-msgid "Now disable hbm2ddl by commenting out the property in your <literal>hibernate.cfg.xml</literal> file. Usually you only leave it turned on in continous unit testing, but another run of hbm2ddl would <emphasis>drop</emphasis> everything you have stored - the <literal>create</literal> configuration setting actually translates into \"drop all tables from the schema, then re-create all tables, when the SessionFactory is build\"."
-msgstr "이제 당신의 <literal>hibernate.cfg.xml</literal> 파일 속에서 그 프로퍼티를 주석처리함으로써 hbm2ddl을 사용불가능하게 하라. 대개 당신은 지속되는 단위 테스팅에서는 그것을 사용 가능하게 내버려두어도 되지만, 또 다른 hbm2ddl의 실행은 당신이 저장했던 모든 것을 <emphasis>drop</emphasis>시킬 것이다 - <literal>create</literal> 구성 설정은 실제로 \"스키마로부터 모든 테이블들을 드롭시키고 나서, SessionFactory가 빌드될 때 모든 테이블들을 다시 생성시키는 것\"으로 변환된다."
+#. Tag: para
+#: tutorial.xml:515
+#, no-c-format
+msgid ""
+"Now disable hbm2ddl by commenting out the property in your "
+"<literal>hibernate.cfg.xml</literal> file. Usually you only leave it turned "
+"on in continous unit testing, but another run of hbm2ddl would "
+"<emphasis>drop</emphasis> everything you have stored - the <literal>create</"
+"literal> configuration setting actually translates into \"drop all tables "
+"from the schema, then re-create all tables, when the SessionFactory is build"
+"\"."
+msgstr ""
+"이제 당신의 <literal>hibernate.cfg.xml</literal> 파일 속에서 그 프로퍼티를 주"
+"석처리함으로써 hbm2ddl을 사용불가능하게 하라. 대개 당신은 지속되는 단위 테스"
+"팅에서는 그것을 사용 가능하게 내버려두어도 되지만, 또 다른 hbm2ddl의 실행은 "
+"당신이 저장했던 모든 것을 <emphasis>drop</emphasis>시킬 것이다 - "
+"<literal>create</literal> 구성 설정은 실제로 \"스키마로부터 모든 테이블들을 "
+"드롭시키고 나서, SessionFactory가 빌드될 때 모든 테이블들을 다시 생성시키는 "
+"것\"으로 변환된다."
 
-#: index.docbook:525
-msgid "If you now call Ant with <literal>-Daction=list</literal>, you should see the events you have stored so far. You can of course also call the <literal>store</literal> action a few times more."
-msgstr "만일 당신이 지금 <literal>-Daction=list</literal>로 Ant를 호출할 경우, 당신은 당신이 지금까지 저장했던 이벤트들을 보게 될 것이다. 물론 당신은 또한 여러 번 <literal>store</literal> 액션을 호출할 수 있다."
+#. Tag: para
+#: tutorial.xml:525
+#, no-c-format
+msgid ""
+"If you now call Ant with <literal>-Daction=list</literal>, you should see "
+"the events you have stored so far. You can of course also call the "
+"<literal>store</literal> action a few times more."
+msgstr ""
+"만일 당신이 지금 <literal>-Daction=list</literal>로 Ant를 호출할 경우, 당신"
+"은 당신이 지금까지 저장했던 이벤트들을 보게 될 것이다. 물론 당신은 또한 여러 "
+"번 <literal>store</literal> 액션을 호출할 수 있다."
 
-#: index.docbook:531
-msgid "Note: Most new Hibernate users fail at this point and we see questions about <emphasis>Table not found</emphasis> error messages regularly. However, if you follow the steps outlined above you will not have this problem, as hbm2ddl creates the database schema on the first run, and subsequent application restarts will use this schema. If you change the mapping and/or database schema, you have to re-enable hbm2ddl once again."
-msgstr "노트 : 대부분의 Hibernate 사용자들은 이 지점에서 실패하고 우리는 정기적으로 <emphasis>Table not found</emphasis> 오류 메시지들에 관한 질문을 받는다. 하지만 만일 당신이 위에 조명된 단게들을 따를 경우 당신은 이 문제를 겪지 않을 것이고, hbm2ddl이 처음 실행 시에 데이터베이스 스키마를 생성시키므로, 차후의 어플리케이션 재시작은 이 스키마를 사용할 것이다. 만일 당신이 매핑 그리고/또는 데이터베이스 스키마를 변경할 경우에, 당신은 다시 한번 더 hbm2ddl을 이용 가능하도록 해야 한다."
+#. Tag: para
+#: tutorial.xml:531
+#, no-c-format
+msgid ""
+"Note: Most new Hibernate users fail at this point and we see questions about "
+"<emphasis>Table not found</emphasis> error messages regularly. However, if "
+"you follow the steps outlined above you will not have this problem, as "
+"hbm2ddl creates the database schema on the first run, and subsequent "
+"application restarts will use this schema. If you change the mapping and/or "
+"database schema, you have to re-enable hbm2ddl once again."
+msgstr ""
+"노트 : 대부분의 Hibernate 사용자들은 이 지점에서 실패하고 우리는 정기적으로 "
+"<emphasis>Table not found</emphasis> 오류 메시지들에 관한 질문을 받는다. 하지"
+"만 만일 당신이 위에 조명된 단게들을 따를 경우 당신은 이 문제를 겪지 않을 것이"
+"고, hbm2ddl이 처음 실행 시에 데이터베이스 스키마를 생성시키므로, 차후의 어플"
+"리케이션 재시작은 이 스키마를 사용할 것이다. 만일 당신이 매핑 그리고/또는 데"
+"이터베이스 스키마를 변경할 경우에, 당신은 다시 한번 더 hbm2ddl을 이용 가능하"
+"도록 해야 한다."
 
-#: index.docbook:544
+#. Tag: title
+#: tutorial.xml:544
+#, no-c-format
 msgid "Part 2 - Mapping associations"
 msgstr "파트 2 - 연관들을 매핑하기"
 
-#: index.docbook:546
-msgid "We mapped a persistent entity class to a table. Let's build on this and add some class associations. First we'll add people to our application, and store a list of events they participate in."
-msgstr "우리는 한 개의 영속 엔티티 클래스를 한 개의 테이블로 매핑했다. 이것 위에서 빌드하고 몇몇 클래스 연관들을 추가시키자. 먼저 우리는 우리의 어플리케이션에 사람들을 추가하고 그들이 참여하는 이벤트들의 목록을 저장할 것이다."
+#. Tag: para
+#: tutorial.xml:546
+#, no-c-format
+msgid ""
+"We mapped a persistent entity class to a table. Let's build on this and add "
+"some class associations. First we'll add people to our application, and "
+"store a list of events they participate in."
+msgstr ""
+"우리는 한 개의 영속 엔티티 클래스를 한 개의 테이블로 매핑했다. 이것 위에서 빌"
+"드하고 몇몇 클래스 연관들을 추가시키자. 먼저 우리는 우리의 어플리케이션에 사"
+"람들을 추가하고 그들이 참여하는 이벤트들의 목록을 저장할 것이다."
 
-#: index.docbook:552
+#. Tag: title
+#: tutorial.xml:552
+#, no-c-format
 msgid "Mapping the Person class"
 msgstr "Person 클래스 매핑하기"
 
-#: index.docbook:554
+#. Tag: para
+#: tutorial.xml:554
+#, no-c-format
 msgid "The first cut of the <literal>Person</literal> class is simple:"
 msgstr "클래스의 첫 번째 장면은 간단하다:"
 
-#: index.docbook:558
+#. Tag: programlisting
+#: tutorial.xml:558
+#, no-c-format
 msgid ""
-      "<![CDATA[package events;\n"
-      "\n"
-      "public class Person {\n"
-      "\n"
-      "    private Long id;\n"
-      "    private int age;\n"
-      "    private String firstname;\n"
-      "    private String lastname;\n"
-      "\n"
-      "    public Person() {}\n"
-      "\n"
-      "    // Accessor methods for all properties, private setter for 'id'\n"
-      "\n"
-      "}]]>"
+"<![CDATA[package events;\n"
+"\n"
+"public class Person {\n"
+"\n"
+"    private Long id;\n"
+"    private int age;\n"
+"    private String firstname;\n"
+"    private String lastname;\n"
+"\n"
+"    public Person() {}\n"
+"\n"
+"    // Accessor methods for all properties, private setter for 'id'\n"
+"\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package events;\n"
-      "\n"
-      "public class Person {\n"
-      "\n"
-      "    private Long id;\n"
-      "    private int age;\n"
-      "    private String firstname;\n"
-      "    private String lastname;\n"
-      "\n"
-      "    public Person() {}\n"
-      "\n"
-      "    // Accessor methods for all properties, private setter for 'id'\n"
-      "\n"
-      "}]]>"
 
-#: index.docbook:560
-msgid "Create a new mapping file called <literal>Person.hbm.xml</literal> (don't forget the DTD reference at the top):"
-msgstr "<literal>Person.hbm.xml</literal>로 명명되는 새로운 매핑 파일을 생성시켜라 (맨위에 DTD 참조를 잊지말라):"
+#. Tag: para
+#: tutorial.xml:560
+#, no-c-format
+msgid ""
+"Create a new mapping file called <literal>Person.hbm.xml</literal> (don't "
+"forget the DTD reference at the top):"
+msgstr ""
+"<literal>Person.hbm.xml</literal>로 명명되는 새로운 매핑 파일을 생성시켜라 "
+"(맨위에 DTD 참조를 잊지말라):"
 
-#: index.docbook:565
+#. Tag: programlisting
+#: tutorial.xml:565
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Person\" table=\"PERSON\">\n"
-      "        <id name=\"id\" column=\"PERSON_ID\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"age\"/>\n"
-      "        <property name=\"firstname\"/>\n"
-      "        <property name=\"lastname\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"events.Person\" table=\"PERSON\">\n"
+"        <id name=\"id\" column=\"PERSON_ID\">\n"
+"            <generator class=\"native\"/>\n"
+"        </id>\n"
+"        <property name=\"age\"/>\n"
+"        <property name=\"firstname\"/>\n"
+"        <property name=\"lastname\"/>\n"
+"    </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Person\" table=\"PERSON\">\n"
-      "        <id name=\"id\" column=\"PERSON_ID\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "        <property name=\"age\"/>\n"
-      "        <property name=\"firstname\"/>\n"
-      "        <property name=\"lastname\"/>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:567
+#. Tag: para
+#: tutorial.xml:567
+#, no-c-format
 msgid "Finally, add the new mapping to Hibernate's configuration:"
 msgstr "마지막으로 새로운 매핑을 Hibernate의 구성에 추가하라:"
 
-#: index.docbook:571
+#. Tag: programlisting
+#: tutorial.xml:571
+#, no-c-format
 msgid ""
-      "<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
-      "<mapping resource=\"events/Person.hbm.xml\"/>]]>"
+"<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
+"<mapping resource=\"events/Person.hbm.xml\"/>]]>"
 msgstr ""
-      "<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
-      "<mapping resource=\"events/Person.hbm.xml\"/>]]>"
 
-#: index.docbook:573
-msgid "We'll now create an association between these two entities. Obviously, persons can participate in events, and events have participants. The design questions we have to deal with are: directionality, multiplicity, and collection behavior."
-msgstr "이제 우리는 이들 두 개의 엔티티들 사이에 한 개의 연관을 생성시킬 것이다. 명백하게, 개인들은 이벤트들에 참여할 수 있고, 이벤트들은 참여자들을 갖는다. 우리가 다루어야 하는 설계 질문들은 다음과 같다 : 방향성(directionality), 다중성(multiplicity), 그리고 콜렉션 특징."
+#. Tag: para
+#: tutorial.xml:573
+#, no-c-format
+msgid ""
+"We'll now create an association between these two entities. Obviously, "
+"persons can participate in events, and events have participants. The design "
+"questions we have to deal with are: directionality, multiplicity, and "
+"collection behavior."
+msgstr ""
+"이제 우리는 이들 두 개의 엔티티들 사이에 한 개의 연관을 생성시킬 것이다. 명백"
+"하게, 개인들은 이벤트들에 참여할 수 있고, 이벤트들은 참여자들을 갖는다. 우리"
+"가 다루어야 하는 설계 질문들은 다음과 같다 : 방향성(directionality), 다중성"
+"(multiplicity), 그리고 콜렉션 특징."
 
-#: index.docbook:583
+#. Tag: title
+#: tutorial.xml:583
+#, no-c-format
 msgid "A unidirectional Set-based association"
 msgstr "단방향 Set-기반의 연관"
 
-#: index.docbook:585
-msgid "We'll add a collection of events to the <literal>Person</literal> class. That way we can easily navigate to the events for a particular person, without executing an explicit query - by calling <literal>aPerson.getEvents()</literal>. We use a Java collection, a <literal>Set</literal>, because the collection will not contain duplicate elements and the ordering is not relevant for us."
-msgstr "우리는 <literal>Person</literal> 클래스에 이벤트들을 가진 한 개의 콜렉션을 추가할 것이다. 그 방법으로 우리는 명시적인 질의-<literal>aPerson.getEvents()</literal>를 호출함으로써-를 실행시키지 않고서 특정 개인에 대한 이벤트들을 쉽게 네비게이트할 수 있다. 우리는 하나의 Java 콜렉션, 하나의 <literal>Set</literal>를 사용한다. 왜냐하면 그 콜렉션은 중복 요소들을 포함하기 않을 것이고 그 순서가 우리와 관련되어 있지 않기 때문이다."
+#. Tag: para
+#: tutorial.xml:585
+#, no-c-format
+msgid ""
+"We'll add a collection of events to the <literal>Person</literal> class. "
+"That way we can easily navigate to the events for a particular person, "
+"without executing an explicit query - by calling <literal>aPerson.getEvents()"
+"</literal>. We use a Java collection, a <literal>Set</literal>, because the "
+"collection will not contain duplicate elements and the ordering is not "
+"relevant for us."
+msgstr ""
+"우리는 <literal>Person</literal> 클래스에 이벤트들을 가진 한 개의 콜렉션을 추"
+"가할 것이다. 그 방법으로 우리는 명시적인 질의-<literal>aPerson.getEvents()</"
+"literal>를 호출함으로써-를 실행시키지 않고서 특정 개인에 대한 이벤트들을 쉽"
+"게 네비게이트할 수 있다. 우리는 하나의 Java 콜렉션, 하나의 <literal>Set</"
+"literal>를 사용한다. 왜냐하면 그 콜렉션은 중복 요소들을 포함하기 않을 것이고 "
+"그 순서가 우리와 관련되어 있지 않기 때문이다."
 
-#: index.docbook:592
-msgid "We need a unidirectional, many-valued associations, implemented with a <literal>Set</literal>. Let's write the code for this in the Java classes and then map it:"
-msgstr "우리는 하나의 <literal>Set</literal>으로 구현된, 하나의 단방향, 다중값 연관들을 필요로 한다. Java 클래스들 내에 이를 위한 코드를 작성하고 그런 다음 그것을 매핑시키자:"
+#. Tag: para
+#: tutorial.xml:592
+#, no-c-format
+msgid ""
+"We need a unidirectional, many-valued associations, implemented with a "
+"<literal>Set</literal>. Let's write the code for this in the Java classes "
+"and then map it:"
+msgstr ""
+"우리는 하나의 <literal>Set</literal>으로 구현된, 하나의 단방향, 다중값 연관들"
+"을 필요로 한다. Java 클래스들 내에 이를 위한 코드를 작성하고 그런 다음 그것"
+"을 매핑시키자:"
 
-#: index.docbook:597
+#. Tag: programlisting
+#: tutorial.xml:597
+#, no-c-format
 msgid ""
-      "<![CDATA[public class Person {\n"
-      "\n"
-      "    private Set events = new HashSet();\n"
-      "\n"
-      "    public Set getEvents() {\n"
-      "        return events;\n"
-      "    }\n"
-      "\n"
-      "    public void setEvents(Set events) {\n"
-      "        this.events = events;\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[public class Person {\n"
+"\n"
+"    private Set events = new HashSet();\n"
+"\n"
+"    public Set getEvents() {\n"
+"        return events;\n"
+"    }\n"
+"\n"
+"    public void setEvents(Set events) {\n"
+"        this.events = events;\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[public class Person {\n"
-      "\n"
-      "    private Set events = new HashSet();\n"
-      "\n"
-      "    public Set getEvents() {\n"
-      "        return events;\n"
-      "    }\n"
-      "\n"
-      "    public void setEvents(Set events) {\n"
-      "        this.events = events;\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:599
-msgid "Before we map this association, think about the other side. Clearly, we could just keep this unidirectional. Or, we could create another collection on the <literal>Event</literal>, if we want to be able to navigate it bi-directional, i.e. <literal>anEvent.getParticipants()</literal>. This is not necessary, from a functional perspective. You could always execute an explicit query to retrieve the participants for a particular event. This is a design choice left to you, but what is clear from this discussion is the multiplicity of the association: \"many\" valued on both sides, we call this a <emphasis>many-to-many</emphasis> association. Hence, we use Hibernate's many-to-many mapping:"
-msgstr "우리가 이 연관을 매핑하기 전에, 다른 측에 대해 생각하라. 명백하게 우리는 이것을 단지 단방향으로 유지시킬 수 있다. 또는 우리가 그것을 양방향으로 네비게이트하는 것-예를 들어 <literal>anEvent.getParticipants()</literal>-이 가능하도록 원할 경우에, <literal>Event</literal>측 상에 또 다른 콜렉션을 생성시킬 수 있다. 이것은 당신에게 남겨진 설계 선택이지만, 이 논의에서 명료한 점은 연관의 다중성이다: 양 측 상에서 \"다중\" 값을 갖는 경우, 우리는 이것을 <emphasis>many-to-many</emphasis> 연관이라고 명명한다. 그러므로 우리는 Hibernate의 many-to-many 매핑을 사용한다:"
+#. Tag: para
+#: tutorial.xml:599
+#, no-c-format
+msgid ""
+"Before we map this association, think about the other side. Clearly, we "
+"could just keep this unidirectional. Or, we could create another collection "
+"on the <literal>Event</literal>, if we want to be able to navigate it bi-"
+"directional, i.e. <literal>anEvent.getParticipants()</literal>. This is not "
+"necessary, from a functional perspective. You could always execute an "
+"explicit query to retrieve the participants for a particular event. This is "
+"a design choice left to you, but what is clear from this discussion is the "
+"multiplicity of the association: \"many\" valued on both sides, we call this "
+"a <emphasis>many-to-many</emphasis> association. Hence, we use Hibernate's "
+"many-to-many mapping:"
+msgstr ""
+"우리가 이 연관을 매핑하기 전에, 다른 측에 대해 생각하라. 명백하게 우리는 이것"
+"을 단지 단방향으로 유지시킬 수 있다. 또는 우리가 그것을 양방향으로 네비게이트"
+"하는 것-예를 들어 <literal>anEvent.getParticipants()</literal>-이 가능하도록 "
+"원할 경우에, <literal>Event</literal>측 상에 또 다른 콜렉션을 생성시킬 수 있"
+"다. 이것은 당신에게 남겨진 설계 선택이지만, 이 논의에서 명료한 점은 연관의 다"
+"중성이다: 양 측 상에서 \"다중\" 값을 갖는 경우, 우리는 이것을 <emphasis>many-"
+"to-many</emphasis> 연관이라고 명명한다. 그러므로 우리는 Hibernate의 many-to-"
+"many 매핑을 사용한다:"
 
-#: index.docbook:610
+#. Tag: programlisting
+#: tutorial.xml:610
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"events.Person\" table=\"PERSON\">\n"
-      "    <id name=\"id\" column=\"PERSON_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"age\"/>\n"
-      "    <property name=\"firstname\"/>\n"
-      "    <property name=\"lastname\"/>\n"
-      "\n"
-      "    <set name=\"events\" table=\"PERSON_EVENT\">\n"
-      "        <key column=\"PERSON_ID\"/>\n"
-      "        <many-to-many column=\"EVENT_ID\" class=\"events.Event\"/>\n"
-      "    </set>\n"
-      "\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"events.Person\" table=\"PERSON\">\n"
+"    <id name=\"id\" column=\"PERSON_ID\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <property name=\"age\"/>\n"
+"    <property name=\"firstname\"/>\n"
+"    <property name=\"lastname\"/>\n"
+"\n"
+"    <set name=\"events\" table=\"PERSON_EVENT\">\n"
+"        <key column=\"PERSON_ID\"/>\n"
+"        <many-to-many column=\"EVENT_ID\" class=\"events.Event\"/>\n"
+"    </set>\n"
+"\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"events.Person\" table=\"PERSON\">\n"
-      "    <id name=\"id\" column=\"PERSON_ID\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <property name=\"age\"/>\n"
-      "    <property name=\"firstname\"/>\n"
-      "    <property name=\"lastname\"/>\n"
-      "\n"
-      "    <set name=\"events\" table=\"PERSON_EVENT\">\n"
-      "        <key column=\"PERSON_ID\"/>\n"
-      "        <many-to-many column=\"EVENT_ID\" class=\"events.Event\"/>\n"
-      "    </set>\n"
-      "\n"
-      "</class>]]>"
 
-#: index.docbook:612
-msgid "Hibernate supports all kinds of collection mappings, a <literal>&lt;set&gt;</literal> being most common. For a many-to-many association (or <emphasis>n:m</emphasis> entity relationship), an association table is needed. Each row in this table represents a link between a person and an event. The table name is configured with the <literal>table</literal> attribute of the <literal>set</literal> element. The identifier column name in the association, for the person's side, is defined with the <literal>&lt;key&gt;</literal> element, the column name for the event's side with the <literal>column</literal> attribute of the <literal>&lt;many-to-many&gt;</literal>. You also have to tell Hibernate the class of the objects in your collection (correct: the class on the other side of the collection of references)."
-msgstr "Hibernate는 모든 종류의 콜렉션 매핑들, 가장 공통적인 <literal>&lt;set&gt;</literal>을 지원한다. many-to-many 연관 (또는 <emphasis>n:m</emphasis> 엔티티 관계)의 경우, 한 개의 연관 테이블이 필요하다. 이 테이블 내에 있는 각각의 행은 한 명의 개인과 한 개의 이벤트 사이의 링크를 표현한다. 테이블 이름은 <literal>set</literal> 요소의 <literal>table</literal> 속성으로 구성된다. 연관 내의 식별자 컬럼 이름은 개인 측에 대해 <literal>&lt;key&gt;</literal> 요소로 정의되고 이벤트 측에 대한 컬럼 이름은 <literal>&lt;many-to-many&gt;</literal>의 <literal>column</literal> 속성으로 정의된다. 당신은 또한 당신의 콜렉션 내에 있는 객체들의 클래스(정확하게 : 참조들을 가진 콜렉션의 다른 측 상에 있는 클래스)를 Hibernate에게 알려주어야 한다."
+#. Tag: para
+#: tutorial.xml:612
+#, no-c-format
+msgid ""
+"Hibernate supports all kinds of collection mappings, a <literal>&lt;set&gt;</"
+"literal> being most common. For a many-to-many association (or <emphasis>n:"
+"m</emphasis> entity relationship), an association table is needed. Each row "
+"in this table represents a link between a person and an event. The table "
+"name is configured with the <literal>table</literal> attribute of the "
+"<literal>set</literal> element. The identifier column name in the "
+"association, for the person's side, is defined with the <literal>&lt;key&gt;"
+"</literal> element, the column name for the event's side with the "
+"<literal>column</literal> attribute of the <literal>&lt;many-to-many&gt;</"
+"literal>. You also have to tell Hibernate the class of the objects in your "
+"collection (correct: the class on the other side of the collection of "
+"references)."
+msgstr ""
+"Hibernate는 모든 종류의 콜렉션 매핑들, 가장 공통적인 <literal>&lt;set&gt;</"
+"literal>을 지원한다. many-to-many 연관 (또는 <emphasis>n:m</emphasis> 엔티티 "
+"관계)의 경우, 한 개의 연관 테이블이 필요하다. 이 테이블 내에 있는 각각의 행"
+"은 한 명의 개인과 한 개의 이벤트 사이의 링크를 표현한다. 테이블 이름은 "
+"<literal>set</literal> 요소의 <literal>table</literal> 속성으로 구성된다. 연"
+"관 내의 식별자 컬럼 이름은 개인 측에 대해 <literal>&lt;key&gt;</literal> 요소"
+"로 정의되고 이벤트 측에 대한 컬럼 이름은 <literal>&lt;many-to-many&gt;</"
+"literal>의 <literal>column</literal> 속성으로 정의된다. 당신은 또한 당신의 콜"
+"렉션 내에 있는 객체들의 클래스(정확하게 : 참조들을 가진 콜렉션의 다른 측 상"
+"에 있는 클래스)를 Hibernate에게 알려주어야 한다."
 
-#: index.docbook:624
+#. Tag: para
+#: tutorial.xml:624
+#, no-c-format
 msgid "The database schema for this mapping is therefore:"
 msgstr "따라서 이 매핑을 위한 데이터베이스 스키마는 다음과 같다:"
 
-#: index.docbook:628
+#. Tag: programlisting
+#: tutorial.xml:628
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "    _____________        __________________\n"
-      "   |             |      |                  |       _____________\n"
-      "   |   EVENTS    |      |   PERSON_EVENT   |      |             |\n"
-      "   |_____________|      |__________________|      |    PERSON   |\n"
-      "   |             |      |                  |      |_____________|\n"
-      "   | *EVENT_ID   | <--> | *EVENT_ID        |      |             |\n"
-      "   |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  |\n"
-      "   |  TITLE      |      |__________________|      |  AGE        |\n"
-      "   |_____________|                                |  FIRSTNAME  |\n"
-      "                                                  |  LASTNAME   |\n"
-      "                                                  |_____________|\n"
-      " ]]>"
+"<![CDATA[\n"
+"    _____________        __________________\n"
+"   |             |      |                  |       _____________\n"
+"   |   EVENTS    |      |   PERSON_EVENT   |      |             |\n"
+"   |_____________|      |__________________|      |    PERSON   |\n"
+"   |             |      |                  |      |_____________|\n"
+"   | *EVENT_ID   | <--> | *EVENT_ID        |      |             |\n"
+"   |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  |\n"
+"   |  TITLE      |      |__________________|      |  AGE        |\n"
+"   |_____________|                                |  FIRSTNAME  |\n"
+"                                                  |  LASTNAME   |\n"
+"                                                  |_____________|\n"
+" ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "    _____________        __________________\n"
-      "   |             |      |                  |       _____________\n"
-      "   |   EVENTS    |      |   PERSON_EVENT   |      |             |\n"
-      "   |_____________|      |__________________|      |    PERSON   |\n"
-      "   |             |      |                  |      |_____________|\n"
-      "   | *EVENT_ID   | <--> | *EVENT_ID        |      |             |\n"
-      "   |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  |\n"
-      "   |  TITLE      |      |__________________|      |  AGE        |\n"
-      "   |_____________|                                |  FIRSTNAME  |\n"
-      "                                                  |  LASTNAME   |\n"
-      "                                                  |_____________|\n"
-      " ]]>"
 
-#: index.docbook:633
+#. Tag: title
+#: tutorial.xml:633
+#, no-c-format
 msgid "Working the association"
 msgstr "연관들에 작업하기"
 
-#: index.docbook:635
-msgid "Let's bring some people and events together in a new method in <literal>EventManager</literal>:"
-msgstr "<literal>EventManager</literal> 속에 있는 한 개의 새로운 메소드 내에 몇몇 사람들과 이벤트들을 함께 가져오자:"
+#. Tag: para
+#: tutorial.xml:635
+#, no-c-format
+msgid ""
+"Let's bring some people and events together in a new method in "
+"<literal>EventManager</literal>:"
+msgstr ""
+"<literal>EventManager</literal> 속에 있는 한 개의 새로운 메소드 내에 몇몇 사"
+"람들과 이벤트들을 함께 가져오자:"
 
-#: index.docbook:639
+#. Tag: programlisting
+#: tutorial.xml:639
+#, no-c-format
 msgid ""
-      "<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    Person aPerson = (Person) session.load(Person.class, personId);\n"
-      "    Event anEvent = (Event) session.load(Event.class, eventId);\n"
-      "\n"
-      "    aPerson.getEvents().add(anEvent);\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "}]]>"
+"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
+"\n"
+"    Session session = HibernateUtil.getSessionFactory().getCurrentSession"
+"();\n"
+"    session.beginTransaction();\n"
+"\n"
+"    Person aPerson = (Person) session.load(Person.class, personId);\n"
+"    Event anEvent = (Event) session.load(Event.class, eventId);\n"
+"\n"
+"    aPerson.getEvents().add(anEvent);\n"
+"\n"
+"    session.getTransaction().commit();\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    Person aPerson = (Person) session.load(Person.class, personId);\n"
-      "    Event anEvent = (Event) session.load(Event.class, eventId);\n"
-      "\n"
-      "    aPerson.getEvents().add(anEvent);\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "}]]>"
 
-#: index.docbook:641
-msgid "After loading a <literal>Person</literal> and an <literal>Event</literal>, simply modify the collection using the normal collection methods. As you can see, there is no explicit call to <literal>update()</literal> or <literal>save()</literal>, Hibernate automatically detects that the collection has been modified and needs to be updated. This is called <emphasis>automatic dirty checking</emphasis>, and you can also try it by modifying the name or the date property of any of your objects. As long as they are in <emphasis>persistent</emphasis> state, that is, bound to a particular Hibernate <literal>Session</literal> (i.e. they have been just loaded or saved in a unit of work), Hibernate monitors any changes and executes SQL in a write-behind fashion. The process of synchronizing the memory state with the database, usually only at the end of a unit of work, is called <emphasis>flushing</emphasis>. In our code, the unit of work ends with a commit (or rollback) of the dat!
 abase transaction - as defined by the <literal>thread</literal> configuration option for the <literal>CurrentSessionContext</literal> class."
-msgstr "<literal>Person</literal>ê³¼ <literal>Event</literal>를 로드시킨 후에, ì •ê·œ 콜렉션 메소드들을 사용하여 콜렉션을 간단하게 변경하라. 당신이 ì•Œ 수 있듯이, <literal>update()</literal> 또는 <literal>save()</literal>에 대한 명시적인 호출이 존재하지 ì•Šê³ , 변경되었고 저장할 필요가 있는 콜렉션을 Hibernateê°€ 자동적으로 검출해낸다. 이것은 <emphasis>자동적인 dirty 체킹</emphasis>이라 불려지며, 당신은 또한 당신의 임의의 객체들에 대한 name 또는 date 프로퍼티를 변경함으로써 그것을 시도할 수 있다. 그것들이 <emphasis>영속(persistent)</emphasis> 상태에 있는 동안, 즉 특정 Hibernate <literal>Session</literal>에 바인드되어 있는 동안(예를 들면. 그것들은 ìž‘ì—… 단위 속에 방금 로드되었거나 저장되었다), Hibernate는 임의의 변경들을 모니터링하고 쓰기 이면의 형태로 SQL을 실행시í‚!
 ¨ë‹¤. 메모리 상태를 데이터베이스와 동기화 시키는 과정은 대개 오직 ìž‘ì—… 단위의 끝에서이고, <emphasis>flushing</emphasis>이라 명명된다. 우리의 코드에서, ìž‘ì—… 단위는 <literal>CurrentSessionContext</literal> 클래스에 대한 <literal>thread</literal> 구성 옵션에 의해 정의된 대로 - 데이터베이스 트랜잭션의 커밋(또는 롤백)으로 끝이난다."
+#. Tag: para
+#: tutorial.xml:641
+#, no-c-format
+msgid ""
+"After loading a <literal>Person</literal> and an <literal>Event</literal>, "
+"simply modify the collection using the normal collection methods. As you can "
+"see, there is no explicit call to <literal>update()</literal> or "
+"<literal>save()</literal>, Hibernate automatically detects that the "
+"collection has been modified and needs to be updated. This is called "
+"<emphasis>automatic dirty checking</emphasis>, and you can also try it by "
+"modifying the name or the date property of any of your objects. As long as "
+"they are in <emphasis>persistent</emphasis> state, that is, bound to a "
+"particular Hibernate <literal>Session</literal> (i.e. they have been just "
+"loaded or saved in a unit of work), Hibernate monitors any changes and "
+"executes SQL in a write-behind fashion. The process of synchronizing the "
+"memory state with the database, usually only at the end of a unit of work, "
+"is called <emphasis>flushing</emphasis>. In our code, the unit of work ends "
+"with a commit (or rollback) of the database transaction - as defined by the "
+"<literal>thread</literal> configuration option for the "
+"<literal>CurrentSessionContext</literal> class."
+msgstr ""
+"<literal>Person</literal>과 <literal>Event</literal>를 로드시킨 후에, 정규 콜"
+"렉션 메소드들을 사용하여 콜렉션을 간단하게 변경하라. 당신이 알 수 있듯이, "
+"<literal>update()</literal> 또는 <literal>save()</literal>에 대한 명시적인 호"
+"출이 존재하지 않고, 변경되었고 저장할 필요가 있는 콜렉션을 Hibernate가 자동적"
+"으로 검출해낸다. 이것은 <emphasis>자동적인 dirty 체킹</emphasis>이라 불려지"
+"며, 당신은 또한 당신의 임의의 객체들에 대한 name 또는 date 프로퍼티를 변경함"
+"으로써 그것을 시도할 수 있다. 그것들이 <emphasis>영속(persistent)</emphasis> "
+"상태에 있는 동안, 즉 특정 Hibernate <literal>Session</literal>에 바인드되어 "
+"있는 동안(예를 들면. 그것들은 작업 단위 속에 방금 로드되었거나 저장되었다), "
+"Hibernate는 임의의 변경들을 모니터링하고 쓰기 이면의 형태로 SQL을 실행시킨"
+"다. 메모리 상태를 데이터베이스와 동기화 시키는 과정은 대개 오직 작업 단위의 "
+"끝에서이고, <emphasis>flushing</emphasis>이라 명명된다. 우리의 코드에서, 작"
+"업 단위는 <literal>CurrentSessionContext</literal> 클래스에 대한 "
+"<literal>thread</literal> 구성 옵션에 의해 정의된 대로 - 데이터베이스 트랜잭"
+"션의 커밋(또는 롤백)으로 끝이난다."
 
-#: index.docbook:656
-msgid "You might of course load person and event in different units of work. Or you modify an object outside of a <literal>Session</literal>, when it is not in persistent state (if it was persistent before, we call this state <emphasis>detached</emphasis>). You can even modify a collection when it is detached:"
-msgstr "물론 당신은 다른 작업 단위 속에 개인과 이벤트를 로드시킬 수 도 있다. 또는 당신은 하나의 객체그 영속 상태에 있지 않을 때 <literal>Session</literal>의 외부에서 객체를 변경시킬 수도 있다(만일 객체가 이전에 영속화 되었다면, 우리는 이 상태를 <emphasis>detached</emphasis>라고 부른다). (매우 사실적이지 않은) 코드 내에서 이것은 다음과 같을 수 있다:"
+#. Tag: para
+#: tutorial.xml:656
+#, no-c-format
+msgid ""
+"You might of course load person and event in different units of work. Or you "
+"modify an object outside of a <literal>Session</literal>, when it is not in "
+"persistent state (if it was persistent before, we call this state "
+"<emphasis>detached</emphasis>). You can even modify a collection when it is "
+"detached:"
+msgstr ""
+"물론 당신은 다른 작업 단위 속에 개인과 이벤트를 로드시킬 수 도 있다. 또는 당"
+"신은 하나의 객체그 영속 상태에 있지 않을 때 <literal>Session</literal>의 외부"
+"에서 객체를 변경시킬 수도 있다(만일 객체가 이전에 영속화 되었다면, 우리는 이 "
+"상태를 <emphasis>detached</emphasis>라고 부른다). (매우 사실적이지 않은) 코"
+"드 내에서 이것은 다음과 같을 수 있다:"
 
-#: index.docbook:663
+#. Tag: programlisting
+#: tutorial.xml:663
+#, no-c-format
 msgid ""
-      "<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    Person aPerson = (Person) session\n"
-      "            .createQuery(\"select p from Person p left join fetch p.events where p.id = :pid\")\n"
-      "            .setParameter(\"pid\", personId)\n"
-      "            .uniqueResult(); // Eager fetch the collection so we can use it detached\n"
-      "\n"
-      "    Event anEvent = (Event) session.load(Event.class, eventId);\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "\n"
-      "    // End of first unit of work\n"
-      "\n"
-      "    aPerson.getEvents().add(anEvent); // aPerson (and its collection) is detached\n"
-      "\n"
-      "    // Begin second unit of work\n"
-      "\n"
-      "    Session session2 = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "    session2.beginTransaction();\n"
-      "\n"
-      "    session2.update(aPerson); // Reattachment of aPerson\n"
-      "\n"
-      "    session2.getTransaction().commit();\n"
-      "}]]>"
+"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
+"\n"
+"    Session session = HibernateUtil.getSessionFactory().getCurrentSession"
+"();\n"
+"    session.beginTransaction();\n"
+"\n"
+"    Person aPerson = (Person) session\n"
+"            .createQuery(\"select p from Person p left join fetch p.events "
+"where p.id = :pid\")\n"
+"            .setParameter(\"pid\", personId)\n"
+"            .uniqueResult(); // Eager fetch the collection so we can use it "
+"detached\n"
+"\n"
+"    Event anEvent = (Event) session.load(Event.class, eventId);\n"
+"\n"
+"    session.getTransaction().commit();\n"
+"\n"
+"    // End of first unit of work\n"
+"\n"
+"    aPerson.getEvents().add(anEvent); // aPerson (and its collection) is "
+"detached\n"
+"\n"
+"    // Begin second unit of work\n"
+"\n"
+"    Session session2 = HibernateUtil.getSessionFactory().getCurrentSession"
+"();\n"
+"    session2.beginTransaction();\n"
+"\n"
+"    session2.update(aPerson); // Reattachment of aPerson\n"
+"\n"
+"    session2.getTransaction().commit();\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    Person aPerson = (Person) session\n"
-      "            .createQuery(\"select p from Person p left join fetch p.events where p.id = :pid\")\n"
-      "            .setParameter(\"pid\", personId)\n"
-      "            .uniqueResult(); // Eager fetch the collection so we can use it detached\n"
-      "\n"
-      "    Event anEvent = (Event) session.load(Event.class, eventId);\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "\n"
-      "    // End of first unit of work\n"
-      "\n"
-      "    aPerson.getEvents().add(anEvent); // aPerson (and its collection) is detached\n"
-      "\n"
-      "    // Begin second unit of work\n"
-      "\n"
-      "    Session session2 = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "    session2.beginTransaction();\n"
-      "\n"
-      "    session2.update(aPerson); // Reattachment of aPerson\n"
-      "\n"
-      "    session2.getTransaction().commit();\n"
-      "}]]>"
 
-#: index.docbook:665
-msgid "The call to <literal>update</literal> makes a detached object persistent again, you could say it binds it to a new unit of work, so any modifications you made to it while detached can be saved to the database. This includes any modifications (additions/deletions) you made to a collection of that entity object."
-msgstr "<literal>update</literal>에 대한 호출은 한 개의 detached 객체를 다시 영속화 시키고, 당신은 그것이 새로운 작업 단위에 바인드된다고 말할 수 있고, 따라서 detached 동안에 당신이 그것에 대해 행한 임의의 변경들이 데이터베이스에 저장될 수 있다. 이것은 당신이 그 엔티티 객체의 콜렉션에 대해 행했던 임의의 변경들(추가/삭제)를 포함한다."
+#. Tag: para
+#: tutorial.xml:665
+#, no-c-format
+msgid ""
+"The call to <literal>update</literal> makes a detached object persistent "
+"again, you could say it binds it to a new unit of work, so any modifications "
+"you made to it while detached can be saved to the database. This includes "
+"any modifications (additions/deletions) you made to a collection of that "
+"entity object."
+msgstr ""
+"<literal>update</literal>에 대한 호출은 한 개의 detached 객체를 다시 영속화 "
+"시키고, 당신은 그것이 새로운 작업 단위에 바인드된다고 말할 수 있고, 따라서 "
+"detached 동안에 당신이 그것에 대해 행한 임의의 변경들이 데이터베이스에 저장"
+"될 수 있다. 이것은 당신이 그 엔티티 객체의 콜렉션에 대해 행했던 임의의 변경들"
+"(추가/삭제)를 포함한다."
 
-#: index.docbook:672
-msgid "Well, this is not much use in our current situation, but it's an important concept you can design into your own application. For now, complete this exercise by adding a new action to the <literal>EventManager</literal>'s main method and call it from the command line. If you need the identifiers of a person and an event - the <literal>save()</literal> method returns it (you might have to modify some of the previous methods to return that identifier):"
-msgstr "물론, 우리의 현재 상황에서 이것은 많이 사용되지 않지만, 그것은 당신이 당신 자신의 어플리케이션 내로 설계할 수 있는 중요한 개념이다. 지금 <literal>EventManager</literal>의 main 메소드에 한 개의 새로운 액션을 추가하고 명령 라인에서 그것을 호출하여 이 연습을 완료하라. 만일 당신이 한명의 개인과 한 개의 이벤트에 대한 식별자들을 필요로 할 경우 - <literal>save()</literal> 메소드가 그것을 반환시킨다(당신은 그 식별자를 반환시키는 앞의 메소드들 중 몇몇을 변경시켜야 할 것이다):"
+#. Tag: para
+#: tutorial.xml:672
+#, no-c-format
+msgid ""
+"Well, this is not much use in our current situation, but it's an important "
+"concept you can design into your own application. For now, complete this "
+"exercise by adding a new action to the <literal>EventManager</literal>'s "
+"main method and call it from the command line. If you need the identifiers "
+"of a person and an event - the <literal>save()</literal> method returns it "
+"(you might have to modify some of the previous methods to return that "
+"identifier):"
+msgstr ""
+"물론, 우리의 현재 상황에서 이것은 많이 사용되지 않지만, 그것은 당신이 당신 자"
+"신의 어플리케이션 내로 설계할 수 있는 중요한 개념이다. 지금 "
+"<literal>EventManager</literal>의 main 메소드에 한 개의 새로운 액션을 추가하"
+"고 명령 라인에서 그것을 호출하여 이 연습을 완료하라. 만일 당신이 한명의 개인"
+"과 한 개의 이벤트에 대한 식별자들을 필요로 할 경우 - <literal>save()</"
+"literal> 메소드가 그것을 반환시킨다(당신은 그 식별자를 반환시키는 앞의 메소드"
+"들 중 몇몇을 변경시켜야 할 것이다):"
 
-#: index.docbook:680
+#. Tag: programlisting
+#: tutorial.xml:680
+#, no-c-format
 msgid ""
-      "<![CDATA[else if (args[0].equals(\"addpersontoevent\")) {\n"
-      "    Long eventId = mgr.createAndStoreEvent(\"My Event\", new Date());\n"
-      "    Long personId = mgr.createAndStorePerson(\"Foo\", \"Bar\");\n"
-      "    mgr.addPersonToEvent(personId, eventId);\n"
-      "    System.out.println(\"Added person \" + personId + \" to event \" + eventId);\n"
-      "}]]>"
+"<![CDATA[else if (args[0].equals(\"addpersontoevent\")) {\n"
+"    Long eventId = mgr.createAndStoreEvent(\"My Event\", new Date());\n"
+"    Long personId = mgr.createAndStorePerson(\"Foo\", \"Bar\");\n"
+"    mgr.addPersonToEvent(personId, eventId);\n"
+"    System.out.println(\"Added person \" + personId + \" to event \" + "
+"eventId);\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[else if (args[0].equals(\"addpersontoevent\")) {\n"
-      "    Long eventId = mgr.createAndStoreEvent(\"My Event\", new Date());\n"
-      "    Long personId = mgr.createAndStorePerson(\"Foo\", \"Bar\");\n"
-      "    mgr.addPersonToEvent(personId, eventId);\n"
-      "    System.out.println(\"Added person \" + personId + \" to event \" + eventId);\n"
-      "}]]>"
 
-#: index.docbook:682
-msgid "This was an example of an association between two equally important classes, two entities. As mentioned earlier, there are other classes and types in a typical model, usually \"less important\". Some you have already seen, like an <literal>int</literal> or a <literal>String</literal>. We call these classes <emphasis>value types</emphasis>, and their instances <emphasis>depend</emphasis> on a particular entity. Instances of these types don't have their own identity, nor are they shared between entities (two persons don't reference the same <literal>firstname</literal> object, even if they have the same first name). Of course, value types can not only be found in the JDK (in fact, in a Hibernate application all JDK classes are considered value types), but you can also write dependent classes yourself, <literal>Address</literal> or <literal>MonetaryAmount</literal>, for example."
-msgstr "이것은 두 개의 동등하게 중요한 클래스들, 두 개의 엔티티들 사이에서 한 개의 연관에 관한 예제였다. 앞서 언급했듯이, 전형적인 모형 내에는 다른 클래스들과 타이들이 존재하는데, 대개 \"덜 중요하다\". 당신은 이미 <literal>int</literal> 또는 <literal>String</literal>과 같은 어떤 것을 이미 보았다. 우리는 이들 클래스들을 <emphasis>값 타입들(value types)</emphasis>이라 명명하고, 그들 인스턴스들은 특정 엔티티에 <emphasis>의존한다(depend)</emphasis>. 이들 타입들을 가진 인스턴스들은 그것들 자신의 식별성(identity)를 갖지 않거나, 그것들은 엔티티들 사이에서 공유되지도 않는다(두개의 person들은 심지어 그것들이 같은 첫 번째 이름을 갖는 경우에도 동일한 <literal>firstname</literal>을 참조하지 않는다 ). 물론 값 타입들은 JDK 내에서 발견될 뿐만 아니라(사!
 실, Hibernate 어플리케이션에서 모든 JDK 클래스들은 값 타입들로 간주된다), 당신은 또한 당신 스스로 종속 클래스들, 예를 들면 <literal>Address</literal> 또는 <literal>MonetaryAmount</literal>을 작성할 수 있다."
+#. Tag: para
+#: tutorial.xml:682
+#, no-c-format
+msgid ""
+"This was an example of an association between two equally important classes, "
+"two entities. As mentioned earlier, there are other classes and types in a "
+"typical model, usually \"less important\". Some you have already seen, like "
+"an <literal>int</literal> or a <literal>String</literal>. We call these "
+"classes <emphasis>value types</emphasis>, and their instances "
+"<emphasis>depend</emphasis> on a particular entity. Instances of these types "
+"don't have their own identity, nor are they shared between entities (two "
+"persons don't reference the same <literal>firstname</literal> object, even "
+"if they have the same first name). Of course, value types can not only be "
+"found in the JDK (in fact, in a Hibernate application all JDK classes are "
+"considered value types), but you can also write dependent classes yourself, "
+"<literal>Address</literal> or <literal>MonetaryAmount</literal>, for example."
+msgstr ""
+"이것은 두 개의 동등하게 중요한 클래스들, 두 개의 엔티티들 사이에서 한 개의 연"
+"관에 관한 예제였다. 앞서 언급했듯이, 전형적인 모형 내에는 다른 클래스들과 타"
+"이들이 존재하는데, 대개 \"덜 중요하다\". 당신은 이미 <literal>int</literal> "
+"또는 <literal>String</literal>과 같은 어떤 것을 이미 보았다. 우리는 이들 클래"
+"스들을 <emphasis>값 타입들(value types)</emphasis>이라 명명하고, 그들 인스턴"
+"스들은 특정 엔티티에 <emphasis>의존한다(depend)</emphasis>. 이들 타입들을 가"
+"진 인스턴스들은 그것들 자신의 식별성(identity)를 갖지 않거나, 그것들은 엔티티"
+"들 사이에서 공유되지도 않는다(두개의 person들은 심지어 그것들이 같은 첫 번째 "
+"이름을 갖는 경우에도 동일한 <literal>firstname</literal>을 참조하지 않는"
+"다 ). 물론 값 타입들은 JDK 내에서 발견될 뿐만 아니라(사실, Hibernate 어플리케"
+"이션에서 모든 JDK 클래스들은 값 타입들로 간주된다), 당신은 또한 당신 스스로 "
+"종속 클래스들, 예를 들면 <literal>Address</literal> 또는 "
+"<literal>MonetaryAmount</literal>을 작성할 수 있다."
 
-#: index.docbook:695
-msgid "You can also design a collection of value types. This is conceptually very different from a collection of references to other entities, but looks almost the same in Java."
-msgstr "당신은 또한 값 타입들을 설계할 수 있다. 이것은 다른 엔티티들에 대한 참조들을 가진 콜렉션과는 개념적으로 매우 다르지만, Java에서는 대개 동일한 것으로 보여진다."
+#. Tag: para
+#: tutorial.xml:695
+#, no-c-format
+msgid ""
+"You can also design a collection of value types. This is conceptually very "
+"different from a collection of references to other entities, but looks "
+"almost the same in Java."
+msgstr ""
+"당신은 또한 값 타입들을 설계할 수 있다. 이것은 다른 엔티티들에 대한 참조들을 "
+"가진 콜렉션과는 개념적으로 매우 다르지만, Java에서는 대개 동일한 것으로 보여"
+"진다."
 
-#: index.docbook:703
+#. Tag: title
+#: tutorial.xml:703
+#, no-c-format
 msgid "Collection of values"
 msgstr "값들을 가진 콜렉션"
 
-#: index.docbook:705
-msgid "We add a collection of value typed objects to the <literal>Person</literal> entity. We want to store email addresses, so the type we use is <literal>String</literal>, and the collection is again a <literal>Set</literal>:"
-msgstr "우리는 값 타입의 객체들을 가진 한 개의 콜렉션을 <literal>Person</literal> 엔티티에 추가시킨다. 우리는 email 주소를 저장하고자 원하므로, 우리가 사용하는 타입은 <literal>String</literal>이고, 그 콜렉션은 다시 한 개의 <literal>Set</literal>이다:"
+#. Tag: para
+#: tutorial.xml:705
+#, no-c-format
+msgid ""
+"We add a collection of value typed objects to the <literal>Person</literal> "
+"entity. We want to store email addresses, so the type we use is "
+"<literal>String</literal>, and the collection is again a <literal>Set</"
+"literal>:"
+msgstr ""
+"우리는 값 타입의 객체들을 가진 한 개의 콜렉션을 <literal>Person</literal> 엔"
+"티티에 추가시킨다. 우리는 email 주소를 저장하고자 원하므로, 우리가 사용하는 "
+"타입은 <literal>String</literal>이고, 그 콜렉션은 다시 한 개의 <literal>Set</"
+"literal>이다:"
 
-#: index.docbook:710
+#. Tag: programlisting
+#: tutorial.xml:710
+#, no-c-format
 msgid ""
-      "<![CDATA[private Set emailAddresses = new HashSet();\n"
-      "\n"
-      "public Set getEmailAddresses() {\n"
-      "    return emailAddresses;\n"
-      "}\n"
-      "\n"
-      "public void setEmailAddresses(Set emailAddresses) {\n"
-      "    this.emailAddresses = emailAddresses;\n"
-      "}]]>"
+"<![CDATA[private Set emailAddresses = new HashSet();\n"
+"\n"
+"public Set getEmailAddresses() {\n"
+"    return emailAddresses;\n"
+"}\n"
+"\n"
+"public void setEmailAddresses(Set emailAddresses) {\n"
+"    this.emailAddresses = emailAddresses;\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private Set emailAddresses = new HashSet();\n"
-      "\n"
-      "public Set getEmailAddresses() {\n"
-      "    return emailAddresses;\n"
-      "}\n"
-      "\n"
-      "public void setEmailAddresses(Set emailAddresses) {\n"
-      "    this.emailAddresses = emailAddresses;\n"
-      "}]]>"
 
-#: index.docbook:712
+#. Tag: para
+#: tutorial.xml:712
+#, no-c-format
 msgid "The mapping of this <literal>Set</literal>:"
 msgstr "이 <literal>Set</literal>에 대한 매핑은 다음과 같다:"
 
-#: index.docbook:716
+#. Tag: programlisting
+#: tutorial.xml:716
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"emailAddresses\" table=\"PERSON_EMAIL_ADDR\">\n"
-      "    <key column=\"PERSON_ID\"/>\n"
-      "    <element type=\"string\" column=\"EMAIL_ADDR\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"emailAddresses\" table=\"PERSON_EMAIL_ADDR\">\n"
+"    <key column=\"PERSON_ID\"/>\n"
+"    <element type=\"string\" column=\"EMAIL_ADDR\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"emailAddresses\" table=\"PERSON_EMAIL_ADDR\">\n"
-      "    <key column=\"PERSON_ID\"/>\n"
-      "    <element type=\"string\" column=\"EMAIL_ADDR\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:718
-msgid "The difference compared with the earlier mapping is the <literal>element</literal> part, which tells Hibernate that the collection does not contain references to another entity, but a collection of elements of type <literal>String</literal> (the lowercase name tells you it's a Hibernate mapping type/converter). Once again, the <literal>table</literal> attribute of the <literal>set</literal> element determines the table name for the collection. The <literal>key</literal> element defines the foreign-key column name in the collection table. The <literal>column</literal> attribute in the <literal>element</literal> element defines the column name where the <literal>String</literal> values will actually be stored."
-msgstr "앞의 매핑과 비교한 차이점은 <literal>element</literal> 부분인데, 그것은 그 콜렉션이 또 다른 엔티티에 대한 참조들을 포함하지 않을 것이지만 <literal>String</literal>(소문자 이름은 그것이 Hibernate 매핑 타입/변환자임을 당신에게 말해준다) 타입의 요소들을 가진 한 개의 콜렉션을 포함할 것임을 Hibernate에게 알려준다. 일단 다시 <literal>set</literal> 요소의 <literal>table</literal> 속성은 그 콜렉션에 대한 테이블 이름을 결정한다. <literal>key</literal> 요소는 콜렉션 테이블 내에서 foreign-key 컬럼 이름을 정의한다. <literal>element</literal> 요소 내에 있는 <literal>column</literal> 속성은 <literal>String</literal> 값들이 실제로 저장될 컬럼 이름을 정의한다."
+#. Tag: para
+#: tutorial.xml:718
+#, no-c-format
+msgid ""
+"The difference compared with the earlier mapping is the <literal>element</"
+"literal> part, which tells Hibernate that the collection does not contain "
+"references to another entity, but a collection of elements of type "
+"<literal>String</literal> (the lowercase name tells you it's a Hibernate "
+"mapping type/converter). Once again, the <literal>table</literal> attribute "
+"of the <literal>set</literal> element determines the table name for the "
+"collection. The <literal>key</literal> element defines the foreign-key "
+"column name in the collection table. The <literal>column</literal> attribute "
+"in the <literal>element</literal> element defines the column name where the "
+"<literal>String</literal> values will actually be stored."
+msgstr ""
+"앞의 매핑과 비교한 차이점은 <literal>element</literal> 부분인데, 그것은 그 콜"
+"렉션이 또 다른 엔티티에 대한 참조들을 포함하지 않을 것이지만 "
+"<literal>String</literal>(소문자 이름은 그것이 Hibernate 매핑 타입/변환자임"
+"을 당신에게 말해준다) 타입의 요소들을 가진 한 개의 콜렉션을 포함할 것임을 "
+"Hibernate에게 알려준다. 일단 다시 <literal>set</literal> 요소의 "
+"<literal>table</literal> 속성은 그 콜렉션에 대한 테이블 이름을 결정한다. "
+"<literal>key</literal> 요소는 콜렉션 테이블 내에서 foreign-key 컬럼 이름을 정"
+"의한다. <literal>element</literal> 요소 내에 있는 <literal>column</literal> "
+"속성은 <literal>String</literal> 값들이 실제로 저장될 컬럼 이름을 정의한다."
 
-#: index.docbook:728
+#. Tag: para
+#: tutorial.xml:728
+#, no-c-format
 msgid "Have a look at the updated schema:"
 msgstr "업데이트된 스키마를 살펴보라:"
 
-#: index.docbook:732
+#. Tag: programlisting
+#: tutorial.xml:732
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "  _____________        __________________\n"
-      " |             |      |                  |       _____________\n"
-      " |   EVENTS    |      |   PERSON_EVENT   |      |             |       ___________________\n"
-      " |_____________|      |__________________|      |    PERSON   |      |                   |\n"
-      " |             |      |                  |      |_____________|      | PERSON_EMAIL_ADDR |\n"
-      " | *EVENT_ID   | <--> | *EVENT_ID        |      |             |      |___________________|\n"
-      " |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  | <--> |  *PERSON_ID       |\n"
-      " |  TITLE      |      |__________________|      |  AGE        |      |  *EMAIL_ADDR      |\n"
-      " |_____________|                                |  FIRSTNAME  |      |___________________|\n"
-      "                                                |  LASTNAME   |\n"
-      "                                                |_____________|\n"
-      " ]]>"
+"<![CDATA[\n"
+"  _____________        __________________\n"
+" |             |      |                  |       _____________\n"
+" |   EVENTS    |      |   PERSON_EVENT   |      |             |       "
+"___________________\n"
+" |_____________|      |__________________|      |    PERSON   |      "
+"|                   |\n"
+" |             |      |                  |      |_____________|      | "
+"PERSON_EMAIL_ADDR |\n"
+" | *EVENT_ID   | <--> | *EVENT_ID        |      |             |      |"
+"___________________|\n"
+" |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  | <--> |  "
+"*PERSON_ID       |\n"
+" |  TITLE      |      |__________________|      |  AGE        |      |  "
+"*EMAIL_ADDR      |\n"
+" |_____________|                                |  FIRSTNAME  |      |"
+"___________________|\n"
+"                                                |  LASTNAME   |\n"
+"                                                |_____________|\n"
+" ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "  _____________        __________________\n"
-      " |             |      |                  |       _____________\n"
-      " |   EVENTS    |      |   PERSON_EVENT   |      |             |       ___________________\n"
-      " |_____________|      |__________________|      |    PERSON   |      |                   |\n"
-      " |             |      |                  |      |_____________|      | PERSON_EMAIL_ADDR |\n"
-      " | *EVENT_ID   | <--> | *EVENT_ID        |      |             |      |___________________|\n"
-      " |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  | <--> |  *PERSON_ID       |\n"
-      " |  TITLE      |      |__________________|      |  AGE        |      |  *EMAIL_ADDR      |\n"
-      " |_____________|                                |  FIRSTNAME  |      |___________________|\n"
-      "                                                |  LASTNAME   |\n"
-      "                                                |_____________|\n"
-      " ]]>"
 
-#: index.docbook:734
-msgid "You can see that the primary key of the collection table is in fact a composite key, using both columns. This also implies that there can't be duplicate email addresses per person, which is exactly the semantics we need for a set in Java."
-msgstr "당신은 콜렉션 테이블의 프라이머리 키가 사실은 두 컬럼들을 사용하는 한 개의 합성 키(composite key)임을 알 수 있다. 이것은 또한 개인에 대해 email 주소가 중복될 수 없음을 의미하며, 그것은 정확하게 우리가 Java에서 set을 필요로 하는 의미론이다."
+#. Tag: para
+#: tutorial.xml:734
+#, no-c-format
+msgid ""
+"You can see that the primary key of the collection table is in fact a "
+"composite key, using both columns. This also implies that there can't be "
+"duplicate email addresses per person, which is exactly the semantics we need "
+"for a set in Java."
+msgstr ""
+"당신은 콜렉션 테이블의 프라이머리 키가 사실은 두 컬럼들을 사용하는 한 개의 합"
+"성 키(composite key)임을 알 수 있다. 이것은 또한 개인에 대해 email 주소가 중"
+"복될 수 없음을 의미하며, 그것은 정확하게 우리가 Java에서 set을 필요로 하는 의"
+"미론이다."
 
-#: index.docbook:740
-msgid "You can now try and add elements to this collection, just like we did before by linking persons and events. It's the same code in Java:"
-msgstr "마치 개인들과 이벤트들을 링크시켜서 이전에 우리가 행했던 것처럼 이제 당신은 요소들을 시도하고 이 콜렉션에 추가할 수 있다. 그것은 Java에서 동일한 코드이다."
+#. Tag: para
+#: tutorial.xml:740
+#, no-c-format
+msgid ""
+"You can now try and add elements to this collection, just like we did before "
+"by linking persons and events. It's the same code in Java:"
+msgstr ""
+"마치 개인들과 이벤트들을 링크시켜서 이전에 우리가 행했던 것처럼 이제 당신은 "
+"요소들을 시도하고 이 콜렉션에 추가할 수 있다. 그것은 Java에서 동일한 코드이"
+"다."
 
-#: index.docbook:745
+#. Tag: programlisting
+#: tutorial.xml:745
+#, no-c-format
 msgid ""
-      "<![CDATA[private void addEmailToPerson(Long personId, String emailAddress) {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    Person aPerson = (Person) session.load(Person.class, personId);\n"
-      "\n"
-      "    // The getEmailAddresses() might trigger a lazy load of the collection\n"
-      "    aPerson.getEmailAddresses().add(emailAddress);\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "}]]>"
+"<![CDATA[private void addEmailToPerson(Long personId, String emailAddress) "
+"{\n"
+"\n"
+"    Session session = HibernateUtil.getSessionFactory().getCurrentSession"
+"();\n"
+"    session.beginTransaction();\n"
+"\n"
+"    Person aPerson = (Person) session.load(Person.class, personId);\n"
+"\n"
+"    // The getEmailAddresses() might trigger a lazy load of the collection\n"
+"    aPerson.getEmailAddresses().add(emailAddress);\n"
+"\n"
+"    session.getTransaction().commit();\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private void addEmailToPerson(Long personId, String emailAddress) {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    Person aPerson = (Person) session.load(Person.class, personId);\n"
-      "\n"
-      "    // The getEmailAddresses() might trigger a lazy load of the collection\n"
-      "    aPerson.getEmailAddresses().add(emailAddress);\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "}]]>"
 
-#: index.docbook:747
-msgid "This time we didnt' use a <emphasis>fetch</emphasis> query to initialize the collection. Hence, the call to its getter method will trigger an additional select to initialize it, so we can add an element to it. Monitor the SQL log and try to optimize this with an eager fetch."
-msgstr "지금 우리는 콜렉션을 초기화 시키는데 <emphasis>fetch</emphasis> 질의를 사용하지 않았다. 그러므로 콜렉션의 getter 메소드에 대한 호출은 콜렉션을 초기화 시키기 위해 추가적인 select를 트리거 시킬 것이어서, 우리는 그것에 요소를 추가시킬 수 있다. SQL 로그를 관찰하고 이것을 eager fetch로 최적화 시키려고 시도하라."
+#. Tag: para
+#: tutorial.xml:747
+#, no-c-format
+msgid ""
+"This time we didnt' use a <emphasis>fetch</emphasis> query to initialize the "
+"collection. Hence, the call to its getter method will trigger an additional "
+"select to initialize it, so we can add an element to it. Monitor the SQL log "
+"and try to optimize this with an eager fetch."
+msgstr ""
+"지금 우리는 콜렉션을 초기화 시키는데 <emphasis>fetch</emphasis> 질의를 사용하"
+"지 않았다. 그러므로 콜렉션의 getter 메소드에 대한 호출은 콜렉션을 초기화 시키"
+"기 위해 추가적인 select를 트리거 시킬 것이어서, 우리는 그것에 요소를 추가시"
+"킬 수 있다. SQL 로그를 관찰하고 이것을 eager fetch로 최적화 시키려고 시도하"
+"라."
 
-#: index.docbook:757
+#. Tag: title
+#: tutorial.xml:757
+#, no-c-format
 msgid "Bi-directional associations"
 msgstr "Bi-directional associations"
 
-#: index.docbook:759
-msgid "Next we are going to map a bi-directional association - making the association between person and event work from both sides in Java. Of course, the database schema doesn't change, we still have many-to-many multiplicity. A relational database is more flexible than a network programming language, so it doesn't need anything like a navigation direction - data can be viewed and retrieved in any possible way."
-msgstr "다음으로 우리는 양방향 연관을 매핑시킬 예정이다-개인과 이벤트 사이에 연관을 만드는 것은 Java에서 양 측들에서 동작한다. 물론 데이터베이스 스키마는 변경되지 않고, 우리는 여전히 many-to-many 다중성을 갖는다. 관계형 데이터베이스는 네트웍 프로그래밍 언어 보다 훨씬 더 유연하여서, 그것은 네비게이션 방향과 같은 어떤 것을 필요로 하지 않는다 - 데이터는 어떤 가능한 바업ㅂ으로 보여질 수 있고 검색될 수 있다."
+#. Tag: para
+#: tutorial.xml:759
+#, no-c-format
+msgid ""
+"Next we are going to map a bi-directional association - making the "
+"association between person and event work from both sides in Java. Of "
+"course, the database schema doesn't change, we still have many-to-many "
+"multiplicity. A relational database is more flexible than a network "
+"programming language, so it doesn't need anything like a navigation "
+"direction - data can be viewed and retrieved in any possible way."
+msgstr ""
+"다음으로 우리는 양방향 연관을 매핑시킬 예정이다-개인과 이벤트 사이에 연관을 "
+"만드는 것은 Java에서 양 측들에서 동작한다. 물론 데이터베이스 스키마는 변경되"
+"지 않고, 우리는 여전히 many-to-many 다중성을 갖는다. 관계형 데이터베이스는 네"
+"트웍 프로그래밍 언어 보다 훨씬 더 유연하여서, 그것은 네비게이션 방향과 같은 "
+"어떤 것을 필요로 하지 않는다 - 데이터는 어떤 가능한 바업ㅂ으로 보여질 수 있"
+"고 검색될 수 있다."
 
-#: index.docbook:767
-msgid "First, add a collection of participants to the <literal>Event</literal> Event class:"
-msgstr "먼저, 참여자들을 가진 한 개의 콜렉션을 <literal>Event</literal> Event 클래스에 추가시켜라:"
+#. Tag: para
+#: tutorial.xml:767
+#, no-c-format
+msgid ""
+"First, add a collection of participants to the <literal>Event</literal> "
+"Event class:"
+msgstr ""
+"먼저, 참여자들을 가진 한 개의 콜렉션을 <literal>Event</literal> Event 클래스"
+"에 추가시켜라:"
 
-#: index.docbook:771
+#. Tag: programlisting
+#: tutorial.xml:771
+#, no-c-format
 msgid ""
-      "<![CDATA[private Set participants = new HashSet();\n"
-      "\n"
-      "public Set getParticipants() {\n"
-      "    return participants;\n"
-      "}\n"
-      "\n"
-      "public void setParticipants(Set participants) {\n"
-      "    this.participants = participants;\n"
-      "}]]>"
+"<![CDATA[private Set participants = new HashSet();\n"
+"\n"
+"public Set getParticipants() {\n"
+"    return participants;\n"
+"}\n"
+"\n"
+"public void setParticipants(Set participants) {\n"
+"    this.participants = participants;\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private Set participants = new HashSet();\n"
-      "\n"
-      "public Set getParticipants() {\n"
-      "    return participants;\n"
-      "}\n"
-      "\n"
-      "public void setParticipants(Set participants) {\n"
-      "    this.participants = participants;\n"
-      "}]]>"
 
-#: index.docbook:773
-msgid "Now map this side of the association too, in <literal>Event.hbm.xml</literal>."
+#. Tag: para
+#: tutorial.xml:773
+#, no-c-format
+msgid ""
+"Now map this side of the association too, in <literal>Event.hbm.xml</"
+"literal>."
 msgstr "이제 <literal>Event.hbm.xml</literal> 내에 연관의 이 쪽도 매핑하라."
 
-#: index.docbook:777
+#. Tag: programlisting
+#: tutorial.xml:777
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"participants\" table=\"PERSON_EVENT\" inverse=\"true\">\n"
-      "    <key column=\"EVENT_ID\"/>\n"
-      "    <many-to-many column=\"PERSON_ID\" class=\"events.Person\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"participants\" table=\"PERSON_EVENT\" inverse=\"true"
+"\">\n"
+"    <key column=\"EVENT_ID\"/>\n"
+"    <many-to-many column=\"PERSON_ID\" class=\"events.Person\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"participants\" table=\"PERSON_EVENT\" inverse=\"true\">\n"
-      "    <key column=\"EVENT_ID\"/>\n"
-      "    <many-to-many column=\"PERSON_ID\" class=\"events.Person\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:779
-msgid "As you see, these are normal <literal>set</literal> mappings in both mapping documents. Notice that the column names in <literal>key</literal> and <literal>many-to-many</literal> are swapped in both mapping documents. The most important addition here is the <literal>inverse=\"true\"</literal> attribute in the <literal>set</literal> element of the <literal>Event</literal>'s collection mapping."
-msgstr "당신이 볼 수 있듯이, 이것들은 두 매핑 문서들 내에서 정규 <literal>set</literal> 매핑들이다. <literal>key</literal>와 <literal>many-to-many</literal>에서 컬럼 이름들은 두 매핑 문서들에서 바뀌어진다. 여기서 가장 중요한 부가물은 <literal>Event</literal>의 콜렉션 매핑에 관한 <literal>set</literal> 요소 내에 있는 <literal>inverse=\"true\"</literal> 속성이다."
+#. Tag: para
+#: tutorial.xml:779
+#, no-c-format
+msgid ""
+"As you see, these are normal <literal>set</literal> mappings in both mapping "
+"documents. Notice that the column names in <literal>key</literal> and "
+"<literal>many-to-many</literal> are swapped in both mapping documents. The "
+"most important addition here is the <literal>inverse=\"true\"</literal> "
+"attribute in the <literal>set</literal> element of the <literal>Event</"
+"literal>'s collection mapping."
+msgstr ""
+"당신이 볼 수 있듯이, 이것들은 두 매핑 문서들 내에서 정규 <literal>set</"
+"literal> 매핑들이다. <literal>key</literal>와 <literal>many-to-many</literal>"
+"에서 컬럼 이름들은 두 매핑 문서들에서 바뀌어진다. 여기서 가장 중요한 부가물"
+"은 <literal>Event</literal>의 콜렉션 매핑에 관한 <literal>set</literal> 요소 "
+"내에 있는 <literal>inverse=\"true\"</literal> 속성이다."
 
-#: index.docbook:787
-msgid "What this means is that Hibernate should take the other side - the <literal>Person</literal> class - when it needs to find out information about the link between the two. This will be a lot easier to understand once you see how the bi-directional link between our two entities is created ."
-msgstr "이것이 의미하는 바는 Hibernate가 둘 사이의 링크에 대한 정보를 알 필요가 있을 때 다른 측-<literal>Person</literal> 클래스-를 취할 것이라는 점이다. 일단 당신이 우리의 두 엔티티들 사이에 양방향 링크가 생성되는 방법을 안다면 이것은 이해하기가 훨씬 더 쉬울 것이다."
+#. Tag: para
+#: tutorial.xml:787
+#, no-c-format
+msgid ""
+"What this means is that Hibernate should take the other side - the "
+"<literal>Person</literal> class - when it needs to find out information "
+"about the link between the two. This will be a lot easier to understand once "
+"you see how the bi-directional link between our two entities is created ."
+msgstr ""
+"이것이 의미하는 바는 Hibernate가 둘 사이의 링크에 대한 정보를 알 필요가 있을 "
+"때 다른 측-<literal>Person</literal> 클래스-를 취할 것이라는 점이다. 일단 당"
+"신이 우리의 두 엔티티들 사이에 양방향 링크가 생성되는 방법을 안다면 이것은 이"
+"해하기가 훨씬 더 쉬울 것이다."
 
-#: index.docbook:796
+#. Tag: title
+#: tutorial.xml:796
+#, no-c-format
 msgid "Working bi-directional links"
 msgstr "양방향 링크들에 작업하기"
 
-#: index.docbook:798
-msgid "First, keep in mind that Hibernate does not affect normal Java semantics. How did we create a link between a <literal>Person</literal> and an <literal>Event</literal> in the unidirectional example? We added an instance of <literal>Event</literal> to the collection of event references, of an instance of <literal>Person</literal>. So, obviously, if we want to make this link working bi-directional, we have to do the same on the other side - adding a <literal>Person</literal> reference to the collection in an <literal>Event</literal>. This \"setting the link on both sides\" is absolutely necessary and you should never forget doing it."
-msgstr "첫 번째로 Hibernate가 정규 Java 의미론에 영향을 주지 않음을 염두에 두라. 우리는 단방향 예제에서 <literal>Person</literal>과 <literal>Event</literal> 사이에 어떻게 한 개의 링크를 생성시켰는가? 우리는 <literal>Event</literal> 타입의 인스턴스를 <literal>Person</literal> 타입의 이벤트 참조들을 가진 콜렉션에 추가시켰다. 따라서 명백하게 우리가 이 링크를 양방향으로 동작하도록 만들고자 원한다면, 우리는 다른 측 상에서 -하나의 <literal>Person</literal> 참조를 하나의 <literal>Event</literal> 내에 있는 콜렉션에 추가시킴으로써- 동일한 것을 행해야 한다. 이 \"양 측 상에 링크 설정하기\"는 절대적으로 필수적이고 당신은 그것을 행하는 것을 결코 잊지 말아야 한다."
+#. Tag: para
+#: tutorial.xml:798
+#, no-c-format
+msgid ""
+"First, keep in mind that Hibernate does not affect normal Java semantics. "
+"How did we create a link between a <literal>Person</literal> and an "
+"<literal>Event</literal> in the unidirectional example? We added an instance "
+"of <literal>Event</literal> to the collection of event references, of an "
+"instance of <literal>Person</literal>. So, obviously, if we want to make "
+"this link working bi-directional, we have to do the same on the other side - "
+"adding a <literal>Person</literal> reference to the collection in an "
+"<literal>Event</literal>. This \"setting the link on both sides\" is "
+"absolutely necessary and you should never forget doing it."
+msgstr ""
+"첫 번째로 Hibernate가 정규 Java 의미론에 영향을 주지 않음을 염두에 두라. 우리"
+"는 단방향 예제에서 <literal>Person</literal>과 <literal>Event</literal> 사이"
+"에 어떻게 한 개의 링크를 생성시켰는가? 우리는 <literal>Event</literal> 타입"
+"의 인스턴스를 <literal>Person</literal> 타입의 이벤트 참조들을 가진 콜렉션에 "
+"추가시켰다. 따라서 명백하게 우리가 이 링크를 양방향으로 동작하도록 만들고자 "
+"원한다면, 우리는 다른 측 상에서 -하나의 <literal>Person</literal> 참조를 하나"
+"의 <literal>Event</literal> 내에 있는 콜렉션에 추가시킴으로써- 동일한 것을 행"
+"해야 한다. 이 \"양 측 상에 링크 설정하기\"는 절대적으로 필수적이고 당신은 그"
+"것을 행하는 것을 결코 잊지 말아야 한다."
 
-#: index.docbook:808
-msgid "Many developers program defensive and create link management methods to correctly set both sides, e.g. in <literal>Person</literal>:"
-msgstr "많은 개발자들은 방비책을 프로그램하고 양 측들을 정확하게 설정하기 위한 하나의 링크 관리 메소드들을 생성시킨다. 예를 들면 <literal>Person</literal>에서 :"
+#. Tag: para
+#: tutorial.xml:808
+#, no-c-format
+msgid ""
+"Many developers program defensive and create link management methods to "
+"correctly set both sides, e.g. in <literal>Person</literal>:"
+msgstr ""
+"많은 개발자들은 방비책을 프로그램하고 양 측들을 정확하게 설정하기 위한 하나"
+"의 링크 관리 메소드들을 생성시킨다. 예를 들면 <literal>Person</literal>에서 :"
 
-#: index.docbook:813
+#. Tag: programlisting
+#: tutorial.xml:813
+#, no-c-format
 msgid ""
-      "<![CDATA[protected Set getEvents() {\n"
-      "    return events;\n"
-      "}\n"
-      "\n"
-      "protected void setEvents(Set events) {\n"
-      "    this.events = events;\n"
-      "}\n"
-      "\n"
-      "public void addToEvent(Event event) {\n"
-      "    this.getEvents().add(event);\n"
-      "    event.getParticipants().add(this);\n"
-      "}\n"
-      "\n"
-      "public void removeFromEvent(Event event) {\n"
-      "    this.getEvents().remove(event);\n"
-      "    event.getParticipants().remove(this);\n"
-      "}]]>"
+"<![CDATA[protected Set getEvents() {\n"
+"    return events;\n"
+"}\n"
+"\n"
+"protected void setEvents(Set events) {\n"
+"    this.events = events;\n"
+"}\n"
+"\n"
+"public void addToEvent(Event event) {\n"
+"    this.getEvents().add(event);\n"
+"    event.getParticipants().add(this);\n"
+"}\n"
+"\n"
+"public void removeFromEvent(Event event) {\n"
+"    this.getEvents().remove(event);\n"
+"    event.getParticipants().remove(this);\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[protected Set getEvents() {\n"
-      "    return events;\n"
-      "}\n"
-      "\n"
-      "protected void setEvents(Set events) {\n"
-      "    this.events = events;\n"
-      "}\n"
-      "\n"
-      "public void addToEvent(Event event) {\n"
-      "    this.getEvents().add(event);\n"
-      "    event.getParticipants().add(this);\n"
-      "}\n"
-      "\n"
-      "public void removeFromEvent(Event event) {\n"
-      "    this.getEvents().remove(event);\n"
-      "    event.getParticipants().remove(this);\n"
-      "}]]>"
 
-#: index.docbook:815
-msgid "Notice that the get and set methods for the collection are now protected - this allows classes in the same package and subclasses to still access the methods, but prevents everybody else from messing with the collections directly (well, almost). You should probably do the same with the collection on the other side."
-msgstr "콜렉션에 대한 get 및 set 메소드드은 이제 protected임을 인지하라 - 이것은 동일한 패키지 내에 있는 클래스들과 서브클래스들이 그 메소드들에 접근하는 것을 허용해주지만, 그 밖의 모든 것들이 그 콜렉션들을 (물론, 대개) 직접 만지는 것을 금지시킨다. 당신은 다른 측 상에 있는 콜렉션에 대해 동일한 것을 행할 것이다."
+#. Tag: para
+#: tutorial.xml:815
+#, no-c-format
+msgid ""
+"Notice that the get and set methods for the collection are now protected - "
+"this allows classes in the same package and subclasses to still access the "
+"methods, but prevents everybody else from messing with the collections "
+"directly (well, almost). You should probably do the same with the collection "
+"on the other side."
+msgstr ""
+"콜렉션에 대한 get 및 set 메소드드은 이제 protected임을 인지하라 - 이것은 동일"
+"한 패키지 내에 있는 클래스들과 서브클래스들이 그 메소드들에 접근하는 것을 허"
+"용해주지만, 그 밖의 모든 것들이 그 콜렉션들을 (물론, 대개) 직접 만지는 것을 "
+"금지시킨다. 당신은 다른 측 상에 있는 콜렉션에 대해 동일한 것을 행할 것이다."
 
-#: index.docbook:822
-msgid "What about the <literal>inverse</literal> mapping attribute? For you, and for Java, a bi-directional link is simply a matter of setting the references on both sides correctly. Hibernate however doesn't have enough information to correctly arrange SQL <literal>INSERT</literal> and <literal>UPDATE</literal> statements (to avoid constraint violations), and needs some help to handle bi-directional associations properly. Making one side of the association <literal>inverse</literal> tells Hibernate to basically ignore it, to consider it a <emphasis>mirror</emphasis> of the other side. That's all that is necessary for Hibernate to work out all of the issues when transformation a directional navigation model to a SQL database schema. The rules you have to remember are straightforward: All bi-directional associations need one side as <literal>inverse</literal>. In a one-to-many association it has to be the many-side, in many-to-many association you can pick either side, there!
  is no difference."
-msgstr "<literal>inverse</literal> 매핑 속성은 무엇인가? 당신의 경우, 그리고 Java의 경우, í•œ 개의 ì–‘ë°©í–¥ 링크는 단순히 ì–‘ 측들에 대한 참조들을 정확하게 설정하는 문제이다. 하지만 Hibernate는 (컨스트레인트 위배를 피하기 위해서) SQL <literal>INSERT</literal> 문장과 <literal>UPDATE</literal> 문장을 정확하게 마련하기에 충분한 정보를 ê°–ê³  있지 않으며, ì–‘ë°©í–¥ 연관들을 올바르게 처리하기 위해 ì–´ë–¤ 도움을 필요로 한다. 연관의 í•œ 측을 <literal>inverse</literal>ë¡œ 만드는 것은 기본적으로 그것을 무시하고 그것을 다른 측의 <emphasis>거울(mirror)</emphasis>ë¡œ 간주하도록 Hibernate에게 알려준다. 그것은 Hibernateê°€ 하나의 방향성 네비게이션 모형을 í•œ 개의 SQL 스키마로 변환시킬 ë•Œ 모든 쟁점들을 잘 해결하는데 필수적인 모든 것이다. 당신이 염두에 두어야 하는 규칙들ì!
 € 간단하다 : 모든 ì–‘ë°©í–¥ 연관들은 í•œ 쪽이 <literal>inverse</literal>일 필요가 있다. one-to-many 연관에서 그것은 many-측이어야 하고, many-to-many 연관에서 당신은 어느 측이든 선택할 수 있으며 차이점은 없다."
+#. Tag: para
+#: tutorial.xml:822
+#, no-c-format
+msgid ""
+"What about the <literal>inverse</literal> mapping attribute? For you, and "
+"for Java, a bi-directional link is simply a matter of setting the references "
+"on both sides correctly. Hibernate however doesn't have enough information "
+"to correctly arrange SQL <literal>INSERT</literal> and <literal>UPDATE</"
+"literal> statements (to avoid constraint violations), and needs some help to "
+"handle bi-directional associations properly. Making one side of the "
+"association <literal>inverse</literal> tells Hibernate to basically ignore "
+"it, to consider it a <emphasis>mirror</emphasis> of the other side. That's "
+"all that is necessary for Hibernate to work out all of the issues when "
+"transformation a directional navigation model to a SQL database schema. The "
+"rules you have to remember are straightforward: All bi-directional "
+"associations need one side as <literal>inverse</literal>. In a one-to-many "
+"association it has to be the many-side, in many-to-many association you can "
+"pick either side, there is no difference."
+msgstr ""
+"<literal>inverse</literal> 매핑 속성은 무엇인가? 당신의 경우, 그리고 Java의 "
+"경우, 한 개의 양방향 링크는 단순히 양 측들에 대한 참조들을 정확하게 설정하는 "
+"문제이다. 하지만 Hibernate는 (컨스트레인트 위배를 피하기 위해서) SQL "
+"<literal>INSERT</literal> 문장과 <literal>UPDATE</literal> 문장을 정확하게 마"
+"련하기에 충분한 정보를 갖고 있지 않으며, 양방향 연관들을 올바르게 처리하기 위"
+"해 어떤 도움을 필요로 한다. 연관의 한 측을 <literal>inverse</literal>로 만드"
+"는 것은 기본적으로 그것을 무시하고 그것을 다른 측의 <emphasis>거울(mirror)</"
+"emphasis>로 간주하도록 Hibernate에게 알려준다. 그것은 Hibernate가 하나의 방향"
+"성 네비게이션 모형을 한 개의 SQL 스키마로 변환시킬 때 모든 쟁점들을 잘 해결하"
+"는데 필수적인 모든 것이다. 당신이 염두에 두어야 하는 규칙들은 간단하다 : 모"
+"든 양방향 연관들은 한 쪽이 <literal>inverse</literal>일 필요가 있다. one-to-"
+"many 연관에서 그것은 many-측이어야 하고, many-to-many 연관에서 당신은 어느 측"
+"이든 선택할 수 있으며 차이점은 없다."
 
-#: index.docbook:837
+#. Tag: para
+#: tutorial.xml:837
+#, no-c-format
 msgid "Let's turn this into a small web application."
 msgstr "Let's turn this into a small web application."
 
-#: index.docbook:844
+#. Tag: title
+#: tutorial.xml:844
+#, no-c-format
 msgid "Part 3 - The EventManager web application"
 msgstr "파트 3 - EventManager 웹 어플리케이션"
 
-#: index.docbook:846
-msgid "A Hibernate web application uses <literal>Session</literal> and <literal>Transaction</literal> almost like a standalone application. However, some common patterns are useful. We now write an <literal>EventManagerServlet</literal>. This servlet can list all events stored in the database, and it provides an HTML form to enter new events."
-msgstr "Hibernate 웹 어플리케이션은 대부분의 스탠드얼론 어플리케이션과 같이 <literal>Session</literal>과 <literal>Transaction</literal>을 사용한다. 하지만 몇몇 공통 패턴들이 유용하다. 우리는 이제 <literal>EventManagerServlet</literal>를 작성한다. 이 서블릿은 데이터베이스 내에 저장된 모든 이벤트들을 나열할 수 있고, 그것은 새로운 이벤트들을 입력하기 위한 HTML form을 제공한다."
+#. Tag: para
+#: tutorial.xml:846
+#, no-c-format
+msgid ""
+"A Hibernate web application uses <literal>Session</literal> and "
+"<literal>Transaction</literal> almost like a standalone application. "
+"However, some common patterns are useful. We now write an "
+"<literal>EventManagerServlet</literal>. This servlet can list all events "
+"stored in the database, and it provides an HTML form to enter new events."
+msgstr ""
+"Hibernate 웹 어플리케이션은 대부분의 스탠드얼론 어플리케이션과 같이 "
+"<literal>Session</literal>과 <literal>Transaction</literal>을 사용한다. 하지"
+"만 몇몇 공통 패턴들이 유용하다. 우리는 이제 <literal>EventManagerServlet</"
+"literal>를 작성한다. 이 서블릿은 데이터베이스 내에 저장된 모든 이벤트들을 나"
+"열할 수 있고, 그것은 새로운 이벤트들을 입력하기 위한 HTML form을 제공한다."
 
-#: index.docbook:854
+#. Tag: title
+#: tutorial.xml:854
+#, no-c-format
 msgid "Writing the basic servlet"
 msgstr "기본 서블릿 작성하기"
 
-#: index.docbook:856
-msgid "Create a new class in your source directory, in the <literal>events</literal> package:"
-msgstr "다음 장에서 우리는 Hibernate를 Tomcat 및 WebWork와 통합시킨다. <literal>EventManager</literal>는 우리의 성장하는 어플리케이션을 더이상 감당하지 못한다. 당신의 소스 디렉토리에서 <literal>events</literal> 패키지 내에 새로운 클래스를 생성시켜라:"
+#. Tag: para
+#: tutorial.xml:856
+#, no-c-format
+msgid ""
+"Create a new class in your source directory, in the <literal>events</"
+"literal> package:"
+msgstr ""
+"다음 장에서 우리는 Hibernate를 Tomcat 및 WebWork와 통합시킨다. "
+"<literal>EventManager</literal>는 우리의 성장하는 어플리케이션을 더이상 감당"
+"하지 못한다. 당신의 소스 디렉토리에서 <literal>events</literal> 패키지 내에 "
+"새로운 클래스를 생성시켜라:"
 
-#: index.docbook:861
+#. Tag: programlisting
+#: tutorial.xml:861
+#, no-c-format
 msgid ""
-      "<![CDATA[package events;\n"
-      "\n"
-      "// Imports\n"
-      "\n"
-      "public class EventManagerServlet extends HttpServlet {\n"
-      "\n"
-      "    // Servlet code\n"
-      "}]]>"
+"<![CDATA[package events;\n"
+"\n"
+"// Imports\n"
+"\n"
+"public class EventManagerServlet extends HttpServlet {\n"
+"\n"
+"    // Servlet code\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package events;\n"
-      "\n"
-      "// Imports\n"
-      "\n"
-      "public class EventManagerServlet extends HttpServlet {\n"
-      "\n"
-      "    // Servlet code\n"
-      "}]]>"
 
-#: index.docbook:863
-msgid "The servlet handles HTTP <literal>GET</literal> requests only, hence, the method we implement is <literal>doGet()</literal>:"
-msgstr "서블릿은 HTTP <literal>GET</literal> 요청들 만을 처리하므로, 우리가 구현하는 메소드는 <literal>doGet()</literal>이다:"
+#. Tag: para
+#: tutorial.xml:863
+#, no-c-format
+msgid ""
+"The servlet handles HTTP <literal>GET</literal> requests only, hence, the "
+"method we implement is <literal>doGet()</literal>:"
+msgstr ""
+"서블릿은 HTTP <literal>GET</literal> 요청들 만을 처리하므로, 우리가 구현하는 "
+"메소드는 <literal>doGet()</literal>이다:"
 
-#: index.docbook:868
+#. Tag: programlisting
+#: tutorial.xml:868
+#, no-c-format
 msgid ""
-      "<![CDATA[protected void doGet(HttpServletRequest request,\n"
-      "                     HttpServletResponse response)\n"
-      "        throws ServletException, IOException {\n"
-      "\n"
-      "    SimpleDateFormat dateFormatter = new SimpleDateFormat(\"dd.MM.yyyy\");\n"
-      "\n"
-      "    try {\n"
-      "        // Begin unit of work\n"
-      "        HibernateUtil.getSessionFactory()\n"
-      "                .getCurrentSession().beginTransaction();\n"
-      "\n"
-      "        // Process request and render page...\n"
-      "\n"
-      "        // End unit of work\n"
-      "        HibernateUtil.getSessionFactory()\n"
-      "                .getCurrentSession().getTransaction().commit();\n"
-      "\n"
-      "    } catch (Exception ex) {\n"
-      "        HibernateUtil.getSessionFactory()\n"
-      "                .getCurrentSession().getTransaction().rollback();\n"
-      "        throw new ServletException(ex);\n"
-      "    }\n"
-      "\n"
-      "}]]>"
+"<![CDATA[protected void doGet(HttpServletRequest request,\n"
+"                     HttpServletResponse response)\n"
+"        throws ServletException, IOException {\n"
+"\n"
+"    SimpleDateFormat dateFormatter = new SimpleDateFormat(\"dd.MM.yyyy\");\n"
+"\n"
+"    try {\n"
+"        // Begin unit of work\n"
+"        HibernateUtil.getSessionFactory()\n"
+"                .getCurrentSession().beginTransaction();\n"
+"\n"
+"        // Process request and render page...\n"
+"\n"
+"        // End unit of work\n"
+"        HibernateUtil.getSessionFactory()\n"
+"                .getCurrentSession().getTransaction().commit();\n"
+"\n"
+"    } catch (Exception ex) {\n"
+"        HibernateUtil.getSessionFactory()\n"
+"                .getCurrentSession().getTransaction().rollback();\n"
+"        throw new ServletException(ex);\n"
+"    }\n"
+"\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[protected void doGet(HttpServletRequest request,\n"
-      "                     HttpServletResponse response)\n"
-      "        throws ServletException, IOException {\n"
-      "\n"
-      "    SimpleDateFormat dateFormatter = new SimpleDateFormat(\"dd.MM.yyyy\");\n"
-      "\n"
-      "    try {\n"
-      "        // Begin unit of work\n"
-      "        HibernateUtil.getSessionFactory()\n"
-      "                .getCurrentSession().beginTransaction();\n"
-      "\n"
-      "        // Process request and render page...\n"
-      "\n"
-      "        // End unit of work\n"
-      "        HibernateUtil.getSessionFactory()\n"
-      "                .getCurrentSession().getTransaction().commit();\n"
-      "\n"
-      "    } catch (Exception ex) {\n"
-      "        HibernateUtil.getSessionFactory()\n"
-      "                .getCurrentSession().getTransaction().rollback();\n"
-      "        throw new ServletException(ex);\n"
-      "    }\n"
-      "\n"
-      "}]]>"
 
-#: index.docbook:870
-msgid "The pattern we are applying here is called <emphasis>session-per-request</emphasis>. When a request hits the servlet, a new Hibernate <literal>Session</literal> is opened through the first call to <literal>getCurrentSession()</literal> on the <literal>SessionFactory</literal>. Then a database transaction is started&mdash;all data access as to occur inside a transaction, no matter if data is read or written (we don't use the auto-commit mode in applications)."
-msgstr "우리가 여기서 적용하는 패턴은 <emphasis>session-per-request</emphasis>이다. 하나의 요청이 서블릿에 도달할 때, 하나의 새로운 Hibernate <literal>Session</literal>이 <literal>SessionFactory</literal> 상의 <literal>getCurrentSession()</literal>에 대한 첫번째 호출을 통해 열린다. 그때 하나의 데이터베이스 트랜잭션이 시작되고, 모든 데이터 접근이 하나의 트랜잭션 내에서 발생하는 한, 데이터가 읽혀지거나 기록되는데 문제가 없다(우리는 어플리케이션들 내에서 auto-commit 모드를 사용하지 않는다)."
+#. Tag: para
+#: tutorial.xml:870
+#, fuzzy, no-c-format
+msgid ""
+"The pattern we are applying here is called <emphasis>session-per-request</"
+"emphasis>. When a request hits the servlet, a new Hibernate "
+"<literal>Session</literal> is opened through the first call to "
+"<literal>getCurrentSession()</literal> on the <literal>SessionFactory</"
+"literal>. Then a database transaction is started&mdash;all data access as to "
+"occur inside a transaction, no matter if data is read or written (we don't "
+"use the auto-commit mode in applications)."
+msgstr ""
+"우리가 여기서 적용하는 패턴은 <emphasis>session-per-request</emphasis>이다. "
+"하나의 요청이 서블릿에 도달할 때, 하나의 새로운 Hibernate <literal>Session</"
+"literal>이 <literal>SessionFactory</literal> 상의 <literal>getCurrentSession"
+"()</literal>에 대한 첫번째 호출을 통해 열린다. 그때 하나의 데이터베이스 트랜"
+"잭션이 시작되고, 모든 데이터 접근이 하나의 트랜잭션 내에서 발생하는 한, 데이"
+"터가 읽혀지거나 기록되는데 문제가 없다(우리는 어플리케이션들 내에서 auto-"
+"commit 모드를 사용하지 않는다)."
 
-#: index.docbook:879
-msgid "Do <emphasis>not</emphasis> use a new Hibernate <literal>Session</literal> for every database operation. Use one Hibernate <literal>Session</literal> that is scoped to the whole request. Use <literal>getCurrentSession()</literal>, so that it is automatically bound to the current Java thread."
-msgstr "모든 데이터베이스 오퍼레이션 각각에 대해 새로운 Hibernate <literal>Session</literal>을 사용하지 <emphasis>말라</emphasis>. 전체 요청에 대해 영역지워진 한 개의 Hibernate <literal>Session</literal>을 사용하라. 그것이 자동적으로 현재의 자바 쓰레드에 바인드되도록 <literal>getCurrentSession()</literal>을 사용하라."
+#. Tag: para
+#: tutorial.xml:879
+#, no-c-format
+msgid ""
+"Do <emphasis>not</emphasis> use a new Hibernate <literal>Session</literal> "
+"for every database operation. Use one Hibernate <literal>Session</literal> "
+"that is scoped to the whole request. Use <literal>getCurrentSession()</"
+"literal>, so that it is automatically bound to the current Java thread."
+msgstr ""
+"모든 데이터베이스 오퍼레이션 각각에 대해 새로운 Hibernate <literal>Session</"
+"literal>을 사용하지 <emphasis>말라</emphasis>. 전체 요청에 대해 영역지워진 "
+"한 개의 Hibernate <literal>Session</literal>을 사용하라. 그것이 자동적으로 현"
+"재의 자바 쓰레드에 바인드되도록 <literal>getCurrentSession()</literal>을 사용"
+"하라."
 
-#: index.docbook:886
-msgid "Next, the possible actions of the request are processed and the response HTML is rendered. We'll get to that part soon."
-msgstr "다음으로, 요청의 가능한 액션들이 처리되고 응답 HTML이 렌더링된다. 우리는 곧장 그부분으로 갈 것이다."
+#. Tag: para
+#: tutorial.xml:886
+#, no-c-format
+msgid ""
+"Next, the possible actions of the request are processed and the response "
+"HTML is rendered. We'll get to that part soon."
+msgstr ""
+"다음으로, 요청의 가능한 액션들이 처리되고 응답 HTML이 렌더링된다. 우리는 곧"
+"장 그부분으로 갈 것이다."
 
-#: index.docbook:891
-msgid "Finally, the unit of work ends when processing and rendering is complete. If any problem occured during processing or rendering, an exception will be thrown and the database transaction rolled back. This completes the <literal>session-per-request</literal> pattern. Instead of the transaction demarcation code in every servlet you could also write a servlet filter. See the Hibernate website and Wiki for more information about this pattern, called <emphasis>Open Session in View</emphasis>&mdash;you'll need it as soon as you consider rendering your view in JSP, not in a servlet."
-msgstr "마지막으로, 프로세싱과 렌더링이 완료될 때 작업 단위가 종료된다. 만일 어떤 문제가 프로세싱과 렌더링 동안에 발생될 경우, 하나의 예외상황이 던져질 것이고 데이터베이스 트랜잭션은 롤백될 것이다. 이것은 <literal>session-per-request</literal>을 완료시킨다. 모든 서블릿 내에 있는 트랜잭션 구획 코드 대신에 당신은 또한 서블릿 필터를 사용할 수 있다. <emphasis>Open Session in View</emphasis>로 명명되는 이 패턴에 대한 추가 정보는 Hibernate 웹 사이트와 위키를 보라. 당신은 서블릿 내에서가 아닌 JSP 내에 당신의 뷰를 렌더링하는 것을 고려할 때 그것을 필요로 할 것이다."
+#. Tag: para
+#: tutorial.xml:891
+#, fuzzy, no-c-format
+msgid ""
+"Finally, the unit of work ends when processing and rendering is complete. If "
+"any problem occured during processing or rendering, an exception will be "
+"thrown and the database transaction rolled back. This completes the "
+"<literal>session-per-request</literal> pattern. Instead of the transaction "
+"demarcation code in every servlet you could also write a servlet filter. See "
+"the Hibernate website and Wiki for more information about this pattern, "
+"called <emphasis>Open Session in View</emphasis>&mdash;you'll need it as "
+"soon as you consider rendering your view in JSP, not in a servlet."
+msgstr ""
+"마지막으로, 프로세싱과 렌더링이 완료될 때 작업 단위가 종료된다. 만일 어떤 문"
+"제가 프로세싱과 렌더링 동안에 발생될 경우, 하나의 예외상황이 던져질 것이고 데"
+"이터베이스 트랜잭션은 롤백될 것이다. 이것은 <literal>session-per-request</"
+"literal>을 완료시킨다. 모든 서블릿 내에 있는 트랜잭션 구획 코드 대신에 당신"
+"은 또한 서블릿 필터를 사용할 수 있다. <emphasis>Open Session in View</"
+"emphasis>로 명명되는 이 패턴에 대한 추가 정보는 Hibernate 웹 사이트와 위키를 "
+"보라. 당신은 서블릿 내에서가 아닌 JSP 내에 당신의 뷰를 렌더링하는 것을 고려"
+"할 때 그것을 필요로 할 것이다."
 
-#: index.docbook:905
+#. Tag: title
+#: tutorial.xml:905
+#, no-c-format
 msgid "Processing and rendering"
 msgstr "프로세싱과 렌더링"
 
-#: index.docbook:907
-msgid "Let's implement the processing of the request and rendering of the page."
+#. Tag: para
+#: tutorial.xml:907
+#, no-c-format
+msgid ""
+"Let's implement the processing of the request and rendering of the page."
 msgstr "요청의 처리와 페이지의 렌더링을 구현하자."
 
-#: index.docbook:911
+#. Tag: programlisting
+#: tutorial.xml:911
+#, no-c-format
 msgid ""
-      "<![CDATA[// Write HTML header\n"
-      "PrintWriter out = response.getWriter();\n"
-      "out.println(\"<html><head><title>Event Manager</title></head><body>\");\n"
-      "\n"
-      "// Handle actions\n"
-      "if ( \"store\".equals(request.getParameter(\"action\")) ) {\n"
-      "\n"
-      "    String eventTitle = request.getParameter(\"eventTitle\");\n"
-      "    String eventDate = request.getParameter(\"eventDate\");\n"
-      "\n"
-      "    if ( \"\".equals(eventTitle) || \"\".equals(eventDate) ) {\n"
-      "        out.println(\"<b><i>Please enter event title and date.</i></b>\");\n"
-      "    } else {\n"
-      "        createAndStoreEvent(eventTitle, dateFormatter.parse(eventDate));\n"
-      "        out.println(\"<b><i>Added event.</i></b>\");\n"
-      "    }\n"
-      "}\n"
-      "\n"
-      "// Print page\n"
-      "printEventForm(out);\n"
-      "listEvents(out, dateFormatter);\n"
-      "\n"
-      "// Write HTML footer\n"
-      "out.println(\"</body></html>\");\n"
-      "out.flush();\n"
-      "out.close();]]>"
+"<![CDATA[// Write HTML header\n"
+"PrintWriter out = response.getWriter();\n"
+"out.println(\"<html><head><title>Event Manager</title></head><body>\");\n"
+"\n"
+"// Handle actions\n"
+"if ( \"store\".equals(request.getParameter(\"action\")) ) {\n"
+"\n"
+"    String eventTitle = request.getParameter(\"eventTitle\");\n"
+"    String eventDate = request.getParameter(\"eventDate\");\n"
+"\n"
+"    if ( \"\".equals(eventTitle) || \"\".equals(eventDate) ) {\n"
+"        out.println(\"<b><i>Please enter event title and date.</i></b>\");\n"
+"    } else {\n"
+"        createAndStoreEvent(eventTitle, dateFormatter.parse(eventDate));\n"
+"        out.println(\"<b><i>Added event.</i></b>\");\n"
+"    }\n"
+"}\n"
+"\n"
+"// Print page\n"
+"printEventForm(out);\n"
+"listEvents(out, dateFormatter);\n"
+"\n"
+"// Write HTML footer\n"
+"out.println(\"</body></html>\");\n"
+"out.flush();\n"
+"out.close();]]>"
 msgstr ""
-      "<![CDATA[// Write HTML header\n"
-      "PrintWriter out = response.getWriter();\n"
-      "out.println(\"<html><head><title>Event Manager</title></head><body>\");\n"
-      "\n"
-      "// Handle actions\n"
-      "if ( \"store\".equals(request.getParameter(\"action\")) ) {\n"
-      "\n"
-      "    String eventTitle = request.getParameter(\"eventTitle\");\n"
-      "    String eventDate = request.getParameter(\"eventDate\");\n"
-      "\n"
-      "    if ( \"\".equals(eventTitle) || \"\".equals(eventDate) ) {\n"
-      "        out.println(\"<b><i>Please enter event title and date.</i></b>\");\n"
-      "    } else {\n"
-      "        createAndStoreEvent(eventTitle, dateFormatter.parse(eventDate));\n"
-      "        out.println(\"<b><i>Added event.</i></b>\");\n"
-      "    }\n"
-      "}\n"
-      "\n"
-      "// Print page\n"
-      "printEventForm(out);\n"
-      "listEvents(out, dateFormatter);\n"
-      "\n"
-      "// Write HTML footer\n"
-      "out.println(\"</body></html>\");\n"
-      "out.flush();\n"
-      "out.close();]]>"
 
-#: index.docbook:913
-msgid "Granted, this coding style with a mix of Java and HTML would not scale in a more complex application&mdash;keep in mind that we are only illustrating basic Hibernate concepts in this tutorial. The code prints an HTML header and a footer. Inside this page, an HTML form for event entry and a list of all events in the database are printed. The first method is trivial and only outputs HTML:"
-msgstr "Java와 HTML이 혼합된 이 코딩이 보다 복잡한 어플리케이션에서 기준이 될 수 없다 할지라도, 우리는 단지 이 튜토리얼 내에서 기본 Hibernate 개념들을 설명하고 있음을 염두에 두라. 코드는 하나의 HTML 헤더와 하나의 footer를 프린트한다. 이 페이지 내에 이벤트 엔트리를 위한 하나의 HTML form과 데이터베이스 내에 있는 모든 이벤트들의 목록이 프린트된다. 첫 번째 메소드는 시행적이고 오직 HTML을 출력한다:"
+#. Tag: para
+#: tutorial.xml:913
+#, fuzzy, no-c-format
+msgid ""
+"Granted, this coding style with a mix of Java and HTML would not scale in a "
+"more complex application&mdash;keep in mind that we are only illustrating "
+"basic Hibernate concepts in this tutorial. The code prints an HTML header "
+"and a footer. Inside this page, an HTML form for event entry and a list of "
+"all events in the database are printed. The first method is trivial and only "
+"outputs HTML:"
+msgstr ""
+"Java와 HTML이 혼합된 이 코딩이 보다 복잡한 어플리케이션에서 기준이 될 수 없"
+"다 할지라도, 우리는 단지 이 튜토리얼 내에서 기본 Hibernate 개념들을 설명하고 "
+"있음을 염두에 두라. 코드는 하나의 HTML 헤더와 하나의 footer를 프린트한다. 이 "
+"페이지 내에 이벤트 엔트리를 위한 하나의 HTML form과 데이터베이스 내에 있는 모"
+"든 이벤트들의 목록이 프린트된다. 첫 번째 메소드는 시행적이고 오직 HTML을 출력"
+"한다:"
 
-#: index.docbook:922
+#. Tag: programlisting
+#: tutorial.xml:922
+#, no-c-format
 msgid ""
-      "<![CDATA[private void printEventForm(PrintWriter out) {\n"
-      "    out.println(\"<h2>Add new event:</h2>\");\n"
-      "    out.println(\"<form>\");\n"
-      "    out.println(\"Title: <input name='eventTitle' length='50'/><br/>\");\n"
-      "    out.println(\"Date (e.g. 24.12.2009): <input name='eventDate' length='10'/><br/>\");\n"
-      "    out.println(\"<input type='submit' name='action' value='store'/>\");\n"
-      "    out.println(\"</form>\");\n"
-      "}]]>"
+"<![CDATA[private void printEventForm(PrintWriter out) {\n"
+"    out.println(\"<h2>Add new event:</h2>\");\n"
+"    out.println(\"<form>\");\n"
+"    out.println(\"Title: <input name='eventTitle' length='50'/><br/>\");\n"
+"    out.println(\"Date (e.g. 24.12.2009): <input name='eventDate' "
+"length='10'/><br/>\");\n"
+"    out.println(\"<input type='submit' name='action' value='store'/>\");\n"
+"    out.println(\"</form>\");\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private void printEventForm(PrintWriter out) {\n"
-      "    out.println(\"<h2>Add new event:</h2>\");\n"
-      "    out.println(\"<form>\");\n"
-      "    out.println(\"Title: <input name='eventTitle' length='50'/><br/>\");\n"
-      "    out.println(\"Date (e.g. 24.12.2009): <input name='eventDate' length='10'/><br/>\");\n"
-      "    out.println(\"<input type='submit' name='action' value='store'/>\");\n"
-      "    out.println(\"</form>\");\n"
-      "}]]>"
 
-#: index.docbook:924
-msgid "The <literal>listEvents()</literal> method uses the Hibernate <literal>Session</literal> bound to the current thread to execute a query:"
-msgstr "<literal>listEvents()</literal> 메소드는 하나의 질의를 실행하기 위해서 현재의 쓰레드에 결합된 Hibernate <literal>Session</literal>을 사용한다:"
+#. Tag: para
+#: tutorial.xml:924
+#, no-c-format
+msgid ""
+"The <literal>listEvents()</literal> method uses the Hibernate "
+"<literal>Session</literal> bound to the current thread to execute a query:"
+msgstr ""
+"<literal>listEvents()</literal> 메소드는 하나의 질의를 실행하기 위해서 현재"
+"의 쓰레드에 결합된 Hibernate <literal>Session</literal>을 사용한다:"
 
-#: index.docbook:930
+#. Tag: programlisting
+#: tutorial.xml:930
+#, no-c-format
 msgid ""
-      "<![CDATA[private void listEvents(PrintWriter out, SimpleDateFormat dateFormatter) {\n"
-      "\n"
-      "    List result = HibernateUtil.getSessionFactory()\n"
-      "                    .getCurrentSession().createCriteria(Event.class).list();\n"
-      "    if (result.size() > 0) {\n"
-      "        out.println(\"<h2>Events in database:</h2>\");\n"
-      "        out.println(\"<table border='1'>\");\n"
-      "        out.println(\"<tr>\");\n"
-      "        out.println(\"<th>Event title</th>\");\n"
-      "        out.println(\"<th>Event date</th>\");\n"
-      "        out.println(\"</tr>\");\n"
-      "        for (Iterator it = result.iterator(); it.hasNext();) {\n"
-      "            Event event = (Event) it.next();\n"
-      "            out.println(\"<tr>\");\n"
-      "            out.println(\"<td>\" + event.getTitle() + \"</td>\");\n"
-      "            out.println(\"<td>\" + dateFormatter.format(event.getDate()) + \"</td>\");\n"
-      "            out.println(\"</tr>\");\n"
-      "        }\n"
-      "        out.println(\"</table>\");\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[private void listEvents(PrintWriter out, SimpleDateFormat "
+"dateFormatter) {\n"
+"\n"
+"    List result = HibernateUtil.getSessionFactory()\n"
+"                    .getCurrentSession().createCriteria(Event.class).list"
+"();\n"
+"    if (result.size() > 0) {\n"
+"        out.println(\"<h2>Events in database:</h2>\");\n"
+"        out.println(\"<table border='1'>\");\n"
+"        out.println(\"<tr>\");\n"
+"        out.println(\"<th>Event title</th>\");\n"
+"        out.println(\"<th>Event date</th>\");\n"
+"        out.println(\"</tr>\");\n"
+"        for (Iterator it = result.iterator(); it.hasNext();) {\n"
+"            Event event = (Event) it.next();\n"
+"            out.println(\"<tr>\");\n"
+"            out.println(\"<td>\" + event.getTitle() + \"</td>\");\n"
+"            out.println(\"<td>\" + dateFormatter.format(event.getDate()) + "
+"\"</td>\");\n"
+"            out.println(\"</tr>\");\n"
+"        }\n"
+"        out.println(\"</table>\");\n"
+"    }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private void listEvents(PrintWriter out, SimpleDateFormat dateFormatter) {\n"
-      "\n"
-      "    List result = HibernateUtil.getSessionFactory()\n"
-      "                    .getCurrentSession().createCriteria(Event.class).list();\n"
-      "    if (result.size() > 0) {\n"
-      "        out.println(\"<h2>Events in database:</h2>\");\n"
-      "        out.println(\"<table border='1'>\");\n"
-      "        out.println(\"<tr>\");\n"
-      "        out.println(\"<th>Event title</th>\");\n"
-      "        out.println(\"<th>Event date</th>\");\n"
-      "        out.println(\"</tr>\");\n"
-      "        for (Iterator it = result.iterator(); it.hasNext();) {\n"
-      "            Event event = (Event) it.next();\n"
-      "            out.println(\"<tr>\");\n"
-      "            out.println(\"<td>\" + event.getTitle() + \"</td>\");\n"
-      "            out.println(\"<td>\" + dateFormatter.format(event.getDate()) + \"</td>\");\n"
-      "            out.println(\"</tr>\");\n"
-      "        }\n"
-      "        out.println(\"</table>\");\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:932
-msgid "Finally, the <literal>store</literal> action is dispatched to the <literal>createAndStoreEvent()</literal> method, which also uses the <literal>Session</literal> of the current thread:"
-msgstr "마지막으로, <literal>store</literal> 액션은 <literal>createAndStoreEvent()</literal> 메소드로 디스패치된다. 그것은 현재 쓰레드의 <literal>Session</literal>을 사용한다:"
+#. Tag: para
+#: tutorial.xml:932
+#, no-c-format
+msgid ""
+"Finally, the <literal>store</literal> action is dispatched to the "
+"<literal>createAndStoreEvent()</literal> method, which also uses the "
+"<literal>Session</literal> of the current thread:"
+msgstr ""
+"마지막으로, <literal>store</literal> 액션은 <literal>createAndStoreEvent()</"
+"literal> 메소드로 디스패치된다. 그것은 현재 쓰레드의 <literal>Session</"
+"literal>을 사용한다:"
 
-#: index.docbook:938
+#. Tag: programlisting
+#: tutorial.xml:938
+#, no-c-format
 msgid ""
-      "<![CDATA[protected void createAndStoreEvent(String title, Date theDate) {\n"
-      "    Event theEvent = new Event();\n"
-      "    theEvent.setTitle(title);\n"
-      "    theEvent.setDate(theDate);\n"
-      "\n"
-      "    HibernateUtil.getSessionFactory()\n"
-      "                    .getCurrentSession().save(theEvent);\n"
-      "}]]>"
+"<![CDATA[protected void createAndStoreEvent(String title, Date theDate) {\n"
+"    Event theEvent = new Event();\n"
+"    theEvent.setTitle(title);\n"
+"    theEvent.setDate(theDate);\n"
+"\n"
+"    HibernateUtil.getSessionFactory()\n"
+"                    .getCurrentSession().save(theEvent);\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[protected void createAndStoreEvent(String title, Date theDate) {\n"
-      "    Event theEvent = new Event();\n"
-      "    theEvent.setTitle(title);\n"
-      "    theEvent.setDate(theDate);\n"
-      "\n"
-      "    HibernateUtil.getSessionFactory()\n"
-      "                    .getCurrentSession().save(theEvent);\n"
-      "}]]>"
 
-#: index.docbook:940
-msgid "That's it, the servlet is complete. A request to the servlet will be processed in a single <literal>Session</literal> and <literal>Transaction</literal>. As earlier in the standalone application, Hibernate can automatically bind these ojects to the current thread of execution. This gives you the freedom to layer your code and access the <literal>SessionFactory</literal> in any way you like. Usually you'd use a more sophisticated design and move the data access code into data access objects (the DAO pattern). See the Hibernate Wiki for more examples."
-msgstr "즉 서블릿이 완성된다. 서블릿에 대한 요청은 하나의 단일 <literal>Session</literal>과 <literal>Transaction</literal> 내에서 처리될 것이다. 이전처럼 스탠드얼론 어플리케이션에서, Hibernate는 이들 객체들을 실행 중인 현재 쓰레드에 자동적으로 바인드시킬 수 있다. 이것은 당신의 코드를 계층화 시키고 당신이 좋아하는 임의의 방법으로 <literal>SessionFactory</literal>에 접근하는 자유를 당신에게 부여한다. 대개 당신은 보다 세련된 설계를 사용할 것이고 데이터 접근 코드를 데이터 접근 객체들 내로 이동시킬 것이다(DAO 패턴). 추가 예제들은 Hibernate 위키를 보라."
+#. Tag: para
+#: tutorial.xml:940
+#, no-c-format
+msgid ""
+"That's it, the servlet is complete. A request to the servlet will be "
+"processed in a single <literal>Session</literal> and <literal>Transaction</"
+"literal>. As earlier in the standalone application, Hibernate can "
+"automatically bind these ojects to the current thread of execution. This "
+"gives you the freedom to layer your code and access the "
+"<literal>SessionFactory</literal> in any way you like. Usually you'd use a "
+"more sophisticated design and move the data access code into data access "
+"objects (the DAO pattern). See the Hibernate Wiki for more examples."
+msgstr ""
+"즉 서블릿이 완성된다. 서블릿에 대한 요청은 하나의 단일 <literal>Session</"
+"literal>과 <literal>Transaction</literal> 내에서 처리될 것이다. 이전처럼 스탠"
+"드얼론 어플리케이션에서, Hibernate는 이들 객체들을 실행 중인 현재 쓰레드에 자"
+"동적으로 바인드시킬 수 있다. 이것은 당신의 코드를 계층화 시키고 당신이 좋아하"
+"는 임의의 방법으로 <literal>SessionFactory</literal>에 접근하는 자유를 당신에"
+"게 부여한다. 대개 당신은 보다 세련된 설계를 사용할 것이고 데이터 접근 코드를 "
+"데이터 접근 객체들 내로 이동시킬 것이다(DAO 패턴). 추가 예제들은 Hibernate 위"
+"키를 보라."
 
-#: index.docbook:954
+#. Tag: title
+#: tutorial.xml:954
+#, no-c-format
 msgid "Deploying and testing"
 msgstr "배치하기 그리고 테스트하기"
 
-#: index.docbook:956
-msgid "To deploy this application you have to create a web archive, a WAR. Add the following Ant target to your <literal>build.xml</literal>:"
-msgstr "이 어플리케이션을 배치하기 위해서 당신은 하나의 웹 아카이브, WAR를 생성시켜야 한다. 다음 Ant target을 당신의 <literal>build.xml</literal> 내에 추가하라:"
+#. Tag: para
+#: tutorial.xml:956
+#, no-c-format
+msgid ""
+"To deploy this application you have to create a web archive, a WAR. Add the "
+"following Ant target to your <literal>build.xml</literal>:"
+msgstr ""
+"이 어플리케이션을 배치하기 위해서 당신은 하나의 웹 아카이브, WAR를 생성시켜"
+"야 한다. 다음 Ant target을 당신의 <literal>build.xml</literal> 내에 추가하라:"
 
-#: index.docbook:961
+#. Tag: programlisting
+#: tutorial.xml:961
+#, no-c-format
 msgid ""
-      "<![CDATA[<target name=\"war\" depends=\"compile\">\n"
-      "    <war destfile=\"hibernate-tutorial.war\" webxml=\"web.xml\">\n"
-      "        <lib dir=\"${librarydir}\">\n"
-      "          <exclude name=\"jsdk*.jar\"/>\n"
-      "        </lib>\n"
-      "\n"
-      "        <classes dir=\"${targetdir}\"/>\n"
-      "    </war>\n"
-      "</target>]]>"
+"<![CDATA[<target name=\"war\" depends=\"compile\">\n"
+"    <war destfile=\"hibernate-tutorial.war\" webxml=\"web.xml\">\n"
+"        <lib dir=\"${librarydir}\">\n"
+"          <exclude name=\"jsdk*.jar\"/>\n"
+"        </lib>\n"
+"\n"
+"        <classes dir=\"${targetdir}\"/>\n"
+"    </war>\n"
+"</target>]]>"
 msgstr ""
-      "<![CDATA[<target name=\"war\" depends=\"compile\">\n"
-      "    <war destfile=\"hibernate-tutorial.war\" webxml=\"web.xml\">\n"
-      "        <lib dir=\"${librarydir}\">\n"
-      "          <exclude name=\"jsdk*.jar\"/>\n"
-      "        </lib>\n"
-      "\n"
-      "        <classes dir=\"${targetdir}\"/>\n"
-      "    </war>\n"
-      "</target>]]>"
 
-#: index.docbook:963
-msgid "This target creates a file called <literal>hibernate-tutorial.war</literal> in your project directory. It packages all libraries and the <literal>web.xml</literal> descriptor, which is expected in the base directory of your project:"
-msgstr "이 target은 당신의 프로젝트 디렉토리 내에 <literal>hibernate-tutorial.war</literal>로 명명된 하나의 파일을 생성시킨다. 그것은 당신의 프로젝트의 기본 디렉토리 내에 기대되는 모든 라이브러리들과 <literal>web.xml</literal> 디스크립터를 패키징한다:"
+#. Tag: para
+#: tutorial.xml:963
+#, no-c-format
+msgid ""
+"This target creates a file called <literal>hibernate-tutorial.war</literal> "
+"in your project directory. It packages all libraries and the <literal>web."
+"xml</literal> descriptor, which is expected in the base directory of your "
+"project:"
+msgstr ""
+"이 target은 당신의 프로젝트 디렉토리 내에 <literal>hibernate-tutorial.war</"
+"literal>로 명명된 하나의 파일을 생성시킨다. 그것은 당신의 프로젝트의 기본 디"
+"렉토리 내에 기대되는 모든 라이브러리들과 <literal>web.xml</literal> 디스크립"
+"터를 패키징한다:"
 
-#: index.docbook:969
+#. Tag: programlisting
+#: tutorial.xml:969
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-      "<web-app version=\"2.4\"\n"
-      "    xmlns=\"http://java.sun.com/xml/ns/j2ee\"\n"
-      "    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-      "    xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\">\n"
-      "\n"
-      "    <servlet>\n"
-      "        <servlet-name>Event Manager</servlet-name>\n"
-      "        <servlet-class>events.EventManagerServlet</servlet-class>\n"
-      "    </servlet>\n"
-      "\n"
-      "    <servlet-mapping>\n"
-      "        <servlet-name>Event Manager</servlet-name>\n"
-      "        <url-pattern>/eventmanager</url-pattern>\n"
-      "    </servlet-mapping>\n"
-      "</web-app>]]>"
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<web-app version=\"2.4\"\n"
+"    xmlns=\"http://java.sun.com/xml/ns/j2ee\"\n"
+"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/"
+"xml/ns/j2ee/web-app_2_4.xsd\">\n"
+"\n"
+"    <servlet>\n"
+"        <servlet-name>Event Manager</servlet-name>\n"
+"        <servlet-class>events.EventManagerServlet</servlet-class>\n"
+"    </servlet>\n"
+"\n"
+"    <servlet-mapping>\n"
+"        <servlet-name>Event Manager</servlet-name>\n"
+"        <url-pattern>/eventmanager</url-pattern>\n"
+"    </servlet-mapping>\n"
+"</web-app>]]>"
 msgstr ""
-      "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
-      "<web-app version=\"2.4\"\n"
-      "    xmlns=\"http://java.sun.com/xml/ns/j2ee\"\n"
-      "    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-      "    xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\">\n"
-      "\n"
-      "    <servlet>\n"
-      "        <servlet-name>Event Manager</servlet-name>\n"
-      "        <servlet-class>events.EventManagerServlet</servlet-class>\n"
-      "    </servlet>\n"
-      "\n"
-      "    <servlet-mapping>\n"
-      "        <servlet-name>Event Manager</servlet-name>\n"
-      "        <url-pattern>/eventmanager</url-pattern>\n"
-      "    </servlet-mapping>\n"
-      "</web-app>]]>"
 
-#: index.docbook:971
-msgid "Before you compile and deploy the web application, note that an additional library is required: <literal>jsdk.jar</literal>. This is the Java servlet development kit, if you don't have this library already, get it from the Sun website and copy it to your library directory. However, it will be only used for compliation and excluded from the WAR package."
-msgstr "당신이 웹 어플리케이션을 컴파일하고 배치하기 전에, 하나의 부가적인 라이브러리가 필요함을 노트하라: <literal>jsdk.jar</literal>. 당신이 이미 이 라이브러리를 갖고 있지 않을 경우, 이것은 Java servlet development kit이며, Sun 웹 사이트로부터 그것을 얻어서 그것을 당신의 라이브러리 디렉토리에 복사하라. 하지만 그것은 오직 컴파일 시에만 사용될 것이고 WAR 패키지에서는 제외된다."
+#. Tag: para
+#: tutorial.xml:971
+#, no-c-format
+msgid ""
+"Before you compile and deploy the web application, note that an additional "
+"library is required: <literal>jsdk.jar</literal>. This is the Java servlet "
+"development kit, if you don't have this library already, get it from the Sun "
+"website and copy it to your library directory. However, it will be only used "
+"for compliation and excluded from the WAR package."
+msgstr ""
+"당신이 웹 어플리케이션을 컴파일하고 배치하기 전에, 하나의 부가적인 라이브러리"
+"가 필요함을 노트하라: <literal>jsdk.jar</literal>. 당신이 이미 이 라이브러리"
+"를 갖고 있지 않을 경우, 이것은 Java servlet development kit이며, Sun 웹 사이"
+"트로부터 그것을 얻어서 그것을 당신의 라이브러리 디렉토리에 복사하라. 하지만 "
+"그것은 오직 컴파일 시에만 사용될 것이고 WAR 패키지에서는 제외된다."
 
-#: index.docbook:979
-msgid "To build and deploy call <literal>ant war</literal> in your project directory and copy the <literal>hibernate-tutorial.war</literal> file into your Tomcat <literal>webapp</literal> directory. If you don't have Tomcat installed, download it and follow the installation instructions. You don't have to change any Tomcat configuration to deploy this application though."
-msgstr "빌드하고 배치하기 위해 당신의 프로젝트 디렉토리 내에서 <literal>ant war</literal>를 호출하고 <literal>hibernate-tutorial.war</literal> 파일을 당신의 Tomcat <literal>webapp</literal> 디렉토리로 복사하라. 만일 당신이 Tomcat을 설치하지 않았다면, 그것을 내려받아 설치 지침들을 따르라. 당신은 이 어플리케이션을 배치하기 위해 임의의 Tomcat 구성을 변경하지 않아야 한다."
+#. Tag: para
+#: tutorial.xml:979
+#, no-c-format
+msgid ""
+"To build and deploy call <literal>ant war</literal> in your project "
+"directory and copy the <literal>hibernate-tutorial.war</literal> file into "
+"your Tomcat <literal>webapp</literal> directory. If you don't have Tomcat "
+"installed, download it and follow the installation instructions. You don't "
+"have to change any Tomcat configuration to deploy this application though."
+msgstr ""
+"빌드하고 배치하기 위해 당신의 프로젝트 디렉토리 내에서 <literal>ant war</"
+"literal>를 호출하고 <literal>hibernate-tutorial.war</literal> 파일을 당신의 "
+"Tomcat <literal>webapp</literal> 디렉토리로 복사하라. 만일 당신이 Tomcat을 설"
+"치하지 않았다면, 그것을 내려받아 설치 지침들을 따르라. 당신은 이 어플리케이션"
+"을 배치하기 위해 임의의 Tomcat 구성을 변경하지 않아야 한다."
 
-#: index.docbook:987
-msgid "Once deployed and Tomcat is running, access the application at <literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal>. Make sure you watch the Tomcat log to see Hibernate initialize when the first request hits your servlet (the static initializer in <literal>HibernateUtil</literal> is called) and to get the detailed output if any exceptions occurs."
-msgstr "일단 배치했고 Tomcat이 실행중이면, <literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal>로 어플리케이션에 접근하라. 첫 번째 요청이 당신의 서블릿에 도달할 때 Hibernate가 초기화(<literal>HibernateUtil</literal> 내에 있는 static initializer가 호출된다) 되는 것을 보기 위해 그리고 만일 어떤 예외상황들이 발생할 경우 상세한 출력을 얻기 위해서 Tomcat 로그를 지켜보도록 하라."
+#. Tag: para
+#: tutorial.xml:987
+#, no-c-format
+msgid ""
+"Once deployed and Tomcat is running, access the application at "
+"<literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal>. "
+"Make sure you watch the Tomcat log to see Hibernate initialize when the "
+"first request hits your servlet (the static initializer in "
+"<literal>HibernateUtil</literal> is called) and to get the detailed output "
+"if any exceptions occurs."
+msgstr ""
+"일단 배치했고 Tomcat이 실행중이면, <literal>http://localhost:8080/hibernate-"
+"tutorial/eventmanager</literal>로 어플리케이션에 접근하라. 첫 번째 요청이 당"
+"신의 서블릿에 도달할 때 Hibernate가 초기화(<literal>HibernateUtil</literal> "
+"내에 있는 static initializer가 호출된다) 되는 것을 보기 위해 그리고 만일 어"
+"떤 예외상황들이 발생할 경우 상세한 출력을 얻기 위해서 Tomcat 로그를 지켜보도"
+"록 하라."
 
-#: index.docbook:1000
+#. Tag: title
+#: tutorial.xml:1000
+#, no-c-format
 msgid "Summary"
-msgstr "<title>요약</title>"
+msgstr "요약"
 
-#: index.docbook:1002
-msgid "This tutorial covered the basics of writing a simple standalone Hibernate application and a small web application."
-msgstr "이 튜토리얼은 간단한 스탠드얼론 Hibernate 어플리케이션과 하나의 작은 웹 어플리케이션을 작성하는 기초를 다루었다."
+#. Tag: para
+#: tutorial.xml:1002
+#, no-c-format
+msgid ""
+"This tutorial covered the basics of writing a simple standalone Hibernate "
+"application and a small web application."
+msgstr ""
+"이 튜토리얼은 간단한 스탠드얼론 Hibernate 어플리케이션과 하나의 작은 웹 어플"
+"리케이션을 작성하는 기초를 다루었다."
 
-#: index.docbook:1007
-msgid "If you already feel confident with Hibernate, continue browsing through the reference documentation table of contents for topics you find interesting - most asked are transactional processing (<xref linkend=\"transactions\"/>), fetch performance (<xref linkend=\"performance\"/>), or the usage of the API (<xref linkend=\"objectstate\"/>) and the query features (<xref linkend=\"objectstate-querying\"/>)."
-msgstr "만일 당신이 이미 Hibernate에 자신이 있다고 느낀다면, 당신이 흥미를 찾는 주제들에 대한 참조 문서 목차를 계속 브라우징하라 - 가장 많이 요청되는 것은 트랜잭션 처리(<xref linkend=\"transactions\"/>), 페치 퍼포먼스(<xref linkend=\"performance\"/>), 또는 API 사용법(<xref linkend=\"objectstate\"/>), 그리고 질의 특징들(<xref linkend=\"objectstate-querying\"/>)이다."
+#. Tag: para
+#: tutorial.xml:1007
+#, no-c-format
+msgid ""
+"If you already feel confident with Hibernate, continue browsing through the "
+"reference documentation table of contents for topics you find interesting - "
+"most asked are transactional processing (<xref linkend=\"transactions\"/>), "
+"fetch performance (<xref linkend=\"performance\"/>), or the usage of the API "
+"(<xref linkend=\"objectstate\"/>) and the query features (<xref linkend="
+"\"objectstate-querying\"/>)."
+msgstr ""
+"만일 당신이 이미 Hibernate에 자신이 있다고 느낀다면, 당신이 흥미를 찾는 주제"
+"들에 대한 참조 문서 목차를 계속 브라우징하라 - 가장 많이 요청되는 것은 트랜잭"
+"션 처리(<xref linkend=\"transactions\"/>), 페치 퍼포먼스(<xref linkend="
+"\"performance\"/>), 또는 API 사용법(<xref linkend=\"objectstate\"/>), 그리고 "
+"질의 특징들(<xref linkend=\"objectstate-querying\"/>)이다."
 
-#: index.docbook:1015
-msgid "Don't forget to check the Hibernate website for more (specialized) tutorials."
-msgstr "더 많은(특화된) 튜토리얼들에 대해서는 Hibernate 웹 사이트를 체크하는 것을 잊지 말라."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: tutorial.xml:1015
+#, no-c-format
+msgid ""
+"Don't forget to check the Hibernate website for more (specialized) tutorials."
+msgstr ""
+"더 많은(특화된) 튜토리얼들에 대해서는 Hibernate 웹 사이트를 체크하는 것을 잊"
+"지 말라."

Modified: core/trunk/documentation/manual/translations/ko-KR/content/xml.po
===================================================================
--- core/trunk/documentation/manual/translations/ko-KR/content/xml.po	2007-10-27 03:41:26 UTC (rev 14148)
+++ core/trunk/documentation/manual/translations/ko-KR/content/xml.po	2007-10-27 03:44:23 UTC (rev 14149)
@@ -1,420 +1,446 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:48+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: xml.xml:5
+#, no-c-format
 msgid "XML Mapping"
 msgstr "XML 매핑"
 
-#: index.docbook:7
-msgid "Note that this is an experimental feature in Hibernate 3.0 and is under extremely active development."
-msgstr "이것은 Hibernate3.0에서 실험적인 특징이고 매우 활동적으로 개발 중에 있음을 노트하라."
+#. Tag: emphasis
+#: xml.xml:7
+#, no-c-format
+msgid ""
+"Note that this is an experimental feature in Hibernate 3.0 and is under "
+"extremely active development."
+msgstr ""
+"이것은 Hibernate3.0에서 실험적인 특징이고 매우 활동적으로 개발 중에 있음을 노"
+"트하라."
 
-#: index.docbook:13
+#. Tag: title
+#: xml.xml:13
+#, no-c-format
 msgid "Working with XML data"
 msgstr "XML 데이터로 작업하기"
 
-#: index.docbook:15
-msgid "Hibernate lets you work with persistent XML data in much the same way you work with persistent POJOs. A parsed XML tree can be thought of as just another way to represent the relational data at the object level, instead of POJOs."
-msgstr "Hibernate는 당신이 영속 POJO들로 작업하는 것과 아주 동일한 방법으로 영속 XML 데이터에 작업하도록 해준다. 파싱된 XML 트리는 단지 객체 레벨에서 관계형 데이터를 나타내는 또 다른 방법으로 간주될 수 있다. 하나의 파싱된 XML 트리는 POJO들 대신, 객체 레벨에서 관계형 데이터를 표현하는 단지 또 다른 방법으로 간주될 수 있다."
+#. Tag: para
+#: xml.xml:15
+#, no-c-format
+msgid ""
+"Hibernate lets you work with persistent XML data in much the same way you "
+"work with persistent POJOs. A parsed XML tree can be thought of as just "
+"another way to represent the relational data at the object level, instead of "
+"POJOs."
+msgstr ""
+"Hibernate는 당신이 영속 POJO들로 작업하는 것과 아주 동일한 방법으로 영속 XML "
+"데이터에 작업하도록 해준다. 파싱된 XML 트리는 단지 객체 레벨에서 관계형 데이"
+"터를 나타내는 또 다른 방법으로 간주될 수 있다. 하나의 파싱된 XML 트리는 POJO"
+"들 대신, 객체 레벨에서 관계형 데이터를 표현하는 단지 또 다른 방법으로 간주될 "
+"수 있다."
 
-#: index.docbook:22
-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는 XML 트리들을 처리하는 API로서 dom4j를 지원한다. 당신은 데이터베이스로부터 dom4j 트리들을 검색하고 당신이 그 트리를 데이터베이스와 자동적으로 동기화시키기 위해 어떤 변경을 행하도록 하는 질의들을 작성할 수 있다. 당신은 심지어 XML 문서를 취하고, dom4j를 사용하여 그것을 파싱하고, Hibernate의 다음 기본적인 오퍼레이션들 중 어떤 것으로서 그것을 데이터베이스에 저장시킬 수 있다: <literal>persist(), saveOrUpdate(), merge(), delete(), replicate()</literal>(merging(병합)은 아직 지원되지 않는다)."
+#. Tag: para
+#: xml.xml:22
+#, 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는 XML 트리들을 처리하는 API로서 dom4j를 지원한다. 당신은 데이터베이"
+"스로부터 dom4j 트리들을 검색하고 당신이 그 트리를 데이터베이스와 자동적으로 "
+"동기화시키기 위해 어떤 변경을 행하도록 하는 질의들을 작성할 수 있다. 당신은 "
+"심지어 XML 문서를 취하고, dom4j를 사용하여 그것을 파싱하고, Hibernate의 다음 "
+"기본적인 오퍼레이션들 중 어떤 것으로서 그것을 데이터베이스에 저장시킬 수 있"
+"다: <literal>persist(), saveOrUpdate(), merge(), delete(), replicate()</"
+"literal>(merging(병합)은 아직 지원되지 않는다)."
 
-#: index.docbook:32
-msgid "This feature has many applications including data import/export, externalization of entity data via JMS or SOAP and XSLT-based reporting."
-msgstr "이 특징은 데이터 가져오기/내보내기,JMS 또는 SOAP 그리고 XSLT-기반의 레포팅을 통한 엔티티 데이터의 구체화를 포함하는 많은 어플리케이션들을 갖는다."
+#. Tag: para
+#: xml.xml:32
+#, 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 ""
+"이 특징은 데이터 가져오기/내보내기,JMS 또는 SOAP 그리고 XSLT-기반의 레포팅을 "
+"통한 엔티티 데이터의 구체화를 포함하는 많은 어플리케이션들을 갖는다."
 
-#: index.docbook:37
-msgid "A single mapping may 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 may be used to map just the XML."
-msgstr "하나의 매핑은 클래스들의 프로퍼티들과 XML 문서의 노드들을 데이터베이스로 동시에 매핑시키는데 사용될 수 있거나, 만일 매핑할 클래스가 존재하지 않을 경우, 그것은 단지 XML을 매핑시키는데 사용될 수도 있다."
+#. Tag: para
+#: xml.xml:37
+#, no-c-format
+msgid ""
+"A single mapping may 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 may be used to map just the XML."
+msgstr ""
+"하나의 매핑은 클래스들의 프로퍼티들과 XML 문서의 노드들을 데이터베이스로 동시"
+"에 매핑시키는데 사용될 수 있거나, 만일 매핑할 클래스가 존재하지 않을 경우, 그"
+"것은 단지 XML을 매핑시키는데 사용될 수도 있다."
 
-#: index.docbook:44
+#. Tag: title
+#: xml.xml:44
+#, no-c-format
 msgid "Specifying XML and class mapping together"
 msgstr "XML과 클래스 매핑을 함께 지정하기"
 
-#: index.docbook:46
+#. Tag: para
+#: xml.xml:46
+#, no-c-format
 msgid "Here is an example of mapping a POJO and XML simultaneously:"
 msgstr "다음은 POJO와 XML을 동시에 매핑시키는 예제이다 :"
 
-#: index.docbook:50
+#. Tag: programlisting
+#: xml.xml:50
+#, no-c-format
 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>]]>"
+"<![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 ""
-      "<![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>]]>"
 
-#: index.docbook:54
+#. Tag: title
+#: xml.xml:54
+#, no-c-format
 msgid "Specifying only an XML mapping"
 msgstr "XML 매핑만을 지정하기"
 
-#: index.docbook:56
+#. Tag: para
+#: xml.xml:56
+#, no-c-format
 msgid "Here is an example where there is no POJO class:"
 msgstr "다음은 POJO 클래스가 존재하지 않는 예제이다:"
 
-#: index.docbook:60
+#. Tag: programlisting
+#: xml.xml:60
+#, no-c-format
 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>]]>"
+"<![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 ""
-      "<![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>]]>"
 
-#: index.docbook:62
-msgid "This mapping allows you to access the data as a dom4j tree, or as a graph of property name/value pairs (java <literal>Map</literal>s). The property names are purely logical constructs that may be referred to in HQL queries."
-msgstr "이 매핑은 dom4j 트리로서 또는 프로퍼티 name/value 쌍들(java <literal>Map</literal>들)의 그래프로서 데이터에 접근하는 것을 당신에게 허용해준다. 프로퍼티 이름들은 HQL 질의들 내에서 참조될 수도 있는 순수하게 논리적인 구조체들이다."
+#. Tag: para
+#: xml.xml:62
+#, 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 (java <literal>Map</literal>s). The property names "
+"are purely logical constructs that may be referred to in HQL queries."
+msgstr ""
+"이 매핑은 dom4j 트리로서 또는 프로퍼티 name/value 쌍들(java <literal>Map</"
+"literal>들)의 그래프로서 데이터에 접근하는 것을 당신에게 허용해준다. 프로퍼"
+"티 이름들은 HQL 질의들 내에서 참조될 수도 있는 순수하게 논리적인 구조체들이"
+"다."
 
-#: index.docbook:73
+#. Tag: title
+#: xml.xml:73
+#, no-c-format
 msgid "XML mapping metadata"
 msgstr "XML 매핑 메타데이터"
 
-#: index.docbook:75
-msgid "Many Hibernate mapping elements accept the <literal>node</literal> attribute. This let's 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 "많은 Hibernate 매핑 요소들은 <literal>node</literal> 속성을 수용한다. 이것은 당신이 프로퍼티 또는 엔티티 데이터를 소유하는 XML 속성이나 요소의 이름을 지정하도록 한다. <literal>node</literal> 속성의 포맷은 다음 중 하나이어야 한다:"
+#. Tag: para
+#: xml.xml:75
+#, no-c-format
+msgid ""
+"Many Hibernate mapping elements accept the <literal>node</literal> "
+"attribute. This let's 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 ""
+"많은 Hibernate 매핑 요소들은 <literal>node</literal> 속성을 수용한다. 이것은 "
+"당신이 프로퍼티 또는 엔티티 데이터를 소유하는 XML 속성이나 요소의 이름을 지정"
+"하도록 한다. <literal>node</literal> 속성의 포맷은 다음 중 하나이어야 한다:"
 
-#: index.docbook:84
+#. Tag: para
+#: xml.xml:84
+#, no-c-format
 msgid "<literal>\"element-name\"</literal> - map to the named XML element"
 msgstr "<literal>\"element-name\"</literal> - 명명된 XML 요소로 매핑시킨다"
 
-#: index.docbook:87
+#. Tag: para
+#: xml.xml:87
+#, no-c-format
 msgid "<literal>\"@attribute-name\"</literal> - map to the named XML attribute"
-msgstr "<literal>\"@attribute-name\"</literal> - 명명된 XML 속성으로 매핑시킨다"
+msgstr ""
+"<literal>\"@attribute-name\"</literal> - 명명된 XML 속성으로 매핑시킨다"
 
-#: index.docbook:90
+#. Tag: para
+#: xml.xml:90
+#, no-c-format
 msgid "<literal>\".\"</literal> - map to the parent element"
 msgstr "<literal>\".\"</literal> - 부모 요소로 매핑 시킨다"
 
-#: index.docbook:93
-msgid "<literal>\"element-name/@attribute-name\"</literal> - map to the named attribute of the named element"
-msgstr "<literal>\"element-name/@attribute-name\"</literal> - 명명된 요소의 명명된 속성으로 매핑시킨다"
+#. Tag: para
+#: xml.xml:93
+#, 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> - 명명된 요소의 명명된 속"
+"성으로 매핑시킨다"
 
-#: index.docbook:100
-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 simply not appear at all."
-msgstr "콜렉션들과 단일 값 콜렉션들의 경우, 추가적인 <literal>embed-xml</literal> 속성이 존재한다. 만일 <literal>embed-xml=\"true\"</literal> 일 경우, 연관된 엔티티(또는 value 타입을 가진 콜렉션)에 대한 디폴트 XML 트리는 그 연관을 소유하는 엔티티에 대한 XML 트리 속에 직접 삽입될 것이다. 그 밖의 경우 <literal>embed-xml=\"false\"</literal> 일 경우, 참조된 식별자 값 만이 단일 포인트 연관들에 대해 나타날 것이고 콜렉션들은 단순히 전혀 나타나지 않을 것이다."
+#. Tag: para
+#: xml.xml:100
+#, 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 simply not appear at all."
+msgstr ""
+"콜렉션들과 단일 값 콜렉션들의 경우, 추가적인 <literal>embed-xml</literal> 속"
+"성이 존재한다. 만일 <literal>embed-xml=\"true\"</literal> 일 경우, 연관된 엔"
+"티티(또는 value 타입을 가진 콜렉션)에 대한 디폴트 XML 트리는 그 연관을 소유하"
+"는 엔티티에 대한 XML 트리 속에 직접 삽입될 것이다. 그 밖의 경우 "
+"<literal>embed-xml=\"false\"</literal> 일 경우, 참조된 식별자 값 만이 단일 포"
+"인트 연관들에 대해 나타날 것이고 콜렉션들은 단순히 전혀 나타나지 않을 것이다."
 
-#: index.docbook:110
-msgid "You should be careful not to leave <literal>embed-xml=\"true\"</literal> for too many associations, since XML does not deal well with circularity!"
-msgstr "당신은 너무 많은 연관들에 대해 <literal>embed-xml=\"true\"</literal>로 남겨두지 말도록 주의해야 한다. 왜냐하면 XML이 순환적으로 잘 처리하지 못하기 때문이다!"
+#. Tag: para
+#: xml.xml:110
+#, no-c-format
+msgid ""
+"You should be careful not to leave <literal>embed-xml=\"true\"</literal> for "
+"too many associations, since XML does not deal well with circularity!"
+msgstr ""
+"당신은 너무 많은 연관들에 대해 <literal>embed-xml=\"true\"</literal>로 남겨두"
+"지 말도록 주의해야 한다. 왜냐하면 XML이 순환적으로 잘 처리하지 못하기 때문이"
+"다!"
 
-#: index.docbook:115
+#. Tag: programlisting
+#: xml.xml:115
+#, no-c-format
 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>]]>"
+"<![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 ""
-      "<![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>]]>"
 
-#: index.docbook:117
-msgid "in this case, we have decided to embed the collection of account ids, but not the actual account data. The following HQL query:"
-msgstr "이 경우에, 우리는 실제 account 데이터가 아닌, account id들을 가진 콜렉션을 삽입시키기로 결정했다. 다음 HQL 질의:"
+#. Tag: para
+#: xml.xml:117
+#, no-c-format
+msgid ""
+"in this case, we have decided to embed the collection of account ids, but "
+"not the actual account data. The following HQL query:"
+msgstr ""
+"이 경우에, 우리는 실제 account 데이터가 아닌, account id들을 가진 콜렉션을 삽"
+"입시키기로 결정했다. 다음 HQL 질의:"
 
-#: index.docbook:122
-msgid "<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :lastName]]>"
-msgstr "<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :lastName]]>"
+#. Tag: programlisting
+#: xml.xml:122
+#, no-c-format
+msgid ""
+"<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :"
+"lastName]]>"
+msgstr ""
 
-#: index.docbook:124
+#. Tag: para
+#: xml.xml:124
+#, no-c-format
 msgid "Would return datasets such as this:"
 msgstr "는 다음과 같은 데이터셋들을 반환할 것이다:"
 
-#: index.docbook:128
+#. Tag: programlisting
+#: xml.xml:128
+#, no-c-format
 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>]]>"
+"<![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 ""
-      "<![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>]]>"
 
-#: index.docbook:130
-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 "만일 당신이 <literal>&lt;one-to-many&gt;</literal> 매핑에 대해 <literal>embed-xml=\"true\"</literal>를 설정할 경우, 데이터는 다음과 같이 보일 수도 있다:"
+#. Tag: para
+#: xml.xml:130
+#, 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 ""
+"만일 당신이 <literal>&lt;one-to-many&gt;</literal> 매핑에 대해 "
+"<literal>embed-xml=\"true\"</literal>를 설정할 경우, 데이터는 다음과 같이 보"
+"일 수도 있다:"
 
-#: index.docbook:135
+#. Tag: programlisting
+#: xml.xml:135
+#, no-c-format
 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>]]>"
+"<![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 ""
-      "<![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>]]>"
 
-#: index.docbook:141
+#. Tag: title
+#: xml.xml:141
+#, no-c-format
 msgid "Manipulating XML data"
 msgstr "XML 데이터 처리하기"
 
-#: index.docbook:143
-msgid "Let's rearead and update XML documents in the application. We do this by obtaining a dom4j session:"
-msgstr "우리의 어플리케이션 내에서 XML 문서들을 다시 읽어들이고 업데이트 시키자. 우리는 dom4j 세션을 얻어서 이것을 행한다:"
+#. Tag: para
+#: xml.xml:143
+#, no-c-format
+msgid ""
+"Let's rearead and update XML documents in the application. We do this by "
+"obtaining a dom4j session:"
+msgstr ""
+"우리의 어플리케이션 내에서 XML 문서들을 다시 읽어들이고 업데이트 시키자. 우리"
+"는 dom4j 세션을 얻어서 이것을 행한다:"
 
-#: index.docbook:148
+#. Tag: programlisting
+#: xml.xml:148
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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.getRootElement().add(customer);\n"
-      "}\n"
-      "\n"
-      "tx.commit();\n"
-      "session.close();]]>"
 
-#: index.docbook:150
+#. Tag: programlisting
+#: xml.xml:150
+#, no-c-format
 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();]]>"
+"<![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 ""
-      "<![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();]]>"
 
-#: index.docbook:152
-msgid "It is extremely useful to combine this feature with Hibernate's <literal>replicate()</literal> operation to implement XML-based data import/export."
-msgstr "XML 기반의 데이터 가져오기/내보내기를 구현하는데 이 특징과 Hibernate의 <literal>replicate()</literal> 오퍼레이션을 결합시키는 것이 매우 유용하다."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: xml.xml:152
+#, no-c-format
+msgid ""
+"It is extremely useful to combine this feature with Hibernate's "
+"<literal>replicate()</literal> operation to implement XML-based data import/"
+"export."
+msgstr ""
+"XML 기반의 데이터 가져오기/내보내기를 구현하는데 이 특징과 Hibernate의 "
+"<literal>replicate()</literal> 오퍼레이션을 결합시키는 것이 매우 유용하다."




More information about the hibernate-commits mailing list