From add1ff0f463e1aeabf5031931a393f7b75e2b8e0 Mon Sep 17 00:00:00 2001 From: xhuang Date: Sat, 27 Oct 2007 03:41:26 +0000 Subject: [PATCH] match to latest English XML git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@14148 1b8cb986-b30d-0410-93ca-fae66ebed9b2 --- .../src/main/docbook/content/architecture.xml | 9 +- .../main/docbook/content/basic_mapping.xml | 168 ++++++++++++++++++ .../main/docbook/content/configuration.xml | 3 +- .../ko-KR/src/main/docbook/content/events.xml | 7 +- .../src/main/docbook/content/performance.xml | 2 +- .../docbook/content/persistent_classes.xml | 4 +- .../src/main/docbook/content/session_api.xml | 46 +++-- 7 files changed, 214 insertions(+), 25 deletions(-) diff --git a/documentation/manual/ko-KR/src/main/docbook/content/architecture.xml b/documentation/manual/ko-KR/src/main/docbook/content/architecture.xml index 0b65351a2a..8b66c7b111 100644 --- a/documentation/manual/ko-KR/src/main/docbook/content/architecture.xml +++ b/documentation/manual/ko-KR/src/main/docbook/content/architecture.xml @@ -284,7 +284,14 @@ org.hibernate.context.ThreadLocalSessionContext - 현재의 세션들은 실행 쓰레드에 의해 추적된다. 상세한 것은 다시 javadocs를 보라. - + + NOT TRANSLATED! + org.hibernate.context.ManagedSessionContext - current + sessions are tracked by thread of execution. However, you are responsible to + bind and unbind a Session instance with static methods + on this class, it does never open, flush, or close a Session. + + 처음의 두 구현들은 session-per-request로 알려지고 사용되고 있는 diff --git a/documentation/manual/ko-KR/src/main/docbook/content/basic_mapping.xml b/documentation/manual/ko-KR/src/main/docbook/content/basic_mapping.xml index 00b062e8cc..10bfcd7c97 100644 --- a/documentation/manual/ko-KR/src/main/docbook/content/basic_mapping.xml +++ b/documentation/manual/ko-KR/src/main/docbook/content/basic_mapping.xml @@ -862,7 +862,175 @@ + + + NOT TRANSLATED!Enhanced identifier generators + + + 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. + + + + The first of these new generators is org.hibernate.id.enhanced.SequenceStyleGenerator + which is intended firstly as a replacement for the sequence generator and secondly as + a better portability generator than native (because native + (generally) chooses between identity and sequence which have + largely different semantics which can cause subtle isssues in applications eyeing portability). + org.hibernate.id.enhanced.SequenceStyleGenerator 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 native 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: + + + + sequence_name (optional, defaults to hibernate_sequence): + The name of the sequence (or table) to be used. + + + + + initial_value (optional, defaults to 1): The initial + value to be retrieved from the sequence/table. In sequence creation terms, this is analogous + to the clause typical named "STARTS WITH". + + + + + increment_size (optional, defaults to 1): 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". + + + + + force_table_use (optional, defaults to false): Should + we force the use of a table as the backing structure even though the dialect might support + sequence? + + + + + value_column (optional, defaults to next_val): Only + relevant for table structures! The name of the column on the table which is used to + hold the value. + + + + + optimizer (optional, defaults to none): + See + + + + + + The second of these new generators is org.hibernate.id.enhanced.TableGenerator which + is intended firstly as a replacement for the table generator (although it actually + functions much more like org.hibernate.id.MultipleHiLoPerTableGenerator) and secondly + as a re-implementation of org.hibernate.id.MultipleHiLoPerTableGenerator 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: + + + + table_name (optional, defaults to hibernate_sequences): + The name of the table to be used. + + + + + value_column_name (optional, defaults to next_val): + The name of the column on the table which is used to hold the value. + + + + + segment_column_name (optional, defaults to sequence_name): + 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. + + + + + segment_value (optional, defaults to default): + The "segment key" value for the segment from which we want to pull increment values for + this generator. + + + + + segment_value_length (optional, defaults to 255): + Used for schema generation; the column size to create this segment key column. + + + + + initial_value (optional, defaults to 1): + The initial value to be retrieved from the table. + + + + + increment_size (optional, defaults to 1): + The value by which subsequent calls to the table should differ. + + + + + optimizer (optional, defaults to ): + See + + + + + + + + NOT TRANSLATED! Identifier generator optimization + + 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 + ( support this notion. + + + + none (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. + + + + + hilo: 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 + increment_size is multiplied by that value in memory to define a group + "hi value". + + + + + pooled: like was discussed for hilo, 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. increment_size + here refers to the values coming from the database. + + + + + + + composite-id diff --git a/documentation/manual/ko-KR/src/main/docbook/content/configuration.xml b/documentation/manual/ko-KR/src/main/docbook/content/configuration.xml index 87be122f36..c244b0f477 100644 --- a/documentation/manual/ko-KR/src/main/docbook/content/configuration.xml +++ b/documentation/manual/ko-KR/src/main/docbook/content/configuration.xml @@ -581,8 +581,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]> hibernate.jdbc.use_streams_for_binary - binary 또는 serializable 타입들을 JDBC로 기록하고 - /JDBC로부터 binary 또는 serializable 타입들을 읽어들일 때 + FUZZY! binary 또는 serializable 타입들을 읽어들일 때 스트림들을 사용한다(시스템-레벨 프로퍼티). 예. diff --git a/documentation/manual/ko-KR/src/main/docbook/content/events.xml b/documentation/manual/ko-KR/src/main/docbook/content/events.xml index f2a2aacd34..29ea7768a9 100644 --- a/documentation/manual/ko-KR/src/main/docbook/content/events.xml +++ b/documentation/manual/ko-KR/src/main/docbook/content/events.xml @@ -121,12 +121,7 @@ public class AuditInterceptor extends EmptyInterceptor { - - 당신은 또한 Configuration을 사용하여 인터셉터를 전역 레벨 상에 설정할 수도 있다. - 이 경우에, 인터셉터는 threadsafe이어야 한다. - - - + SessionFactory-영역의 인터셉터는 SessionFactory을 빌드하기에 앞서 diff --git a/documentation/manual/ko-KR/src/main/docbook/content/performance.xml b/documentation/manual/ko-KR/src/main/docbook/content/performance.xml index 04997a15e9..9ef29e906e 100644 --- a/documentation/manual/ko-KR/src/main/docbook/content/performance.xml +++ b/documentation/manual/ko-KR/src/main/docbook/content/performance.xml @@ -635,7 +635,7 @@ Cat fritz = (Cat) iter.next();]]> OSCache org.hibernate.cache.OSCacheProvider memory, disk - yes (clustered invalidation) + yes diff --git a/documentation/manual/ko-KR/src/main/docbook/content/persistent_classes.xml b/documentation/manual/ko-KR/src/main/docbook/content/persistent_classes.xml index ded1ab741d..4d10f105c0 100644 --- a/documentation/manual/ko-KR/src/main/docbook/content/persistent_classes.xml +++ b/documentation/manual/ko-KR/src/main/docbook/content/persistent_classes.xml @@ -155,9 +155,7 @@ public class Cat { Session.merge() - - 를 보라 - + diff --git a/documentation/manual/ko-KR/src/main/docbook/content/session_api.xml b/documentation/manual/ko-KR/src/main/docbook/content/session_api.xml index 7a4403d6f7..a31a128d58 100644 --- a/documentation/manual/ko-KR/src/main/docbook/content/session_api.xml +++ b/documentation/manual/ko-KR/src/main/docbook/content/session_api.xml @@ -84,6 +84,28 @@ Long generatedId = (Long) sess.save(fritz);]]> 호출하기 전에 그 식별자가cat 인스턴스에 할당될 것이다. 당신은 또한 EJB3 초기 드래프트에서 정의된 의미로 save() 대신 persist()를 사용할 수도 있다. + + + UNTRANSLATED! + persist() 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. + persist() also guarantees that it will not execute an + INSERT statement if it is called outside of transaction + boundaries. This is useful in long-running conversations with an extended + Session/persistence context. + + + + + save() 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. + + + 다른 방법으로, 당신은 save()의 오버로드된 버전을 사용하여 식별자를 할당할 수 있다. @@ -279,8 +301,8 @@ while ( iter.hasNext() ) { while ( kittensAndMothers.hasNext() ) { Object[] tuple = (Object[]) kittensAndMothers.next(); - Cat kitten = (Cat) tuple[0]; - Cat mother = (Cat) tuple[1]; + Cat kitten = (Cat) tuple[0]; + Cat mother = (Cat) tuple[1]; .... }]]> @@ -526,16 +548,16 @@ List cats = crit.list();]]> 중괄호들 속에 포함시켜야 한다: - - - + + + SQL 질의들은 Hibernate 질의들처럼 명명된 파라미터들과 위치 파라미터들을 포함할 수도 있다. SQL 질의들에 대한