Hibernate example source code file (batch.po)
This example Hibernate source code file (batch.po) is included in the DevDaily.com
"Java Source Code
Warehouse " project. The intent of this project is to help you "Learn Java by Example " TM .
The Hibernate batch.po source code
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-04T04:51:21\n"
"PO-Revision-Date: 2010-01-12 23:37+0900\n"
"Last-Translator: Jongdae Kim <jdkim528@korea.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title
#, no-c-format
msgid "Batch processing"
msgstr "Batch 처리"
#. Tag: para
#, no-c-format
msgid ""
"A naive approach to inserting 100,000 rows in the database using Hibernate "
"might look like this:"
msgstr ""
"하ì´ë²„네ì´íŠ¸ë¥¼ 사용하여 ë°ì´í„°ë² ì´ìŠ¤ ë‚´ì—ì„œ 100,000 ê°œì˜ í–‰ë“¤ì„ ì‚½ìž…ì‹œí‚¤ëŠ” ì›"
"ì‹œ ì ‘ê·¼ë²•ì€ ë‹¤ìŒê³¼ ê°™ì„ ìˆ˜ 있다:"
#. Tag: para
#, no-c-format
msgid ""
"This would fall over with an <literal>OutOfMemoryException "
"somewhere around the 50,000th row. That is because Hibernate caches all the "
"newly inserted <literal>Customer instances in the session-level "
"cache. In this chapter we will show you how to avoid this problem."
msgstr ""
"ì´ê²ƒì€ 50 000번째 í–‰ 근처ì—ì„œ <literal>OutOfMemoryException으로 ë–¨"
"어질 것ì´ë‹¤. ê·¸ê²ƒì€ í•˜ì´ë²„네ì´íŠ¸ê°€ ëª¨ë“ ìƒˆë¡œì´ ì‚½ìž…ëœ <literal>Customer identifier generator."
msgstr ""
"ë§Œì¼ ë‹¹ì‹ ì´ <literal>identiy ì‹ë³„ìž ìƒì„±ìžë¥¼ ì‚¬ìš©í• ê²½ìš°ì— í•˜ì´ë²„네"
"ì´íŠ¸ëŠ” JDBC ë ˆë²¨ì—ì„œ 투명하게 insert ë°°ì¹˜ìž‘ì—…ì„ ì‚¬ìš©ë¶ˆê°€ëŠ¥í•˜ë„ë¡ ë§Œë“ ë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"You can also do this kind of work in a process where interaction with the "
"second-level cache is completely disabled:"
msgstr ""
"ë‹¹ì‹ ì€ ë˜í•œ second-level ìºì‹œë¥¼ 가진 ìƒí˜¸ìž‘ìš©ì´ ì „ì 으로 사용불가능한 프로세"
"스 ë‚´ì—ì„œ ì´ëŸ° ì¢…ë¥˜ì˜ ìž‘ì—…ì„ í–‰í• ìˆ˜ 있다:"
#. Tag: para
#, no-c-format
msgid ""
"However, this is not absolutely necessary, since we can explicitly set the "
"<literal>CacheMode to disable interaction with the second-level "
"cache."
msgstr ""
"하지만 ì´ê²ƒì€ ì ˆëŒ€ì 으로 필요하지 않다. 왜ëƒí•˜ë©´ 우리는 second-level ìºì‹œì™€"
"ì˜ ìƒí˜¸ìž‘ìš©ì„ ë¶ˆê°€ëŠ¥í•˜ë„ë¡ í•˜ê¸° 위해 명시ì 으로 <literal>CacheMode"
"를 ì„¤ì •í• ìˆ˜ 있기 때문ì´ë‹¤."
#. Tag: title
#, no-c-format
msgid "Batch inserts"
msgstr "Batch inserts"
#. Tag: para
#, no-c-format
msgid ""
"When making new objects persistent <literal>flush() and then "
"<literal>clear() the session regularly in order to control the "
"size of the first-level cache."
msgstr ""
"새로운 ê°ì²´ë“¤ì„ ì˜ì†í™” 시킬 ë•Œ ë‹¹ì‹ ì€ first-level ìºì‹œì˜ 사ì´ì¦ˆë¥¼ ì œì–´í•˜ê¸° 위"
"í•´ ì„¸ì…˜ì„ ì •ê¸°ì 으로 <literal>flush() ì‹œí‚¤ê³ ë‚˜ì„œ clear()"
"</literal> 하ë¼."
#. Tag: title
#, no-c-format
msgid "Batch updates"
msgstr "Batch updates"
#. Tag: para
#, no-c-format
msgid ""
"For retrieving and updating data, the same ideas apply. In addition, you "
"need to use <literal>scroll() to take advantage of server-side "
"cursors for queries that return many rows of data."
msgstr ""
"ë°ì´í„° ê²€ìƒ‰í•˜ê³ ì—…ë°ì´íŠ¸í• ë•Œ, ë™ì¼í•œ ê°œë…ë“¤ì´ ì ìš©ëœë‹¤. 게다가 ë‹¹ì‹ ì€ ë§Žì€ "
"ë°ì´í„° í–‰ë“¤ì„ ë°˜í™˜í•˜ëŠ” 질ì˜ë“¤ì„ 위한 서버-측 ì»¤ì„œë“¤ì˜ ìž¥ì ì„ ì·¨í•˜í•˜ê¸° 위해 "
"<literal>scroll()ì„ ì‚¬ìš©í• í•„ìš”ê°€ 있다."
#. Tag: title
#, no-c-format
msgid "The StatelessSession interface"
msgstr "StatelessSession ì¸í„°íŽ˜ì´ìŠ¤"
#. Tag: para
#, no-c-format
msgid ""
"Alternatively, Hibernate provides a command-oriented API that can be used "
"for streaming data to and from the database in the form of detached objects. "
"A <literal>StatelessSession has no persistence context associated "
"with it and does not provide many of the higher-level life cycle semantics. "
"In particular, a stateless session does not implement a first-level cache "
"nor interact with any second-level or query cache. It does not implement "
"transactional write-behind or automatic dirty checking. Operations performed "
"using a stateless session never cascade to associated instances. Collections "
"are ignored by a stateless session. Operations performed via a stateless "
"session bypass Hibernate's event model and interceptors. Due to the lack of "
"a first-level cache, Stateless sessions are vulnerable to data aliasing "
"effects. A stateless session is a lower-level abstraction that is much "
"closer to the underlying JDBC."
msgstr ""
"다른 방법으로 하ì´ë²„네ì´íŠ¸ëŠ” 분리ëœ(detached) ê°ì²´ë“¤ì˜ 형ì‹ìœ¼ë¡œ ë°ì´í„°ë² ì´ìŠ¤"
"ë¡œ ê·¸ë¦¬ê³ ë°ì´í„°ë² ì´ìŠ¤ë¡œë¶€í„° ë°ì´í„°ë¥¼ 스트리ë°í•˜ëŠ”ë° ì‚¬ìš©ë 수 있는 ëª…ë ¹-지"
"í–¥ API를 ì œê³µí•œë‹¤. <literal>StatelessSessionì€ ê·¸ê²ƒê³¼ ì—°ê´€ëœ ì˜ì† "
"컨í…스트를 갖지 ì•Šê³ ë§Žì€ ë³´ë‹¤ ë†’ì€ ë ˆë²¨ì˜ ìƒëª… 주기 ì˜ë¯¸ë¥¼ ì œê³µí•˜ì§€ 않는다. "
"특히 í•˜ë‚˜ì˜ ìƒíƒœ 없는 ì„¸ì…˜ì€ ì²« 번째 ë ˆë²¨ ìºì‹œë¥¼ 구현하지 않으며 ìž„ì˜ì˜ ë‘ ë²ˆ"
"째 ë ˆë²¨ ìºì‹œ ë˜ëŠ” ì§ˆì˜ ìºì‹œì™€ ìƒí˜¸ìž‘용하지 않는다. ê·¸ê²ƒì€ íŠ¸ëžœìžì…˜ ìƒì˜ 쓰기-"
"ì´ë©´(write-behind)ì˜ ì²´í‚¹ì´ë‚˜ ìžë™ì ì¸ dirty ì²´í‚¹ì„ êµ¬í˜„í•˜ì§€ 않는다. ìƒíƒœ ì—†"
"는 ì„¸ì…˜ì„ ì‚¬ìš©í•˜ì—¬ ìˆ˜í–‰ëœ ì—°ì‚°ë“¤ì€ ê²°ì½” ì—°ê´€ëœ ì¸ìŠ¤í„´ìŠ¤ë“¤ì— 대해 케스케ì´ë“œ "
"ë˜ì§€ 않는다. ì½œë ‰ì…˜ë“¤ì€ ìƒíƒœ 없는 ì„¸ì…˜ì— ì˜í•´ 무시ëœë‹¤. ìƒíƒœì—†ëŠ” ì„¸ì…˜ì„ í†µí•´ "
"ìˆ˜í–‰ëœ ì—°ì‚°ë“¤ì€ í•˜ì´ë²„네ì´íŠ¸ì˜ ì´ë²¤íŠ¸ 모형과 ì¸í„°ì…‰í„°ë“¤ì„ 우회한다. 첫번째-ë ˆ"
"ë²¨ì˜ ìºì‹œì˜ 부재으로 ì¸í•´, ìƒíƒœì—†ëŠ” ì„¸ì…˜ë“¤ì€ ë°ì´í„° alias íš¨ê³¼ë“¤ì— ì·¨ì•½í•˜ë‹¤. "
"ìƒíƒœì—†ëŠ” ì„¸ì…˜ì€ ê¸°ë°˜ JDBCì— í›¨ì”¬ ë” ê°€ê¹Œìš´ í•˜ë‚˜ì˜ ë³´ë‹¤ ë‚®ì€ ë ˆë²¨ì˜ ì¶”ìƒì´ë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"In this code example, the <literal>Customer instances returned by "
"the query are immediately detached. They are never associated with any "
"persistence context."
msgstr ""
"ì´ ì½”ë“œ ì˜ˆì œì—ì„œ, 질ì˜ì— ì˜í•´ ë°˜í™˜ëœ <literal>Customer ì¸ìŠ¤í„´ìŠ¤ë“¤"
"ì€ ê³§ë°”ê³ ë¶„ë¦¬ëœë‹¤(detached). ê·¸ê²ƒë“¤ì€ ìž„ì˜ì˜ ì˜ì† 컨í…스트와 ê²°ì½” ì—°ê´€ë˜ì§€ "
"않는다."
#. Tag: para
#, no-c-format
msgid ""
"The <literal>insert(), update() and delete() "
"operations defined by the <literal>StatelessSession interface are "
"considered to be direct database row-level operations. They result in the "
"immediate execution of a SQL <literal>INSERT, UPDATE or "
"<literal>DELETE respectively. They have different semantics to the "
"<literal>save(), saveOrUpdate() and delete() "
"operations defined by the <literal>Session interface."
msgstr ""
"<literal>StatelessSession ì¸í„°íŽ˜ì´ìŠ¤ì— ì˜í•´ ì •ì˜ëœ insert"
"(), update()</literal> ê·¸ë¦¬ê³ delete() ì—°ì‚°ë“¤ì€ ì§ì ‘ì ì¸ "
"ë°ì´í„°ë² ì´ìŠ¤ í–‰ ë ˆë²¨ì˜ ì—°ì‚°ë“¤ë¡œ 갖주ëœë‹¤. ê·¸ê²ƒë“¤ì€ ê°ê° í•˜ë‚˜ì˜ SQL "
"<literal>INSERT, UPDATE ë˜ëŠ” DELETE ì˜ ì¦‰ê°ì ì¸ "
"실행으로 귀결ëœë‹¤. ê·¸ê²ƒë“¤ì€ <literal>Session ì¸í„°íŽ˜ì´ìŠ¤ì— ì˜í•´ ì •ì˜"
"ëœ <literal>save(), saveOrUpdate()와 delete() ì—°"
"산들과는 다른 ì˜ë¯¸ë“¤ì„ 갖는다."
#. Tag: title
#, no-c-format
msgid "DML-style operations"
msgstr "DML-ìŠ¤íƒ€ì¼ ì—°ì‚°ë“¤"
#. Tag: para
#, no-c-format
msgid ""
"As already discussed, automatic and transparent object/relational mapping is "
"concerned with the management of the object state. The object state is "
"available in memory. This means that manipulating data directly in the "
"database (using the SQL <literal>Data Manipulation Language (DML) "
"the statements: <literal>INSERT, UPDATE , "
"<literal>DELETE) will not affect in-memory state. However, "
"Hibernate provides methods for bulk SQL-style DML statement execution that "
"is performed through the Hibernate Query Language (<link linkend=\"queryhql"
"\">HQL</link>)."
msgstr ""
"ì´ë¯¸ ë…¼ì˜í–ˆë“¯ì´, ìžë™ì ì´ê³ 투명한 ê°ì²´/관계형 ë§¤í•‘ì€ ê°ì²´ ìƒíƒœì— 대한 관리"
"와 관계ëœë‹¤. ê°ì²´ì˜ ìƒíƒœëŠ” 메모리 ë‚´ì—ì„œ ì´ìš© 가능하다. (SQL <literal>ë°ì´í„° "
"처리 언어</literal>(DML) 문장들 : INSERT , "
"<literal>UPDATE, DELETE 를 사용하여) ë°ì´í„°ë² ì´ìŠ¤"
"ì—ì„œ ì§ì ‘ ë°ì´í„° 처리하는 ê²ƒì´ ë©”ëª¨ë¦¬ ë‚´ ìƒíƒœì— ì˜í–¥ì„ 주지 ì•ŠìŒì„ ì˜ë¯¸í•œë‹¤. "
"하지만 하ì´ë²„네ì´íŠ¸ëŠ” 하ì´ë²„네ì´íŠ¸ ì§ˆì˜ ì–¸ì–´(<xref linkend=\"queryhql\">HQL and DELETE( UPDATE | DELETE ) FROM? EntityName (WHERE "
"where_conditions)?</literal>."
msgstr ""
"<literal>UPDATE 와 DELETE ë¬¸ìž¥ë“¤ì— ëŒ€í•œ ìœ ì‚¬ 구문"
"ì€ ë‹¤ìŒê³¼ 같다: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
"where_conditions)?</literal>."
#. Tag: para
#, no-c-format
msgid "Some points to note:"
msgstr "ë…¸íŠ¸í• ëª‡ 가지:"
#. Tag: para
#, no-c-format
msgid "In the from-clause, the FROM keyword is optional"
msgstr "from-ì ˆì—ì„œ, FROM 키워드는 옵션ì´ë‹¤"
#. Tag: para
#, no-c-format
msgid ""
"There can only be a single entity named in the from-clause. It can, however, "
"be aliased. If the entity name is aliased, then any property references must "
"be qualified using that alias. If the entity name is not aliased, then it is "
"illegal for any property references to be qualified."
msgstr ""
"from-ì ˆ ë‚´ì— ë‹¨ì§€ ëª…ëª…ëœ í•œ ê°œì˜ ì—”í‹°í‹°ê°€ ì¡´ìž¬í• ìˆ˜ 있다. 하지만 ê·¸ê²ƒì€ ì„ íƒ"
"ì 으로 aliasë 수 있다. ë§Œì¼ ì—”í‹°í‹° ì´ë¦„ì´ aliasë˜ë©´, 그때 ìž„ì˜ì˜ 프로í¼í‹° ì°¸"
"ì¡°ë“¤ì€ ê·¸ alias를 사용하여 수ì‹ë˜ì–´ì•¼ 한다; ë§Œì¼ ì—”í‹°í‹° ì´ë¦„ì´ aliasë˜ì§€ ì•Š"
"ì„ ê²½ìš°, ìž„ì˜ì˜ 프로í¼í‹° ì°¸ì¡°ë“¤ì´ ìˆ˜ì‹ë˜ëŠ” ê²ƒì€ ê·œì¹™ì— ì–´ê¸‹ë‚œë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"No <link linkend=\"queryhql-joins-forms\">joins, either implicit or "
"explicit, can be specified in a bulk HQL query. Sub-queries can be used in "
"the where-clause, where the subqueries themselves may contain joins."
msgstr ""
"함축ì ì´ë“ 명시ì ì´ë“ <xref linkend=\"queryhql-joins-forms\">joinë“¤ì€ "
"대량 HQL ì§ˆì˜ ì†ì— ì§€ì •ë 수 없다. 서브-질ì˜ë“¤ì´ where-ì ˆì— ì‚¬ìš©ë 수 있는"
"ë°, 여기서 서브질ì˜ë“¤ ê·¸ ìžì‹ ë“¤ì€ ì¡°ì¸ë“¤ì„ í¬í•¨í• 수 있다."
#. Tag: para
#, no-c-format
msgid "The where-clause is also optional."
msgstr "where-ì ˆ ë˜í•œ 옵션ì´ë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"As an example, to execute an HQL <literal>UPDATE, use the "
"<literal>Query.executeUpdate() method. The method is named for "
"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()를 실행하기 위해, "
"<literal>Query.executeUpdate() 메소드를 사용하ë¼. ê·¸ 메소드는 JDBC"
"ì˜ <literal>PreparedStatement.executeUpdate()와 ìœ ì‚¬í•˜ê²Œ 명명ëœë‹¤:"
#. Tag: para
#, no-c-format
msgid ""
"In keeping with the EJB3 specification, HQL <literal>UPDATE "
"statements, by default, do not effect the <link linkend=\"mapping-"
"declaration-version\">version</link> or the property values for the affected "
"entities. However, you can force Hibernate to reset the <literal>versiontimestamp property values through the use of "
"a <literal>versioned update. This is achieved by adding the "
"<literal>VERSIONED keyword after the UPDATE "
"keyword."
msgstr ""
"ì´ê²ƒì€ EJB3 명세서ì—ì„œ ìœ ì§€ë˜ê³ 있듯ì´, HQL <literal>UPDATE 문장들"
"ì€ ë””í´íŠ¸ë¡œ ì˜í–¥ë°›ëŠ” ì—”í‹°í‹°ë“¤ì— ëŒ€í•œ <xref linkend=\"mapping-declaration-"
"version\">version</xref> ë˜ëŠ” 프로í¼í‹° ê°’ë“¤ì— ì˜í–¥ì„ 주지 않는다. 하지만 ë‹¹ì‹ ì€ í•˜ì´ë²„"
"네ì´íŠ¸ë¡œ 하여금 <literal>versioned updateì˜ ì‚¬ìš©ì„ í†µí•´ "
"<literal>version ë˜ëŠ” timestamp 프로í¼í‹° ê°’ë“¤ì„ "
"ì ì ˆí•˜ê²Œ ìž¬ì„¤ì •í•˜ë„ë¡ ê°•ì œì‹œí‚¬ 수 있다. ì´ê²ƒì€ <literal>UPDATE 키워"
"ë“œ ë’¤ì— <literal>VERSIONED 키워드를 ì¶”ê°€ì‹œí‚´ìœ¼ë¡œì¨ ë‹¬ì„±ëœë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"Custom version types, <literal>org.hibernate.usertype.UserVersionTypeupdate versionedupdate versionedê³¼ 문장과 함께 사용하는 ê²ƒì´ í—ˆ"
"ìš©ë˜ì§€ 않는다."
#. Tag: para
#, no-c-format
msgid ""
"To execute an HQL <literal>DELETE, use the same Query."
"executeUpdate()</literal> method:"
msgstr ""
"HQL <literal>DELETE 를 ì‹¤í–‰í•˜ë ¤ë©´, ê°™ì€ ë©”ì†Œë“œ Query."
"executeUpdate()</literal>를 사용하ë¼:"
#. Tag: para
#, no-c-format
msgid ""
"The <literal>int value returned by the Query.executeUpdate"
"()</literal> method indicates the number of entities effected by the "
"operation. This may or may not correlate to the number of rows effected in "
"the database. An HQL bulk operation might result in multiple actual SQL "
"statements being executed (for joined-subclass, for example). The returned "
"number indicates the number of actual entities affected by the statement. "
"Going back to the example of joined-subclass, a delete against one of the "
"subclasses may actually result in deletes against not just the table to "
"which that subclass is mapped, but also the \"root\" table and potentially "
"joined-subclass tables further down the inheritance hierarchy."
msgstr ""
"<literal>Query.executeUpdate() ë©”ì†Œë“œì— ì˜í•´ 반환ë˜ëŠ” "
"<literal>int ê°’ì€ ê·¸ 오í¼ë ˆì´ì…˜ì— ì˜í•´ ì˜í–¥ë°›ì€ ì—”í‹°í‹°ë“¤ì˜ ê°œìˆ˜ë¥¼ "
"나타낸다. ì´ê²ƒì´ ë°ì´í„°ë² ì´ìŠ¤ ë‚´ì—ì„œ ì˜í–¥ë°›ì€ í–‰ë“¤ì˜ ê°œìˆ˜ì™€ ìƒê´€ì´ ìžˆì„ ìˆ˜ë„ "
"ì—†ì„ ìˆ˜ë„ ìžˆë‹¤. HQL 대량 오í¼ë ˆì´ì…˜ì€ (예를 들어 joined-subclassì— ëŒ€í•´) 실"
"í–‰ ì¤‘ì¸ ì—¬ëŸ¬ ê°œì˜ ì‹¤ì œ SQL 문장들로 귀결ë 수 있다. 반환ë˜ëŠ” 숫ìžëŠ” ê·¸ 문장"
"ì— ì˜í•´ ì˜í–¥ë°›ì€ ì‹¤ì œ ì—”í‹°í‹°ë“¤ì˜ ê°œìˆ˜ë¥¼ 나타낸다. joined-subclass ì˜ˆì œë¡œ ë˜ëŒ"
"아가면, 서브í´ëž˜ìŠ¤ë“¤ 중 í•˜ë‚˜ì— ëŒ€í•œ ì‚ì œëŠ” 단지 ê·¸ 서브í´ëž˜ìŠ¤ê°€ 매핑ë˜ì–´ 있"
"는 í…Œì´ë¸”ì— ëŒ€í•œ ì‚ì œë¡œ 귀결ë ë¿ë§Œ ì•„ë‹ˆë¼ ë˜í•œ \"루트\" í…Œì´ë¸”ê³¼ ìƒì† 계층ì—"
"ì„œ ë” ë‚´ë ¤ì˜¨ ìž ì •ì 으로 ì¡°ì¸ëœ-서브í´ëž˜ìŠ¤ í…Œì´ë¸”ë“¤ì— ëŒ€í•œ ì‚ì œë“¤ë¡œ 귀결ë 수 "
"있다."
#. Tag: para
#, no-c-format
msgid ""
"The pseudo-syntax for <literal>INSERT statements is: "
"<literal>INSERT INTO EntityName properties_list select_statement. "
"Some points to note:"
msgstr ""
"ìž¥ëž˜ì˜ ë°°í¬ë³¸ë“¤ì—ì„œ ì „ë‹¬ë 대량 HQL 오í¼ë ˆì´ì…˜ë“¤ì— 대한 몇 가지 ì œí•œë“¤ì´ í˜„"
"재 ì¡´ìž¬í•¨ì„ ë…¸íŠ¸í•˜ë¼; ìƒì„¸í•œ ê²ƒì€ JIRA ë¡œë“œë§µì„ ì°¸ì¡°í•˜ë¼. <literal>INSERTINSERT INTO "
"EntityName properties_list select_statement</literal>. ë…¸íŠ¸í• ëª‡ 가지:"
#. Tag: para
#, 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 ... 형ì‹ì€ 지ì›ë˜ì§€ 않는다."
#. Tag: para
#, no-c-format
msgid ""
"The properties_list is analogous to the <literal>column specificationINSERT statement. For entities "
"involved in mapped inheritance, only properties directly defined on that "
"given class-level can be used in the properties_list. Superclass properties "
"are not allowed and subclass properties do not make sense. In other words, "
"<literal>INSERT statements are inherently non-polymorphic."
msgstr ""
"properties_list는 SQL <literal>INSERT 문장ì—ì„œ 컬럼 명세 ë¬¸ìž¥ë“¤ì€ ë³¸ëž˜ì 으로 다형ì ì´ì§€ 않다(non-"
"polymorphic)."
#. Tag: para
#, no-c-format
msgid ""
"select_statement can be any valid HQL select query, with the caveat that the "
"return types must match the types expected by the insert. Currently, this is "
"checked during query compilation rather than allowing the check to relegate "
"to the database. This might, however, cause problems between Hibernate "
"<literal>Type s which are equivalent as "
"opposed to <emphasis>equal. This might cause issues with "
"mismatches between a property defined as a <literal>org.hibernate.type."
"DateType</literal> and a property defined as a org.hibernate.type."
"TimestampType</literal>, even though the database might not make a "
"distinction or might be able to handle the conversion."
msgstr ""
"반환 íƒ€ìž…ë“¤ì´ insertì— ì˜í•´ 기대ë˜ëŠ” 타입들과 ì¼ì¹˜í•´ì•¼ 한다는 단서 하ì—, "
"select_statement는 ìž„ì˜ì˜ ìœ íš¨í•œ HQL select 질ì˜ì¼ 수 있다. 현재 ì´ê²ƒì€ ë°ì´"
"í„°ë² ì´ìŠ¤ë¡œ 강등시킬 ì²´í¬ë¥¼ 허용하기 보다는 ì§ˆì˜ ì»´íŒŒì¼ ë™ì•ˆì— ì²´í¬ëœë‹¤. 하지"
"만 ì´ê²ƒì€ <emphasis>equal과는 대조ì 으로 등가ì¸"
"(equivalent)</emphasis> Hibernate Type 들 사ì´ì— ë¬¸ì œì 들"
"ì„ ì¼ìœ¼í‚¬ ìˆ˜ë„ ìžˆë‹¤. ë¹„ë¡ ë°ì´í„°ë² ì´ìŠ¤ê°€ êµ¬ë³„í• ìˆ˜ 없거나 ë³€í™˜ì„ ì²˜ë¦¬í• ìˆ˜ 있"
"ì„ ì§€ë¼ë„, ì´ê²ƒì€ <literal>org.hibernate.type.DateType ë¡œ ì •ì˜ëœ 프"
"ë¡œí¼í‹°ì™€ <literal>org.hibernate.type.TimestampType으로 ì •ì˜ëœ 프로"
"í¼í‹° 사ì´ì— 불ì¼ì¹˜ ìŸì ë“¤ì„ ìœ ë°œì‹œí‚¬ ìˆ˜ë„ ìžˆë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"For the id property, the insert statement gives you two options. You can "
"either explicitly specify the id property in the properties_list, in which "
"case its value is taken from the corresponding select expression, or omit it "
"from the properties_list, in which case a generated value is used. This "
"latter option is only available when using id generators that operate in the "
"database; attempting to use this option with any \"in memory\" type "
"generators will cause an exception during parsing. For the purposes of this "
"discussion, in-database generators are considered to be <literal>org."
"hibernate.id.SequenceGenerator</literal> (and its subclasses) and any "
"implementers of <literal>org.hibernate.id.PostInsertIdentifierGeneratororg.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 ì—°ì‚°ìžë“¤ì„ ì‚¬ìš©í• ë•Œì—만 ì´ìš© 가능하다; ìž„ì˜ì˜ \"ë©”"
"모리 ë‚´\" 타입 ìƒì„±ê¸°ë“¤ë¡œì„œ ì´ ì˜µì…˜ì„ ì‚¬ìš©í•˜ê³ ìž ì‹œë„하는 ê²ƒì€ íŒŒì‹± ë™ì•ˆì— 예"
"외ìƒí™©ì„ ì¼ìœ¼í‚¬ 것ì´ë‹¤. ì´ ë…¼ì˜ì˜ 목ì ìƒ, ë°ì´í„°ë² ì´ìŠ¤ ë‚´ ìƒì„±ê¸°ë“¤ì€ "
"<literal>org.hibernate.id.SequenceGenerator (ê·¸ë¦¬ê³ ê·¸ê²ƒì˜ ì„œë¸Œí´ëž˜"
"스들) ê·¸ë¦¬ê³ ìž„ì˜ì˜ <literal>org.hibernate.id.PostInsertIdentifierGeneratorì¸ë°, ê·¸ê²ƒì´ ê·¸ê²ƒì˜ ê°’"
"ë“¤ì„ ì–»ê¸° 위한 select 가능한 ë°©ë²•ì„ ë…¸ì¶œì‹œí‚¤ì§€ 않기 ë•Œë¬¸ì— ì‚¬ìš©ë 수 없다."
#. Tag: para
#, no-c-format
msgid ""
"For properties mapped as either <literal>version or "
"<literal>timestamp, 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 "
"defined by the <literal>org.hibernate.type.VersionType is used."
msgstr ""
"<literal>version ë˜ëŠ” timestamp ë¡œ ë§¤í•‘ëœ í”„ë¡œí¼"
"í‹°ë“¤ì˜ ê²½ìš°ì—, insert ë¬¸ìž¥ì€ ë‹¹ì‹ ì—게 ë‘ ê°œì˜ ì˜µì…˜ë“¤ì„ ì¤€ë‹¤. ë‹¹ì‹ ì€ "
"properties_list ë‚´ì— ê·¸ 프로í¼í‹°ë¥¼ ì§€ì •í• ìˆ˜ ìžˆëŠ”ë° ê·¸ 경우 ê·¸ê²ƒì˜ ê°’ì´ ëŒ€ì‘"
"하는 select 표현ì‹ìœ¼ë¡œë¶€í„° 얻어진다. ë˜ëŠ” ë‹¹ì‹ ì€ properties_listì—ì„œ ê·¸ê²ƒì„ "
"ìƒëžµí• 수 ìžˆëŠ”ë° ê·¸ ê²½ìš°ì— <literal>org.hibernate.type.VersionType"
"ì— ì˜í•´ ì •ì˜ëœ <literal>seed value ê°’ì´ ì‚¬ìš©ëœë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"The following is an example of an HQL <literal>INSERT statement "
"execution:"
msgstr "다ìŒì€ HQL <literal>INSERT 문장 실행 ì˜ˆì œì´ë‹¤:"
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "for ( int i=0; i<100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ "}\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "<![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();]]>"
#~ msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
#~ msgstr "<![CDATA[hibernate.jdbc.batch_size 20]]>"
#~ msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
#~ msgstr "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "for ( int i=0; i<100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ " if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
#~ " //flush a batch of inserts and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "<![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();]]>"
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .setCacheMode(CacheMode.IGNORE)\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "int count=0;\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " if ( ++count % 20 == 0 ) {\n"
#~ " //flush a batch of updates and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "<![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();]]>"
#~ msgid ""
#~ "<![CDATA[StatelessSession session = sessionFactory.openStatelessSession"
#~ "();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " session.update(customer);\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "<![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();]]>"
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlUpdate = \"update Customer c set c.name = :newName where c.name "
#~ "= :oldName\";\n"
#~ "// or String hqlUpdate = \"update Customer set name = :newName where name "
#~ "= :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "<![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();]]>"
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "String hqlVersionedUpdate = \"update versioned Customer set name = :"
#~ "newName where name = :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "<![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();]]>"
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
#~ "// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
#~ "int deletedEntities = s.createQuery( hqlDelete )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "<![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();]]>"
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlInsert = \"insert into DelinquentAccount (id, name) select c."
#~ "id, c.name from Customer c where ...\";\n"
#~ "int createdEntities = s.createQuery( hqlInsert )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "<![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();]]>"
Other Hibernate examples (source code examples)
Here is a short list of links related to this Hibernate batch.po source code file: