|
Hibernate example source code file (session_api.po)
This example Hibernate source code file (session_api.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 session_api.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:22\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 "Working with objects"
msgstr "ê°ì²´ë“¤ë¡œ 작업하기"
#. Tag: para
#, fuzzy, 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 of objects. This is, "
"contrary to the management of SQL <literal>statements in common "
"JDBC/SQL persistence layers, a natural object-oriented view of persistence "
"in Java applications."
msgstr ""
"Hibernate는 기본 ë°ì´í„°ë² ì´ìŠ¤ 관리 ì‹œìŠ¤í…œì˜ ìƒì„¸ë¡œë¶€í„° 개발ìžë“¤ì„ ì€í시켜줄 "
"ë¿ë§Œ 아니ë¼, ë˜í•œ ê°ì²´ë“¤ì— 대한 <emphasis>ìƒíƒœ 관리를 ì œê³µí•˜ëŠ” 하"
"ë‚˜ì˜ ì™„ì „í•œ ê°ì²´/관계형 매핑 솔루션ì´ë‹¤. ì´ê²ƒì€ 공통ì ì¸ JDBC/SQL ì˜ì† 계층"
"들 ë‚´ì—ì„œì˜ SQL <literal>ë¬¸ìž¥ë“¤ì— ëŒ€í•œ 관리와는 반대로, ìžë°” 어플리"
"ì¼€ì´ì…˜ë“¤ì—ì„œ ì˜ì†ì— 관한 매우 ê³ ìœ í•œ ê°ì²´-지향ì ê´€ì ì´ë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"In other words, Hibernate application developers should always think about "
"the <emphasis>state 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>ìƒíƒœ - an object is transient if it has just been "
"instantiated using the <literal>new operator, and it is not "
"associated with a Hibernate <literal>Session. 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 does not hold a reference anymore. Use the Hibernate "
"<literal>Session 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 - ë§Œì¼ ê°ì²´ê°€ new ì—°ì‚°ìžë¥¼ "
"사용하여 방금 초기화 ë˜ì—ˆë‹¤ë©´ ê°ì²´ëŠ” transientì´ê³ , ê·¸ê²ƒì€ Hibernate "
"<literal>Sessionê³¼ ì—°ê´€ë˜ì–´ 있지 않다. ê·¸ê²ƒì€ ë°ì´í„°ë² ì´ìŠ¤ ë‚´ì—ì„œ "
"ì˜ì† í‘œìƒì„ 갖지 ì•Šê³ ì‹ë³„ìž ê°’ì´ í• ë‹¹ë˜ì§€ 않았다. ë§Œì¼ ì–´í”Œë¦¬ì¼€ì´ì…˜ì´ ë” ì´"
"ìƒ ì°¸ì¡°ë¥¼ ì†Œìœ í•˜ì§€ ì•Šì„ ê²½ìš° transient ì¸ìŠ¤í„´ìŠ¤ë“¤ì€ ì“°ë ˆê¸° ìˆ˜ì§‘ê¸°ì— ì˜í•´ 파괴"
"ë 것ì´ë‹¤. ê°ì²´ë¥¼ ì˜ì†í™” ì‹œí‚¤ëŠ”ë° (ê·¸ë¦¬ê³ ì´ ì „ì´(transition)ì— ëŒ€í•´ 실행ë "
"필요가 있는 SQL ë¬¸ìž¥ë“¤ì„ Hibernateë¡œ 하여금 처리하ë„ë¡ í•˜ëŠ”ë°) Hibernate "
"<literal>Sessionì„ ì‚¬ìš©í•˜ë¼."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<emphasis>Persistent - 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 "
"statements, or <literal>DELETE statements when an object should be "
"made transient."
msgstr ""
"<emphasis>Persistent - í•˜ë‚˜ì˜ ì˜ì† ì¸ìŠ¤í„´ìŠ¤ëŠ” ë°ì´í„°ë² ì´ìŠ¤ ë‚´ì—ì„œ "
"í•˜ë‚˜ì˜ í‘œìƒì„ ê°–ê³ í•˜ë‚˜ì˜ ì‹ë³„ìž ê°’ì„ ê°–ëŠ”ë‹¤. ê·¸ê²ƒì€ ë°©ê¸ˆ ì €ìž¥ë˜ì—ˆê±°ë‚˜ 로드ë˜"
"ì—ˆì„ ìˆ˜ 있지만, ì •ì˜ìƒ ê·¸ê²ƒì€ <literal>Sessionì˜ ë²”ìœ„ ë‚´ì— ìžˆë‹¤. "
"Hibernate는 ì˜ì† ìƒíƒœì—ì„œ ê°ì²´ì— 대해 행해진 ìž„ì˜ì˜ ë³€ê²½ë“¤ì„ ê²€ì¶œí•´ë‚¼ 것ì´ê³ "
"단위 ìž‘ì—…ì´ ì™„ë£Œë ë•Œ ê·¸ ìƒíƒœë¥¼ ë°ì´í„°ë² ì´ìŠ¤ì™€ ë™ê¸°í™” 시킬 것ì´ë‹¤. 개발ìžë“¤"
"ì€ í•˜ë‚˜ì˜ ê°ì²´ê°€ transientë¡œ ë˜ì–´ì•¼ í• ë•Œ <literal>UPDATE 문장들ì´"
"나 <literal>DELETE ë¬¸ìž¥ë“¤ì„ ìˆ˜ìž‘ì—…ìœ¼ë¡œ 실행하지 않는다."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<emphasis>Detached - a detached instance is an object that has "
"been persistent, but its <literal>Session 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 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, i.e., a unit of work "
"from the point of view of the user."
msgstr ""
"<emphasis>Detached - í•˜ë‚˜ì˜ detached ì¸ìŠ¤í„´ìŠ¤ëŠ” ì˜ì†í™” ë˜ì—ˆì§€ë§Œ, "
"ê·¸ê²ƒì˜ <literal>Sessionì´ ë‹«í˜€ì§„ ê°ì²´ì´ë‹¤. ë¬¼ë¡ ê·¸ ê°ì²´ì— 대한 참조"
"는 ì—¬ì „ížˆ ìœ íš¨í•˜ê³ , ê·¸ detached ì¸ìŠ¤í„´ìŠ¤ëŠ” ì´ ìƒíƒœì—ì„œë„ ë³€ê²½ë ìˆ˜ë„ ìžˆë‹¤. 하"
"ë‚˜ì˜ detached ì¸ìŠ¤í„´ìŠ¤ëŠ” ë‚˜ì¤‘ì— ê·¸ê²ƒ(ê³¼ ëª¨ë‘ ë³€ê²½ë“¤)ì„ ë‹¤ì‹œ ì˜ì†í™” 시켜서 새"
"로운 <literal>Sessionì— ë‹¤ì‹œ 첨부ë 수 있다. ì´ íŠ¹ì§•ì€ ì‚¬ìš©ìžê°€ ìƒ"
"ê°í• ì‹œê°„ì„ í•„ìš”ë¡œ 하는 장 기간 실행ë˜ëŠ” ìž‘ì—… 단위를 위한 í”„ë¡œê·¸ëž˜ë° ëª¨í˜•ì„ "
"가능하게 해준다. 우리는 ê·¸ê²ƒë“¤ì„ <emphasis>어플리케ì´ì…˜ 트랜ìžì…˜ë“¤ by Hibernate. We can make a transient "
"instance <emphasis>persistent by associating it with a session:"
msgstr ""
"í•˜ë‚˜ì˜ ì˜ì† í´ëž˜ìŠ¤ì˜ ìƒˆë¡œì´ ì´ˆê¸°í™” ëœ ì¸ìŠ¤í„´ìŠ¤ë“¤ì€ Hibernateì— ì˜í•´ "
"<emphasis>transientë¡œ 간주ëœë‹¤. 우리는 ê·¸ê²ƒì„ ì„¸ì…˜ê³¼ 연관지어서 "
"transient ì¸ìŠ¤í„´ìŠ¤ë¥¼ <emphasis>ì˜ì†í™” 시킬 수 있다:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"If <literal>Cat has a generated identifier, the identifier is "
"generated and assigned to the <literal>cat when save()Cat has an assigned instance before calling save()persist() instead of "
"<literal>save(), with the semantics defined in the EJB3 early "
"draft."
msgstr ""
"ë§Œì¼ <literal>Catì´ ìƒì„±ëœ ì‹ë³„ìžë¥¼ 가질 경우, save()catì— í• ë‹¹ëœë‹¤. "
"ë§Œì¼ <literal>Catì´ í•˜ë‚˜ì˜ assigned ì‹ë³„ìžë‚˜ 하"
"ë‚˜ì˜ composite key를 가질 경우, <literal>save()를 호출하기 ì „ì— ê·¸ "
"ì‹ë³„ìžê°€<literal>cat ì¸ìŠ¤í„´ìŠ¤ì— í• ë‹¹ë 것ì´ë‹¤. ë‹¹ì‹ ì€ ë˜í•œ EJB3 ì´ˆ"
"기 드래프트ì—ì„œ ì •ì˜ëœ ì˜ë¯¸ë¡œ <literal>save() ëŒ€ì‹ persist"
"()</literal>를 ì‚¬ìš©í• ìˆ˜ë„ ìžˆë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<literal>persist() makes a transient instance persistent. However, "
"it does not guarantee that the identifier value will be assigned to the "
"persistent instance immediately, the assignment might happen at flush time. "
"<literal>persist() also guarantees that it will not execute an "
"<literal>INSERT 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() 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() also guarantees that it will not "
"execute an <literal>INSERT statement if it is called outside of "
"transaction boundaries. This is useful in long-running conversations with an "
"extended Session/persistence context."
#. Tag: para
#, no-c-format
msgid ""
"<literal>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."
msgstr ""
"<literal>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."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Alternatively, you can assign the identifier using an overloaded version of "
"<literal>save()."
msgstr ""
"다른 방법으로, ë‹¹ì‹ ì€ <literal>save()ì˜ ì˜¤ë²„ë¡œë“œëœ ë²„ì „ì„ ì‚¬ìš©í•˜ì—¬ "
"ì‹ë³„ìžë¥¼ í• ë‹¹í• ìˆ˜ 있다."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"If the object you make persistent has associated objects (e.g. the "
"<literal>kittens collection in the previous example), these "
"objects can be made persistent in any order you like unless you have a "
"<literal>NOT NULL constraint upon a foreign key column. There is "
"never a risk of violating foreign key constraints. However, you might "
"violate a <literal>NOT NULL constraint if you save() ì½œë ‰ì…˜)ì„ ê°–ê³ ìžˆë‹¤ë©´, ë‹¹ì‹ ì´ í•˜ë‚˜ì˜ foreign 키 컬"
"ëŸ¼ì— ëŒ€í•´ í•˜ë‚˜ì˜ <literal>NOT NULL ì»¨ìŠ¤íŠ¸ë ˆì¸íŠ¸ë¥¼ 갖지 않는 í•œ, ì´"
"들 ê°ì²´ë“¤ì€ ë‹¹ì‹ ì´ ì¢‹ì•„í•˜ëŠ” ìž„ì˜ì˜ 순서로 ì˜ì†í™” ë˜ì—ˆì„ ìˆ˜ë„ ìžˆë‹¤. foreign "
"키 ì»¨ìŠ¤íŠ¸ë ˆì¸íŠ¸ë“¤ì„ 위배하는 ìœ„í—˜ì„±ì´ ê²°ì½” 존재하지 않는다. 하지만 ë‹¹ì‹ ì´ ìž˜"
"ëª»ëœ ìˆœì„œë¡œ ê·¸ ê°ì²´ë“¤ì„ <literal>save() 시킬 경우 ë‹¹ì‹ ì€ "
"<literal>NOT NULL ì»¨ìŠ¤íŠ¸ë ˆì¸íŠ¸ë¥¼ ìœ„ë°°í• ìˆ˜ë„ ìžˆë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Usually you do not bother with this detail, as you will normally use "
"Hibernate's <emphasis>transitive persistence feature to save the "
"associated objects automatically. Then, even <literal>NOT NULL "
"constraint violations do not occur - Hibernate will take care of everything. "
"Transitive persistence is discussed later in this chapter."
msgstr ""
"ë‹¹ì‹ ì´ ì—°ê´€ëœ ê°ì²´ë“¤ì„ ìžë™ì 으로 ì €ìž¥ì‹œí‚¤ëŠ”ë° Hibernateì˜ "
"<emphasis>transitive persistence(ì „ì´ ì˜ì†) íŠ¹ì§•ì„ ì‚¬ìš©í•˜ëŠ” ê²ƒì„ "
"매우 ì¢‹ì•„í• ê²ƒì´ë¯€ë¡œ 대개 ë‹¹ì‹ ì€ ì´ ìƒì„¸ë¥¼ ë‚´ë²„ë ¤ë‘”ë‹¤. 그때 <literal>NOT "
"NULL</literal> ì»¨ìŠ¤íŠ¸ë ˆì¸íŠ¸ ìœ„ë°°ë“¤ì´ ë°œìƒë˜ì§€ ì•Šì„지ë¼ë„ - Hibernate는 ëª¨ë“ "
"ê²ƒì„ ì²˜ë¦¬í• ê²ƒì´ë‹¤. Transitive persistence(ì „ì´ ì˜ì†)ì€ ì´ ìž¥ì—ì„œ 후반부ì—ì„œ "
"ë…¼ì˜ëœë‹¤."
#. Tag: title
#, no-c-format
msgid "Loading an object"
msgstr "ê°ì²´ë¥¼ 로드시키기"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The <literal>load() methods of Session provide "
"a way of retrieving a persistent instance if you know its identifier. "
"<literal>load() takes a class object and loads the state into a "
"newly instantiated instance of that class in a persistent state."
msgstr ""
"<literal>Sessionì˜ load() ë©”ì†Œë“œë“¤ì€ ë§Œì¼ ë‹¹ì‹ "
"ì´ ê·¸ê²ƒ(ì˜ì† ì¸ìŠ¤í„´ìŠ¤)ì˜ ì‹ë³„ìžë“¤ì„ ì´ë¯¸ ì•Œê³ ìžˆì„ ê²½ìš°ì— ì˜ì† ì¸ìŠ¤í„´ìŠ¤ë¥¼ ê²€"
"색하는 ë°©ë²•ì„ ë‹¹ì‹ ì—게 ì œê³µí•œë‹¤. <literal>load()는 í•˜ë‚˜ì˜ í´ëž˜ìŠ¤ ê°"
"체를 ì·¨í•˜ê³ ê·¸ ìƒíƒœë¥¼ ì˜ì†(persistent) ìƒíƒœë¡œ ê·¸ í´ëž˜ìŠ¤ì˜ ìƒˆë¡œì´ ì´ˆê¸°í™” ëœ ì¸"
"스턴스 ì†ìœ¼ë¡œ 로드시킬 것ì´ë‹¤."
#. Tag: para
#, no-c-format
msgid "Alternatively, you can load state into a given instance:"
msgstr "다른 방법으로 ë‹¹ì‹ ì€ ì£¼ì–´ì§„ ì¸ìŠ¤í„´ìŠ¤ ì†ìœ¼ë¡œ ìƒíƒœë¥¼ 로드시킬 수 있다:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Be aware that <literal>load() will throw an unrecoverable "
"exception if there is no matching database row. If the class is mapped with "
"a proxy, <literal>load() just returns an uninitialized proxy and "
"does not actually hit the database until you invoke a method of the proxy. "
"This is 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 is defined for the "
"class mapping."
msgstr ""
"ë§Œì¼ ì¼ì¹˜í•˜ëŠ” ë°ì´í„°ë² ì´ìŠ¤ í–‰ì´ ì¡´ìž¬í•˜ì§€ ì•Šì„ ê²½ìš°ì— <literal>load()는 초기화 "
"ë˜ì§€ ì•Šì€ í”„ë½ì‹œë¥¼ 단지 ë°˜í™˜í•˜ê³ ë‹¹ì‹ ì´ ê·¸ 프ë½ì‹œì˜ 메소드를 호출하기 ì „ê¹Œì§€"
"는 ì‹¤ì œë¡œ ë°ì´í„°ë² ì´ìŠ¤ì— ì ‘ì†í•˜ì§€ 않는다. ë‹¹ì‹ ì´ ë°ì´í„°ë² ì´ìŠ¤ë¡œë¶€í„° ê°ì²´ì— 대"
"í•œ ì—°ê´€ì„ ì‹¤ì œë¡œ 로드시키지 ì•Šê³ ì„œ ê°ì²´ì— 대한 ì—°ê´€ì„ ìƒì„±ì‹œí‚¤ê³ ìž ì›í• 경우"
"ì— ì´ íŠ¹ì§•ì´ ë§¤ìš° ìœ ìš©í•˜ë‹¤. ë§Œì¼ <literal>batch-sizeê°€ class 매핑"
"ì— ì •ì˜ë˜ëŠ” 경우 ê·¸ê²ƒì€ ë˜í•œ 다중 ì¸ìŠ¤í„´ìŠ¤ë“¤ì´ í•˜ë‚˜ì˜ ë°°ì¹˜ë¡œì„œ 로드ë˜ëŠ” ê²ƒì„ "
"허용해준다."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"If you are not certain that a matching row exists, you should use the "
"<literal>get() method which hits the database immediately and "
"returns null if there is no matching row."
msgstr ""
"ë§Œì¼ ë‹¹ì‹ ì´ í•˜ë‚˜ì˜ ì¼ì¹˜í•˜ëŠ” í–‰ì´ ì¡´ìž¬í•˜ëŠ”ì§€ë¥¼ í™•ì‹ í• ìˆ˜ ì—†ì„ ê²½ìš°, ë‹¹ì‹ ì€ "
"<literal>get() 메소드를 사용해야 한다. 그것(get()LockMode. See the API documentation for "
"more information."
msgstr ""
"ë‹¹ì‹ ì€ í•˜ë‚˜ì˜ <literal>LockMode를 사용하는, SELECT ... "
"FOR UPDATE</literal>를 사용하여 í•˜ë‚˜ì˜ ê°ì²´ë¥¼ 로드시킬 ìˆ˜ë„ ìžˆë‹¤. 추가 ì •ë³´"
"는 API 문서를 ë³´ë¼."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Any associated instances or contained collections will <emphasis>notFOR UPDATE, unless you decide to "
"specify <literal>lock or all as a cascade style "
"for the association."
msgstr ""
"ì–´ë–¤ ì—°ê´€ëœ ì¸ìŠ¤í„´ìŠ¤ë“¤ì´ë‚˜ í¬í•¨ëœ ì½œë ‰ì…˜ë“¤ì€ ë‹¹ì‹ ì´ ê·¸ ì—°ê´€ì— ëŒ€í•œ 케스케ì´"
"ë“œ 스타ì¼ë¡œì„œ <literal>lock ë˜ëŠ” allì„ ì§€ì •í•˜ë„"
"ë¡ ê²°ì •í•˜ì§€ 않는 í•œ, <literal>FOR UPDATEë¡œ ì„ íƒë˜ì§€ ì•ŠìŒì„ 노트하"
"ë¼."
#. Tag: para
#, no-c-format
msgid ""
"It is possible to re-load an object and all its collections at any time, "
"using the <literal>refresh() method. This is useful when database "
"triggers are used to initialize some of the properties of the object."
msgstr ""
"<literal>refresh() 메소드를 사용하여, 아무때나 í•˜ë‚˜ì˜ ê°ì²´ì™€ ëª¨ë“ "
"ê·¸ê²ƒì˜ ì½œë ‰ì…˜ë“¤ì„ ë‹¤ì‹œ 로드시키는 ê²ƒì´ ê°€ëŠ¥í•˜ë‹¤. ë°ì´í„°ë² ì´ìŠ¤ íŠ¸ë¦¬ê±°ë“¤ì´ ê·¸ "
"ê°ì²´ì˜ 프로í¼í‹°ë“¤ 중 ì–´ë–¤ ê²ƒì„ ì´ˆê¸°í™” ì‹œí‚¤ëŠ”ë° ì‚¬ìš©ë ë•Œ ì´ê²ƒì´ ìœ ìš©í•˜ë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"How much does Hibernate load from the database and how many SQL "
"<literal>SELECTs will it use? This depends on the "
"<emphasis>fetching strategy. This is explained in ë“¤ì´ "
"ê·¸ê²ƒì„ ì‚¬ìš©í• ê²ƒì¸ê°€? ì´ê²ƒì€ <emphasis>íŽ˜ì¹ ë°©ë„ì— ì˜ì¡´í•˜ê³ ì—" 설명ë˜ì–´="" 있다."="" #.="" tag:="" title="" #,="" no-c-format="" msgid="" "querying"="" msgstr="" "질ì˜í•˜ê¸°"="" para="" fuzzy,="" ""="" "if="" you="" do="" not="" know="" the="" identifiers="" of="" objects="" are="" looking="" for,="" "need="" a="" query.="" hibernate="" supports="" an="" easy-to-use="" but="" powerful="" object="" oriented="" "query="" language="" (hql).="" for="" programmatic="" query="" creation,="" "sophisticated="" criteria="" and="" example="" feature="" (qbc="" qbe).="" can="" also="" "express="" your="" in="" native="" sql="" database,="" with="" optional="" support="" "from="" result="" set="" conversion="" into="" objects."="" "만ì¼="" ë‹¹ì‹ ì´="" ì°¾ê³ ="" 있는="" ê°ì²´ë“¤ì—="" 대한="" ì‹ë³„ìžë“¤ì„="" 모를="" 경우,="" ë‹¹ì‹ ì€="" 하나"="" "ì˜="" 질ì˜ë¥¼="" 필요로="" 한다.="" hibernate는="" 사용ì´="" 쉽지만="" ê°•ë ¥í•œ="" ê°ì²´="" 지향="" 질ì˜="" 언어"="" "(hql)를="" 지ì›í•œë‹¤.="" 프로그램="" ìƒì˜="" ìƒì„±ì„="" 위해,="" ì •êµí•œ="" "criteria="" ë°="" 특징(qbc와="" qbe)를="" ë˜í•œ="" ê°ì²´ë“¤ë¡œì˜="" "ê²°ê³¼="" ì…‹="" 변환ì„="" 위한="" ì„ íƒì ì¸="" hibernateì˜="" 지ì›ìœ¼ë¡œ,="" ë‹¹ì‹ ì˜="" ë°ì´í„°ë² ì´ìŠ¤ì˜="" "native="" ì†ì—="" í‘œí˜„í• ="" 수ë„="" "executing="" queries"="" "질ì˜ë“¤ì„="" 실행하기"="" "hql="" queries="" represented="" instance="" <literal>org."="" "hibernate.query<="" literal>.="" this="" interface="" offers="" methods="" parameter="" "binding,="" handling,="" execution="" actual="" "always="" obtain="" <literal>query<="" literal=""> using the current Sessionì˜ ì¸ìŠ¤í„´"
"스로 표현ëœë‹¤. ì´ ì¸í„°íŽ˜ì´ìŠ¤ëŠ” 파ë¼ë¯¸í„° ë°”ì¸ë”©, 결과셋 핸들ë§ì„ 위한, ê·¸ë¦¬ê³ "
"ì‹¤ì œ 질ì˜ì˜ ì‹¤í–‰ì„ ìœ„í•œ ë©”ì†Œë“œë“¤ì„ ì œê³µí•œë‹¤. ë‹¹ì‹ ì€ í•ìƒ 현재 "
"<literal>Sessionì„ ì‚¬ìš©í•˜ì—¬ í•˜ë‚˜ì˜ Query를 얻는"
"다:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"A query is usually executed by invoking <literal>list(). The "
"result of the query will be loaded completely into a collection in memory. "
"Entity instances retrieved by a query are in a persistent state. The "
"<literal>uniqueResult() method offers a shortcut if you know your "
"query will only return a single object. 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 through "
"a <literal>Set."
msgstr ""
"í•˜ë‚˜ì˜ ì§ˆì˜ëŠ” 대개 <literal>list()를 호출하여 실행ë˜ê³ , 질ì˜ì˜ ê²°ê³¼"
"는 메모리 ë‚´ì—ì„œ í•˜ë‚˜ì˜ ì½œë ‰ì…˜ ì†ìœ¼ë¡œ ì „ì²´ì 으로 로드ë 것ì´ë‹¤. í•˜ë‚˜ì˜ ì§ˆì˜"
"ì— ì˜í•´ ê²€ìƒ‰ëœ ì—”í‹°í‹° ì¸ìŠ¤í„´ìŠ¤ë“¤ì€ ì˜ì†(persistent) ìƒíƒœì— 있다. ë‹¹ì‹ ì˜ ì§ˆì˜"
"ê°€ í•˜ë‚˜ì˜ ê°ì²´ë¥¼ ì˜¤ì§ ë°˜í™˜í• ê²ƒìž„ì„ ë‹¹ì‹ ì´ ì•Œê³ ìžˆì„ ê²½ìš°ì— "
"<literal>uniqueResult() 메소드는 ë‹¨ì¶•ì„ ì œê³µí•œë‹¤. ì½œë ‰ì…˜ë“¤ì— ëŒ€í•´ "
"eager 페ì¹ì„ 사용하는 질ì˜ë“¤ì€ 대개 (ê·¸ê²ƒë“¤ì˜ ì´ˆê¸°í™”ëœ ì½œë ‰ì…˜ë“¤ì„ ê°€ì§„) 루트 "
"ê°ì²´ë“¤ì— 대한 ì¤‘ë³µë“¤ì„ ëŒ€ê°œ 반환한다. ë‹¹ì‹ ì€ <literal>Setì„ í†µí•´ ì´"
"들 ì¤‘ë³µë“¤ì„ ê°„ë‹¨í•˜ê²Œ í•„í„°ë§í• 수 있다."
#. Tag: title
#, no-c-format
msgid "Iterating results"
msgstr "ê²°ê³¼ë“¤ì„ ë°˜ë³µí•˜ê¸°"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Occasionally, you might be able to achieve better performance by executing "
"the query using the <literal>iterate() method. This will 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() will be slower than "
"<literal>list() and might require many database hits for a simple "
"query, usually <emphasis>1 for the initial select which only "
"returns identifiers, and <emphasis>n additional selects to "
"initialize the actual instances."
msgstr ""
"종종, ë‹¹ì‹ ì€ <literal>iterate() 메소드를 사용하여 질ì˜ë¥¼ 실행함으로"
"ì¨ ë” ë‚˜ì€ í¼í¬ë¨¼ìŠ¤ë¥¼ 성취하는 ê²ƒì´ ê°€ëŠ¥í• ìˆ˜ 있다. ì´ê²ƒì€ ì˜¤ì§ ëŒ€ê°œ 질ì˜ì— "
"ì˜í•´ 반환ë˜ëŠ” ì‹¤ì œ 엔티티 ì¸ìŠ¤í„´ìŠ¤ë“¤ì´ ì´ë¯¸ 세션 ë‚´ì— ìžˆê±°ë‚˜ second-level ìº"
"ì‹œ ë‚´ì— ìžˆì„ ê²ƒìž„ì„ ë‹¹ì‹ ì´ ì˜ˆìƒí•˜ëŠ” ê²½ìš°ì¼ ê²ƒì´ë‹¤. ë§Œì¼ ê·¸ê²ƒë“¤ì´ ì´ë¯¸ ìºì‹œë˜"
"지 않았다면, <literal>iterate()는 list() 보다 "
"ë” ëŠë¦´ 것ì´ê³ 간단한 질ì˜ì— 대해 ë§Žì€ ë°ì´í„°ë² ì´ìŠ¤ ì ‘ì†ë“¤ì„, 대개 ì˜¤ì§ ì‹ë³„"
"ìžë“¤ì„ 반환하는 초기 selectì— ëŒ€í•´ <emphasis>1ë²ˆì˜ ì ‘ì†ê³¼ ì‹¤ì œ ì¸"
"ìŠ¤í„´ìŠ¤ë“¤ì„ ì´ˆê¸°í™” 시키는 추가ì ì¸ selectë“¤ì— ëŒ€í•´ <emphasis>n 번"
"ì˜ ì ‘ì†ì„ 필요로 í• ìˆ˜ 있다."
#. Tag: title
#, no-c-format
msgid "Queries that return tuples"
msgstr "íŠœí”Œë“¤ì„ ë°˜í™˜í•˜ëŠ” 질ì˜ë“¤"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate queries sometimes return tuples of objects. Each tuple is returned "
"as an array:"
msgstr ""
"Hibernate 질ì˜ë“¤ì€ 때때로 ê°ì²´ë“¤ì˜ íŠœí”Œë“¤ì„ ë°˜í™˜í•˜ê³ , ê·¸ ê²½ìš°ì— ê°ê°ì˜ 튜플"
"ì€ ë°°ì—´ë¡œì„œ 반환ëœë‹¤:"
#. Tag: title
#, no-c-format
msgid "Scalar results"
msgstr "ìŠ¤ì¹¼ë¼ ê²°ê³¼ë“¤"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Queries can specify a property of a class in the <literal>select "
"clause. They can even call SQL aggregate functions. Properties or aggregates "
"are considered \"scalar\" results and not entities in persistent state."
msgstr ""
"질ì˜ë“¤ì€ <literal>select ì ˆ ë‚´ì— í•˜ë‚˜ì˜ í´ëž˜ìŠ¤ì— 대한 í•˜ë‚˜ì˜ í”„ë¡œí¼"
"티를 ì§€ì •í• ìˆ˜ 있다. ê·¸ê²ƒë“¤ì€ ì‹¬ì§€ì–´ SQL 집계 í•¨ìˆ˜ë“¤ì„ í˜¸ì¶œí• ìˆ˜ë„ ìžˆë‹¤. 프로"
"í¼í‹°ë“¤ì´ë‚˜ aggregateë“¤ì€ \"스칼ë¼\" 결과들(ê·¸ë¦¬ê³ ì˜ì† ìƒíƒœì— 있는 엔티티들"
"ì´ ì•„ë‹Œ 것으)ë¡œ 간주ëœë‹¤."
#. Tag: title
#, no-c-format
msgid "Bind parameters"
msgstr "ë°”ì¸ë“œ 프ë¼ë¯¸í„°ë“¤"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Methods on <literal>Query are provided for binding values to named "
"parameters or JDBC-style <literal>? parameters. Contrary "
"to JDBC, Hibernate numbers parameters from zero.</emphasis> Named parameters "
"are identifiers of the form <literal>:name in the query string. "
"The advantages of named parameters are as follows:"
msgstr ""
"<literal>Query ìƒì˜ ë©”ì†Œë“œë“¤ì€ ëª…ëª…ëœ íŒŒë¼ë¯¸í„°ë“¤ ë˜ëŠ” JDBC-스타ì¼"
"ì˜ <literal>? 파ë¼ë¯¸í„°ë“¤ì— ë°”ì¸ë”© ê°’ë“¤ì„ ì œê³µí•œë‹¤. JDBC와"
"는 대조ì 으로, Hibernate ìˆ«ìž íŒŒë¼ë¯¸í„°ë“¤ì€ 0ì—ì„œ 시작ëœë‹¤.</emphasis> ëª…ëª…ëœ "
"파ë¼ë¯¸í„°ë“¤ì€ ì§ˆì˜ ë¬¸ìžì—´ ì†ì—ì„œ <literal>:name 형ì‹ì˜ ì‹ë³„ìžë“¤ì´"
"다. ëª…ëª…ëœ íŒŒë¼ë¯¸í„°ë“¤ì˜ 장ì ë“¤ì€ ë‹¤ìŒê³¼ 같다:"
#. Tag: para
#, no-c-format
msgid ""
"named parameters are insensitive to the order they occur in the query string"
msgstr "ëª…ëª…ëœ íŒŒë¼ë¯¸í„°ë“¤ì€ ê·¸ê²ƒë“¤ì´ ì§ˆì˜ ë¬¸ìžì—´ ë‚´ì— ë°œìƒí•˜ëŠ” ìˆœì„œì— ê´€ê³„ì—†ë‹¤"
#. Tag: para
#, fuzzy, no-c-format
msgid "they can occur multiple times in the same query"
msgstr "ê·¸ê²ƒë“¤ì€ ë™ì¼í•œ ì§ˆì˜ ë‚´ì—ì„œ 여러 번 ë°œìƒí• 수 있다"
#. Tag: para
#, no-c-format
msgid "they are self-documenting"
msgstr "ê·¸ê²ƒì€ ìžê¸°-설명ì ì´ë‹¤"
#. Tag: title
#, no-c-format
msgid "Pagination"
msgstr "쪽매김"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"If you need to specify bounds upon your result set, that is, the maximum "
"number of rows you want to retrieve and/or the first row you want to "
"retrieve, you can use methods of the <literal>Query interface:"
msgstr ""
"ë§Œì¼ ë‹¹ì‹ ì´ ë‹¹ì‹ ì˜ ê²°ê³¼ ì…‹ì— ê²½ê³„(ë‹¹ì‹ ì´ ê²€ìƒ‰í•˜ê³ ìž ì›í•˜ëŠ” 최대 개수 ê·¸ë¦¬ê³ /"
"ë˜ëŠ” ë‹¹ì‹ ì´ ê²€ìƒ‰í•˜ê³ ìž ì›í•˜ëŠ” 첫 번째 í–‰)ì„ ì§€ì •í• í•„ìš”ê°€ 있다면 ë‹¹ì‹ ì€ "
"<literal>Query ì¸í„°íŽ˜ì´ìŠ¤ì˜ ë©”ì†Œë“œë“¤ì„ ì‚¬ìš©í•´ì•¼ 한다:"
#. Tag: para
#, no-c-format
msgid ""
"Hibernate knows how to translate this limit query into the native SQL of "
"your DBMS."
msgstr ""
"Hibernate는 ì´ limit 질ì˜ë¥¼ ë‹¹ì‹ ì˜ DBMSì˜ native SQLë¡œ 번ì—하는 ë°©ë²•ì„ ì•Œê³ "
"있다."
#. Tag: title
#, no-c-format
msgid "Scrollable iteration"
msgstr "스í¬ë¡¤ 가능한 iteration"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"If your JDBC driver supports scrollable <literal>ResultSets, the "
"<literal>Query interface can be used to obtain a "
"<literal>ScrollableResults object that allows flexible navigation "
"of the query results."
msgstr ""
"ë‹¹ì‹ ì˜ JDBC ë“œë¼ì´ë²„ê°€ 스í¬ë¡¤ 가능한 <literal>ResultSetë“¤ì„ ì§€ì›í• "
"경우, <literal>Query ì¸í„°íŽ˜ì´ìŠ¤ëŠ” ScrollableResults/setFirstResult"
"()</literal> if you need offline pagination functionality."
msgstr ""
"ì—´ë ¤ì§„ ë°ì´í„°ë² ì´ìŠ¤ 커넥션(ê³¼ 커서)ê°€ ì´ ê¸°ëŠ¥ì— í•„ìš”í•¨ì„ ë…¸íŠ¸í•˜ê³ , ë§Œì¼ ë‹¹ì‹ "
"ì´ ìª½ë§¤ê¹€ ê¸°ëŠ¥ì„ ìž‘ë™ì‹œí‚¬ 필요가 있다면 <literal>setMaxResult()/"
"<literal>setFirstResult()를 사용하ë¼."
#. Tag: title
#, no-c-format
msgid "Externalizing named queries"
msgstr "ëª…ëª…ëœ ì§ˆì˜ë“¤ì„ 구체화 시키기"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"You can also define named queries in the mapping document. Remember to use a "
"<literal>CDATA section if your query contains characters that "
"could be interpreted as markup."
msgstr ""
"ë‹¹ì‹ ì€ ë˜í•œ 매핑 문서 ì†ì— ëª…ëª…ëœ ì§ˆì˜ë“¤ì„ ì •ì˜í• 수 있다.(ë§Œì¼ ë‹¹ì‹ ì˜ ì§ˆì˜"
"ê°€ 마í¬ì—…으로서 í•´ì„ë 수 있는 문ìžë“¤ì„ í¬í•¨í• ê²½ìš°ì— <literal>CDATA element "
"is made unique automatically by prepending the fully qualified name of the "
"class. For example <literal>eg.Cat.ByNameAndMaximumWeight."
msgstr ""
"ë˜í•œ <literal><hibernate-mapping> 요소 ë‚´ì—ì„œ í•˜ë‚˜ì˜ ì§ˆì˜ ì„ "
"ì–¸ì€ ê·¸ 질ì˜ì— 대한 ì „ì— ìœ ì¼ ì´ë¦„ì„ í•„ìš”ë¡œ í•˜ê³ , ë°˜ë©´ì— <literal><"
"class></literal> 요소 ë‚´ì—ì„œì˜ ì§ˆì˜ ì„ ì–¸ì€ í´ëž˜ìŠ¤ ì´ë¦„으로 수ì§ëœì´ë¦„ì„ ì²¨"
"가하여 ìžë™ì 으로 ìœ ì¼í•˜ê²Œ 만들어진다. 예를 들어 <literal>eg.Cat."
"ByNameAndMaximumWeight</literal>."
#. Tag: title
#, no-c-format
msgid "Filtering collections"
msgstr "ì½œë ‰ì…˜ë“¤ì„ í•„í„°ë§ í•˜ê¸°"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"A collection <emphasis>filter is a special type of query that can "
"be applied to a persistent collection or array. The query string can refer "
"to <literal>this, meaning the current collection element."
msgstr ""
"ì½œë ‰ì…˜ <emphasis>필터는 ì˜ì† ì½œë ‰ì…˜ ë˜ëŠ” ë°°ì—´ì— ì ìš©ë 수 있는 질"
"ì˜ì˜ 특별한 타입ì´ë‹¤. ì§ˆì˜ ë¬¸ìžì—´ì€ í˜„ìž¬ì˜ ì½œë ‰ì…˜ 요소를 ì˜ë¯¸í•˜ëŠ” "
"<literal>this를 ì°¸ì¡°í• ìˆ˜ 있다."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The returned collection is considered a bag that is 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\"ì˜ ì˜ë¯¸ì™€ëŠ” ì •ë°˜ëŒ€"
"ì´ì§€ë§Œ, 예ìƒë˜ëŠ” 행위와 ì¼ì¹˜ëœë‹¤)."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Observe that filters do not require a <literal>from clause, "
"although they can have one if required. Filters are not limited to returning "
"the collection elements themselves."
msgstr ""
"í•„í„°ë“¤ì€ <literal>from ì ˆì„ í•„ìš”ë¡œ 하지 ì•ŠìŒì„ 관찰하ë¼(í•„ìš”í• ê²½ìš°"
"ì— í•„í„°ë“¤ì´ í•œ ê°œì˜ from ì ˆì„ ê°€ì§ˆ 수 있ì„지ë¼ë„). í•„í„°ë“¤ì€ ì½œë ‰ì…˜ 요소들 ìž"
"ì²´ë“¤ì„ ë°˜í™˜í•˜ëŠ” 것으로 í•œì •ë˜ì§€ 않는다."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Even an empty filter query is useful, e.g. to load a subset of elements in a "
"large collection:"
msgstr ""
"심지어 í•˜ë‚˜ì˜ ê³µë°±ì˜ í•„í„° 질ì˜ë„ 예를 들어 거대한 ì½œë ‰ì…˜ ë‚´ì— ìžˆëŠ” ìš”ì†Œë“¤ì˜ "
"ë¶€ë¶„ì§‘í•©ë“¤ì„ ë¡œë“œì‹œí‚¤ëŠ”ë° ìœ ìš©í•˜ë‹¤:"
#. Tag: title
#, no-c-format
msgid "Criteria queries"
msgstr "Criteria 질ì˜ë“¤"
#. Tag: para
#, fuzzy, no-c-format
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 query "
"API for these cases:"
msgstr ""
"HQLì€ ê·¹ížˆ ê°•ë ¥í•˜ì§€ë§Œ 몇몇 개발ìžë“¤ì€ ì§ˆì˜ ë¬¸ìžì—´ë“¤ì„ 빌드하기 보다, ê°ì²´ 지"
"í–¥ API를 사용하여 ë™ì 으로 질ì˜ë“¤ì„ 빌드시키는 ê²ƒì„ ì„ í˜¸í•œë‹¤. Hibernate는 ì´"
"들 ê²½ìš°ë“¤ì„ ìœ„í•œ ì§ê´€ì ì¸ <literal>Criteria query API를 ì œê³µí•œë‹¤:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The <literal>Criteria and the associated Example와 ì—°ê´€ëœ Example API 는 ì—ì„œ" ìƒì„¸í•˜ê²Œ="" ë…¼ì˜ëœë‹¤."="" #.="" tag:="" title="" #,="" no-c-format="" msgid="" "queries="" in="" native="" sql"="" msgstr="" "native="" sqlì—ì„œ="" 질ì˜ë“¤"="" para="" fuzzy,="" ""="" "you="" can="" express="" a="" query="" sql,="" using="" <literal>createsqlquery()<="" literal=""> "
"and let Hibernate manage the mapping from result sets to objects. You can at "
"any time call <literal>session.connection() and use the JDBC "
"<literal>Connection directly. If you choose to use the Hibernate "
"API, you must enclose SQL aliases in braces:"
msgstr ""
"ë‹¹ì‹ ì€ <literal>createSQLQuery()를 사용하여 SQL ì†ì— í•˜ë‚˜ì˜ ì§ˆì˜ë¥¼ "
"í‘œí˜„í• ìˆ˜ ìžˆê³ , Hibernateë¡œ 하여금 ê²°ê³¼ 셋들로부터 ê°ì²´ë“¤ë¡œì˜ ë§¤í•‘ì„ ì²˜ë¦¬í•˜ë„"
"ë¡ í• ìˆ˜ë„ ìžˆë‹¤. ë‹¹ì‹ ì€ ì•„ë¬´ë•Œë‚˜ <literal>session.connection()ì„ í˜¸"
"ì¶œí• ìˆ˜ ìžˆê³ ì§ì ‘ JDBC <literal>Connectionì„ ì‚¬ìš©í• ìˆ˜ 있ìŒì„ 노트"
"하ë¼. ë§Œì¼ ë‹¹ì‹ ì´ Hibernate API를 ì‚¬ìš©í•˜ê³ ìž ì„ íƒí•œ ê²½ìš°ì— , ë‹¹ì‹ ì€ SQL alias"
"ë“¤ì„ ì¤‘ê´„í˜¸ë“¤ ì†ì— í¬í•¨ì‹œì¼œì•¼ 한다:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"SQL queries can 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\"/>ì—ì„œ "
"ì°¾ì„ ìˆ˜ 있다."
#. Tag: title
#, no-c-format
msgid "Modifying persistent objects"
msgstr "ì˜ì† ê°ì²´ë“¤ì„ 변경하기"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<emphasis>Transactional persistent instances (i.e. objects "
"loaded, saved, created or queried by the <literal>Session) can be "
"manipulated by the application, and any changes to persistent state will be "
"persisted when the <literal>Session is flushed, which has a different "
"purpose) to make your modifications persistent. The most straightforward way "
"to update the state of an object is to <literal>load() it and then "
"manipulate it directly while the <literal>Session is open:"
msgstr ""
"<emphasis>트랜ìžì…˜ ìƒì˜ ì˜ì† ì¸ìŠ¤í„´ìŠ¤ë“¤ (예를들면. "
"<literal>Sessionì— ì˜í•´ 로드ë˜ê³ , ì €ìž¥ë˜ê³ , ìƒì„±ë˜ê±°ë‚˜ 질ì˜ëœ ê°ì²´"
"들)ì€ ì–´í”Œë¦¬ì¼€ì´ì…˜ì— ì˜í•´ 처리ë 수 ìžˆê³ ì˜ì† ìƒíƒœì— 대한 ìž„ì˜ì˜ ë³€ê²½ë“¤ì€ "
"<literal>Sessionì´ flushë ë•Œ ì˜ì†í™” ë 것ì´ë‹¤"
"(ì´ ìž¥ì˜ ë’· 부분ì—ì„œ ë…¼ì˜ë¨). ë‹¹ì‹ ì˜ ë³€ê²½ë“¤ì„ ì˜ì†í™” 시키기 위해 (다른 ìš©ë„"
"를 가진 <literal>update()와 ê°™ì€) 특별한 메소드를 í˜¸ì¶œí• í•„ìš”ê°€ ì—†"
"다. ë”°ë¼ì„œ ê°ì²´ì˜ ìƒíƒœë¥¼ ì—…ë°ì´íŠ¸ 시키는 가장 간단한 ë°©ë²•ì€ "
"<literal>Sessionì´ ì—´ë ¤ 있는 ë™ì•ˆ, ê·¸ê²ƒì„ load()"
"ì‹œí‚¤ê³ ë‚˜ì„œ, ê·¸ê²ƒì„ ì§ì ‘ 처리하는 것ì´ë‹¤:"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Sometimes this programming model is inefficient, as it requires in the same "
"session both an SQL <literal>SELECT to load an object and an SQL "
"<literal>UPDATE to persist its updated state. Hibernate offers an "
"alternate approach by using detached instances."
msgstr ""
"때때로 ì´ í”„ë¡œê·¸ëž˜ë° ëª¨í˜•ì€ ë¶ˆì¶©ë¶„í•˜ë‹¤. 왜ëƒí•˜ë©´ ê·¸ê²ƒì€ ë™ì¼í•œ 세션 ë‚´ì—ì„œ "
"(ê°ì²´ë¥¼ 로드시키는) SQL <literal>SELECT와 (ê·¸ê²ƒì˜ ì—…ë°ì´íŠ¸ëœ ìƒíƒœ"
"를 ì˜ì†í™” 시키는) SQL <literal>UPDATE ì–‘ìžë¥¼ 필요로 í• ê²ƒì´ê¸° 때문"
"ì´ë‹¤. 그러므로 Hibernate는 detached ì¸ìŠ¤í„´ìŠ¤ë“¤ì„ 사용하는 대안ì ì¸ ì ‘ê·¼ë²•ì„ "
"ì œê³µí•œë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate does not offer its own API for direct execution of "
"<literal>UPDATE or DELETE statements. Hibernate "
"is a <emphasis>state management service, you do not have to think "
"in <emphasis>statements to use it. JDBC is a perfect API for "
"executing SQL statements, you can get a JDBC <literal>Connection "
"at any time by calling <literal>session.connection(). Furthermore, "
"the notion of mass operations conflicts with object/relational mapping for "
"online transaction processing-oriented applications. Future versions of "
"Hibernate can, however, provide special mass operation functions. See <xref "
"linkend=\"batch\" /> for some possible batch operation tricks."
msgstr ""
"Hibernate는 <placeholder-1/> 문장 ë˜ëŠ” ë¬¸ìž¥ì˜ ì§ì ‘ì ì¸ ì‹¤í–‰"
"ì„ ìœ„í•œ 그것 ìžì‹ ì˜ API를 ì œê³µí•˜ì§€ ì•ŠìŒì„ 노트하ë¼. Hibernate는 í•˜ë‚˜ì˜ "
"<placeholder-3/> 서비스ì´ê³ , ë‹¹ì‹ ì€ ê·¸ê²ƒì„ ì‚¬ìš©í• ì„ ìƒê°í•˜"
"지 ë§ì•„야 한다. JDBC는 SQL ë¬¸ìž¥ë“¤ì„ ì‹¤í–‰ì‹œí‚¤ëŠ” ì™„ì „í•œ APIì´ê³ , ë‹¹ì‹ ì€ "
"<placeholder-5/>ì„ í˜¸ì¶œí•˜ì—¬ 아무때나 í•œ ê°œì˜ JDBC ì„ ì–»ì„ ìˆ˜ "
"있다. 게다가 대량 오í¼ë ˆì´ì…˜ì˜ ê°œë…ì€ ì˜¨ë¼ì¸ 트랜ìžì…˜ 처리-지향ì ì¸ ì–´í”Œë¦¬ì¼€"
"ì´ì…˜ë“¤ì„ 위한 ê°ì²´/관계형 매핑과 충ëŒí•œë‹¤. 하지만 Hibernateì˜ ìž¥ëž˜ ë²„ì „ë“¤ì€ "
"특별한 ëŒ€ìš©ëŸ‰ì˜ ì˜¤í¼ë ˆì´ì…˜ ê¸°ëŠ¥ë“¤ì„ ì œê³µí• ìˆ˜ë„ ìžˆë‹¤. 몇몇 가능한 배치 오í¼ë ˆ"
"ì´ì…˜ 트ë¦ë“¤ì— 대해서는 <xref linkend=\"batch\"/>ì„ ë³´ë¼."
#. Tag: title
#, no-c-format
msgid "Modifying detached objects"
msgstr "detached ê°ì²´ë“¤ì„ 변경시키기"
#. Tag: para
#, 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 계층으로 ê·¸ê²ƒì„ ì „ì†¡í•˜ê³ , 그런 ë‹¤ìŒ ìƒˆë¡œìš´ 트랜ìžì…˜ ë‚´ì—ì„œ ë³€ê²½ë“¤ì„ "
"ì €ìž¥í• í•„ìš”ê°€ 있다. ê³ ë„ì˜-ë™ì‹œì„± 환경ì—ì„œ ì´ëŸ° ì¢…ë¥˜ì˜ ì ‘ê·¼ë²•ì„ ì‚¬ìš©í•˜ëŠ” 어플"
"리케ì´ì…˜ë“¤ì€ 대개 ìž‘ì—…ì˜ \"긴\" 단위를 확실히 격리시키기 위해 ë²„ì „í™” ëœ ë°ì´"
"터를 사용한다."
#. Tag: para
#, no-c-format
msgid ""
"Hibernate supports this model by providing for reattachment of detached "
"instances using the <literal>Session.update() or Session."
"merge()</literal> methods:"
msgstr ""
"Hibernate는 <literal>Session.update() 메소드 ë˜ëŠ” Session."
"merge()</literal> 메소드를 사용하여 detached ì¸ìŠ¤í„´ìŠ¤ë“¤ì˜ 재첨부를 ì œê³µí•¨ìœ¼ë¡œ"
"ì¨ ì´ ëª¨í˜•ì„ ì§€ì›í•œë‹¤:"
#. Tag: para
#, no-c-format
msgid ""
"If the <literal>Cat with identifier catId had "
"already been loaded by <literal>secondSession when the application "
"tried to reattach it, an exception would have been thrown."
msgstr ""
"ë§Œì¼ <literal>catId ì‹ë³„ìžë¥¼ 가진 Catì´ "
"<literal>secondSessionì— ì˜í•´ ì´ë¯¸ 로드ë˜ì—ˆì„ ê²½ìš°ì— ì–´í”Œë¦¬ì¼€ì´ì…˜"
"ì´ ê·¸ê²ƒì„ ë‹¤ì‹œ ìž¬ì²¨ë¶€í•˜ë ¤ê³ ì‹œë„í• ë•Œ, 예외ìƒí™©ì´ ë˜ì ¸ì¡Œì„ 것ì´ë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Use <literal>update() if you are certain that the session does not "
"contain an already persistent instance with the same identifier. Use "
"<literal>merge() if you want to merge your modifications at any "
"time without consideration of the state of the session. In other words, "
"<literal>update() is usually the first method you would call in a "
"fresh session, ensuring that the reattachment of your detached instances is "
"the first operation that is executed."
msgstr ""
"ë§Œì¼ ê·¸ ì„¸ì…˜ì´ ë™ì¼í•œ ì‹ë³„ìžë¥¼ 가진 ì˜ì† ì¸ìŠ¤í„´ìŠ¤ë¥¼ ì´ë¯¸ í¬í•¨í•˜ì§€ ì•ŠìŒì„ ë‹¹ì‹ "
"ì´ í™•ì‹ í•˜ëŠ” 경우ì—는 <literal>update()를 ì‚¬ìš©í•˜ê³ , ë§Œì¼ ë‹¹ì‹ ì´ ì„¸ì…˜"
"ì˜ ìƒíƒœë¥¼ ê³ ë ¤í•˜ì§€ ì•Šì€ì±„ë¡œ 아무때나 ë‹¹ì‹ ì˜ ë³€ê²½ì„ ë³‘í•©ì‹œí‚¤ê³ ìž ì›í• 경우ì—"
"는 <literal>merge()를 사용하ë¼. 달리 ë§í•´, ë‹¹ì‹ ì˜ detached ì¸ìŠ¤í„´ìŠ¤"
"ë“¤ì— ëŒ€í•œ 재첨부가 실행ë˜ëŠ” 첫 번째 오í¼ë ˆì´ì…˜ìž„ì„ í™•ì‹¤ížˆ 함으로ì¨, "
"<literal>update()는 대개 ê°“ 만들어진 세션ì—ì„œ ë‹¹ì‹ ì´ í˜¸ì¶œí•˜ê²Œ ë "
"첫 번째 메소드ì´ë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The application should individually <literal>update() detached "
"instances that are reachable from the given detached instance "
"<emphasis>only if it wants their state to be updated. This can be "
"automated using <emphasis>transitive persistence. See 주어진 detached ì¸ìŠ¤í„´ìŠ¤ë¡œë¶€í„° ë„달 ê°€"
"능한 detached ì¸ìŠ¤í„´ìŠ¤ë“¤ì„ 개별ì 으로<literal>update() 시킬 것ì´"
"다. ì´ê²ƒì€ ë¬¼ë¡ <emphasis>transitive persistence(ì „ì´ ì˜ì†)ì„ ì‚¬ìš©"
"하여 ìžë™í™” ë 수 ìžˆê³ , <xref linkend=\"objectstate-transitive\"/>를 ë³´ë¼."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The <literal>lock() method also allows an application to "
"reassociate an object with a new session. However, the detached instance has "
"to be unmodified."
msgstr ""
"<literal>lock() 메소드는 ë˜í•œ í•˜ë‚˜ì˜ ê°ì²´ë¥¼ 새로운 ì„¸ì…˜ì— ëŒ€í•´ 다"
"ì‹œ ì—°ê´€ì‹œí‚¤ëŠ”ê²ƒì„ ì–´í”Œë¦¬ì¼€ì´ì…˜ì—게 허용해준다. 하지만 detached ì¸ìŠ¤í„´ìŠ¤ëŠ” ë³€"
"ê²½ë˜ì§€ 않아야 한다!"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Note that <literal>lock() can be used with various "
"<literal>LockModes. See the API documentation and the chapter on "
"transaction handling for more information. Reattachment is not the only "
"usecase for <literal>lock()."
msgstr ""
"<literal>lock()ì´ ì—¬ëŸ¬ê°€ì§€ LockModeë“¤ì— ì‚¬ìš©ë "
"수 있ìŒì„ ë…¸íŠ¸í•˜ê³ , ìƒì„¸í•œ ê²ƒì€ API 문서와 트랜ìžì…˜ ì²˜ë¦¬ì— ê´€í•œ ìž¥ì„ ë³´ë¼. 재"
"첨부는 <literal>lock()ì— ëŒ€í•œ ìœ ì¼í•œ 쓰임새는 아니다."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Other models for long units of work are discussed in <xref linkend="
"\"transactions-optimistic\" />."
msgstr ""
"긴 ìž‘ì—… ë‹¨ìœ„ì— ëŒ€í•œ 다른 ëª¨í˜•ë“¤ì€ <xref linkend=\"transactions-optimistic\"/>"
"ì—ì„œ ë…¼ì˜ëœë‹¤."
#. Tag: title
#, no-c-format
msgid "Automatic state detection"
msgstr "ìžë™ì ì¸ ìƒíƒœ 검출"
#. Tag: para
#, 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() method implements this functionality."
msgstr ""
"Hibernate 사용ìžë“¤ì€ 새로운 ì‹ë³„ìžë¥¼ ìƒì„±ì‹œì¼œì„œ transient ì¸ìŠ¤í„´ìŠ¤ë¥¼ ì €ìž¥í•˜ê±°"
"나 ê·¸ê²ƒì˜ í˜„ìž¬ ì‹ë³„ìžì™€ ì—°ê´€ëœ detached ì¸ìŠ¤í„´ìŠ¤ë“¤ì„ ì—…ë°ì´íŠ¸/재첨부 시키는 "
"ì¼ë°˜ì ì¸ ìš©ë„ì˜ ë©”ì†Œë“œë¥¼ ìš”ì²í–ˆë‹¤. <literal>saveOrUpdate() 메소드"
"는 ì´ ê¸°ëŠ¥ì„ êµ¬í˜„í•œë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"The usage and semantics of <literal>saveOrUpdate() 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(), saveOrUpdate(), or "
"<literal>merge(). Some whole applications will never use either of "
"these methods."
msgstr ""
"<literal>saveOrUpdate()ì˜ ì‚¬ìš© ì˜ˆì œì™€ ì˜ë¯¸ëŠ” 초심ìžë“¤ì—게는 혼ë™ìŠ¤"
"러워 ë³´ì¸ë‹¤. ë¨¼ì €, í•˜ë‚˜ì˜ ì„¸ì…˜ì—ì„œ 온 ì¸ìŠ¤í„´ìŠ¤ë¥¼ ë˜ ë‹¤ë¥¸ 새로운 세션 ë‚´ì—ì„œ "
"ì‚¬ìš©í•˜ë ¤ê³ ì‹œë„하지 않는 í•œ, ë‹¹ì‹ ì€ <literal>update(), "
"<literal>saveOrUpdate(), ë˜ëŠ” merge()를 ì‚¬ìš©í• "
"필요는 ì—†ì„ ê²ƒì´ë‹¤. 몇몇 ì „ì²´ 어플리케ì´ì…˜ë“¤ì€ ì´ë“¤ 메소드들 중 ì–´ëŠ ê²ƒë„ ê²°"
"ì½” 사용하지 ì•Šì„ ê²ƒì´ë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"Usually <literal>update() or saveOrUpdate() are "
"used in the following scenario:"
msgstr ""
"대개 <literal>update() ë˜ëŠ” saveOrUpdate()는 다"
"ìŒ ì‹œë‚˜ë¦¬ì˜¤ì—ì„œ 사용ëœë‹¤:"
#. Tag: para
#, no-c-format
msgid "the application loads an object in the first session"
msgstr "어플리케ì´ì…˜ì´ 첫 번째 세션 ë‚´ì— ê°ì²´ë¥¼ 로드시킨다"
#. Tag: para
#, no-c-format
msgid "the object is passed up to the UI tier"
msgstr "ê°ì²´ê°€ UI í‹°ì–´ë¡œ ì „ë‹¬ëœë‹¤"
#. Tag: para
#, no-c-format
msgid "some modifications are made to the object"
msgstr "몇몇 ë³€ê²½ë“¤ì´ ê·¸ ê°ì²´ì— 행해진다"
#. Tag: para
#, no-c-format
msgid "the object is passed back down to the business logic tier"
msgstr "ê°ì²´ê°€ 비지니스 ë¡œì§ í‹°ì–´ë¡œ ì „ë‹¬ëœë‹¤"
#. Tag: para
#, no-c-format
msgid ""
"the application persists these modifications by calling <literal>update()를 í˜¸ì¶œí•¨ìœ¼ë¡œì¨ ì´"
"들 ë³€ê²½ë“¤ì„ ì˜ì†í™” 시킨다"
#. Tag: para
#, no-c-format
msgid "<literal>saveOrUpdate() does the following:"
msgstr "<literal>saveOrUpdate()는 다ìŒì„ 행한다:"
#. Tag: para
#, no-c-format
msgid "if the object is already persistent in this session, do nothing"
msgstr ""
"ë§Œì¼ ê°ì²´ê°€ ì´ ì„¸ì…˜ ë‚´ì—ì„œ ì´ë¯¸ ì˜ì†í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ì•„ë¬´ê²ƒë„ í–‰í•˜ì§€ 않는다"
#. Tag: para
#, no-c-format
msgid ""
"if another object associated with the session has the same identifier, throw "
"an exception"
msgstr ""
"ë§Œì¼ ê·¸ 세션과 ì—°ê´€ëœ ë˜ ë‹¤ë¥¸ ê°ì²´ê°€ ë™ì¼í•œ ì‹ë³„ìžë¥¼ 가질 경우, 예외ìƒí™©ì„ ë˜"
"진다"
#. Tag: para
#, no-c-format
msgid "if the object has no identifier property, <literal>save() it"
msgstr ""
"ë§Œì¼ ê·¸ ê°ì²´ê°€ ì‹ë³„ìž í”„ë¡œí¼í‹°ë¥¼ 갖지 ì•Šì„ ê²½ìš°, ê·¸ê²ƒì„ <literal>save() it"
msgstr ""
"ë§Œì¼ ê°ì²´ì˜ ì‹ë³„ìžê°€ ìƒˆë¡œì´ ì´ˆê¸°í™” ëœ ê°ì²´ì— í• ë‹¹ëœ ê°’ì„ ê°€ì§ˆ 경우, ê·¸ê²ƒì„ "
"<literal>save() 시킨다"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"if the object is versioned by a <literal><version> or "
"<literal><timestamp>, and the version property value is the "
"same value assigned to a newly instantiated object, <literal>save() ë˜ëŠ” <"
"timestamp></literal>ì— ì˜í•´) ë²„ì „í™” ë˜ê³ , version 프로í¼í‹° ê°’ì´ ìƒˆë¡œì´ ì´ˆ"
"기화 ëœ ê°ì²´ì— í• ë‹¹ëœ ê²ƒê³¼ ë™ì¼í•œ ê°’ì¼ ê²½ìš°, ê·¸ê²ƒì„ <literal>save() the object"
msgstr "ê·¸ ë°–ì˜ ê²½ìš° ê·¸ ê°ì²´ë¥¼ <literal>update() 시킨다"
#. Tag: para
#, no-c-format
msgid "and <literal>merge() is very different:"
msgstr "ê·¸ë¦¬ê³ <literal>merge()는 매우 다르다:"
#. Tag: para
#, 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 ""
"ë§Œì¼ ì„¸ì…˜ê³¼ 현재 ì—°ê´€ëœ ë™ì¼í•œ ì‹ë³„ìžë¥¼ 가진 ì˜ì† ì¸ìŠ¤í„´ìŠ¤ê°€ ì¡´ìž¬í• ê²½ìš°, 주"
"어진 ê°ì²´ì˜ ìƒíƒœë¥¼ ì˜ì† ì¸ìŠ¤í„´ìŠ¤ ìƒìœ¼ë¡œ 복사한다"
#. Tag: para
#, 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 ""
"ë§Œì¼ ì„¸ì…˜ê³¼ 현재 ì—°ê´€ëœ ì˜ì† ì¸ìŠ¤í„´ìŠ¤ê°€ 존재하지 ì•Šì„ ê²½ìš°, ë°ì´í„°ë² ì´ìŠ¤ë¡œë¶€"
"í„° ê·¸ê²ƒì„ ë¡œë“œì‹œí‚¤ë ¤ê³ ì‹œë„하거나 새로운 ì˜ì† ì¸ìŠ¤í„´ìŠ¤ë¥¼ ìƒì„±ì‹œí‚¤ë ¤ê³ ì‹œë„í•œ"
"다"
#. Tag: para
#, no-c-format
msgid "the persistent instance is returned"
msgstr "ì˜ì† ì¸ìŠ¤í„´ìŠ¤ê°€ 반환ëœë‹¤"
#. Tag: para
#, no-c-format
msgid ""
"the given instance does not become associated with the session, it remains "
"detached"
msgstr ""
"주어진 ì¸ìŠ¤í„´ìŠ¤ëŠ” 세션과 ì—°ê´€ë˜ì§€ ì•Šê³ , ê·¸ê²ƒì€ detached ìƒíƒœì— 머무른다"
#. Tag: title
#, no-c-format
msgid "Deleting persistent objects"
msgstr "ì˜ì† ê°ì²´ë“¤ì„ ì‚ì œí•˜ê¸°"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<literal>Session.delete() will remove an object's state from the "
"database. Your application, however, can still hold a reference to a deleted "
"object. It is best to think of <literal>delete() as making a "
"persistent instance, transient."
msgstr ""
"<literal>Session.delete()는 ë°ì´í„°ë² ì´ìŠ¤ë¡œë¶€í„° ê°ì²´ì˜ ìƒíƒœë¥¼ ì œê±°"
"í• ê²ƒì´ë‹¤. ë¬¼ë¡ ë‹¹ì‹ ì˜ ì–´í”Œë¦¬ì¼€ì´ì…˜ì€ ì—¬ì „ížˆ detached ê°ì²´ì— 대한 참조를 ì†Œìœ "
"í• ê²ƒì´ë‹¤. ì˜ì† ì¸ìŠ¤í„´ìŠ¤ë¥¼ transientë¡œ 만들 ë•Œ <literal>delete()를 "
"ìƒê°í•˜ëŠ” ê²ƒì´ ìµœìƒì´ë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"You can delete objects in any order, without risk of foreign key constraint "
"violations. It is still possible to violate a <literal>NOT NULL "
"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 ì»¨ìŠ¤íŠ¸ë ˆì¸íŠ¸ë¥¼ ìœ„ë°°í• ê°€ëŠ¥"
"ì„±ì´ ì—¬ì „ížˆ 존재한다. 예를 들어, ë‹¹ì‹ ì´ ë¶€ëª¨ë¥¼ ì‚ì œí•˜ì§€ë§Œ, ê·¸ ìžì‹ë“¤ì„ ì‚ì œí•˜"
"는 ê²ƒì„ ìžŠì€ ê²½ìš°."
#. Tag: title
#, no-c-format
msgid "Replicating object between two different datastores"
msgstr "ë‘ ê°œì˜ ë‹¤ë¥¸ ë°ì´í„°ì €ìž¥ì†Œë“¤ 사ì´ì— ê°ì²´ë“¤ì„ ë³µì œí•˜ê¸°"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"It is sometimes useful to be able to take a graph of persistent instances "
"and make them persistent in a different datastore, without regenerating "
"identifier values."
msgstr ""
"ì˜ì† ì¸ìŠ¤í„´ìŠ¤ë“¤ì˜ 그래프를 ì·¨í•˜ê³ ì‹ë³„ìž ê°’ë“¤ì„ ë‹¤ì‹œ ìƒì„±ì‹œí‚¤ì§€ ì•Šê³ ì„œ 그것들"
"ì„ ë‹¤ë¥¸ ì €ìž¥ì†Œ ì†ì— ì˜ì†í™” 시키는 ê²ƒì„ ê°€ëŠ¥í•˜ë„ë¡ ë§Œë“œëŠ” ê²ƒì´ ì¢…ì¢… ìœ ìš©í•˜ë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"The <literal>ReplicationMode determines how replicate()는 replicate()ê°€ ë°ì´í„°"
"ë² ì´ìŠ¤ ë‚´ì— ìžˆëŠ” ê¸°ì¡´ì˜ í–‰ë“¤ê³¼ì˜ ì¶©ëŒì„ 처리하게ë ë°©ë²•ì„ ê²°ì •í•œë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<literal>ReplicationMode.IGNORE: ignores the object when there is "
"an existing database row with the same identifier"
msgstr ""
"<literal>ReplicationMode.IGNORE - ë™ì¼í•œ ì‹ë³„ìžë¥¼ 가진 기존 ë°ì´í„°"
"ë² ì´ìŠ¤ í–‰ì´ ì¡´ìž¬í• ê²½ìš°ì— ê·¸ ê°ì²´ë¥¼ 무시한다"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<literal>ReplicationMode.OVERWRITE: overwrites any existing "
"database row with the same identifier"
msgstr ""
"<literal>ReplicationMode.OVERWRITE - ë™ì¼í•œ ì‹ë³„ìžë¥¼ 가진 ì–´ë–¤ 기존"
"ì˜ ë°ì´í„°ë² ì´ìŠ¤ í–‰ì„ ë®ì–´ 쓴다"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<literal>ReplicationMode.EXCEPTION: throws an exception if there "
"is an existing database row with the same identifier"
msgstr ""
"<literal>ReplicationMode.EXCEPTION - ë§Œì¼ ë™ì¼í•œ ì‹ë³„ìžë¥¼ 가진 기"
"ì¡´ ë°ì´í„°ë² ì´ìŠ¤ í–‰ì´ ì¡´ìž¬í• ê²½ìš°ì— ì˜ˆì™¸ìƒí™©ì„ ë˜ì§„다"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"<literal>ReplicationMode.LATEST_VERSION: overwrites 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 - í–‰ì˜ ë²„ì „ 번호가 ê°ì²´ì˜ "
"ë²„ì „ 번호 보다 ì´ì „ì˜ ê²ƒì´ë©´ ë®ì–´ì“°ê³ , ê·¸ ë°–ì˜ ê²½ìš°ì— ê·¸ ê°ì²´ë¥¼ 무시한다"
#. Tag: para
#, 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 트랜ìž"
"션들 ë™ì•ˆì— 행해진 ë³€ê²½ë“¤ì„ ë¡¤ë°±ì‹œí‚¤ê¸° ë“±ì„ í¬í•¨í•œë‹¤."
#. Tag: title
#, no-c-format
msgid "Flushing the Session"
msgstr "Sessionì„ flush 시키기"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Sometimes the <literal>Session will execute the SQL statements "
"needed to synchronize the JDBC connection's state with the state of objects "
"held in memory. This process, called <emphasis>flush, occurs by "
"default at the following points:"
msgstr ""
"ì‹œê°„ì´ ì§€ë‚¨ì— ë”°ë¼ <literal>Sessionì€ JDBC ì»¤ë„¥ì…˜ì˜ ìƒíƒœì™€ 메모리 "
"ë‚´ì— ë³´ê´€ëœ ê°ì²´ë“¤ì˜ ìƒíƒœë¥¼ ë™ê¸°í™” ì‹œí‚¤ëŠ”ë° í•„ìš”í•œ SQL ë¬¸ìž¥ë“¤ì„ ì‹¤í–‰ì‹œí‚¬ 것ì´"
"다. ì´ í”„ë¡œì„¸ìŠ¤ <emphasis>flush는 ë‹¤ìŒ ì‹œì 들ì—ì„œ ë””í´íŠ¸ë¡œ ë°œìƒí•œ"
"다"
#. Tag: para
#, no-c-format
msgid "before some query executions"
msgstr "몇몇 질ì˜ë“¤ì´ 실행ë˜ê¸° ì „ì—"
#. Tag: para
#, no-c-format
msgid "from <literal>org.hibernate.Transaction.commit()"
msgstr "<literal>org.hibernate.Transaction.commit() ì‹œì ì—ì„œ"
#. Tag: para
#, no-c-format
msgid "from <literal>Session.flush()"
msgstr "<literal>Session.flush() ì‹œì ì—ì„œ"
#. Tag: para
#, fuzzy, no-c-format
msgid "The SQL statements are issued in the following order:"
msgstr "SQL ë¬¸ìž¥ë“¤ì´ ë‹¤ìŒ ìˆœì„œë¡œ 실행 ëª…ë ¹ì´ ë‚´ë ¤ì§„ë‹¤"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"all entity insertions in the same order the corresponding objects were saved "
"using <literal>Session.save()"
msgstr ""
"대ì‘하는 ê°ì²´ë“¤ì´ <literal>Session.save()를 사용하여 ì €ìž¥ë˜ì—ˆë˜ 것"
"ê³¼ ê°™ì€ ìˆœì„œë¡œ, ëª¨ë“ ì—”í‹°í‹° 삽입들"
#. Tag: para
#, no-c-format
msgid "all entity updates"
msgstr "ëª¨ë“ ì—”í‹°í‹° ì—…ë°ì´íŠ¸ë“¤"
#. Tag: para
#, no-c-format
msgid "all collection deletions"
msgstr "ëª¨ë“ ì½œë ‰ì…˜ ì‚ì œë“¤"
#. Tag: para
#, no-c-format
msgid "all collection element deletions, updates and insertions"
msgstr "ëª¨ë“ ì½œë ‰ì…˜ 요소 ì‚ì œë“¤, ì—…ë°ì´íŠ¸ë“¤ ê·¸ë¦¬ê³ ì‚½ìž…ë“¤"
#. Tag: para
#, no-c-format
msgid "all collection insertions"
msgstr "ëª¨ë“ ì½œë ‰ì…˜ 삽입들"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"all entity deletions in the same order the corresponding objects were "
"deleted using <literal>Session.delete()"
msgstr ""
"대ì‘하는 ê°ì²´ë“¤ì´ <literal>Session.delete()를 사용하여 ì‚ì œë˜ì—ˆë˜ "
"것과 ê°™ì€ ìˆœì„œë¡œ ëª¨ë“ ì—”í‹°í‹° ì‚ì œë“¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"An exception is that objects using <literal>native ID generation "
"are inserted when they are saved."
msgstr ""
"(한가지 예외는 ê°ì²´ë“¤ì´ ì €ìž¥ë ë•Œ <literal>native ID ìƒì„±ì„ 사용하"
"는 ê°ì²´ë“¤ì´ insert ë˜ëŠ” ì ì´ë‹¤.)"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Except when you explicitly <literal>flush(), there are absolutely "
"no guarantees about <emphasis>when the Session "
"executes the JDBC calls, only the <emphasis>order in which they "
"are executed. However, Hibernate does guarantee that the <literal>Query.list"
"(..)</literal> will never return stale or incorrect data."
msgstr ""
"ë‹¹ì‹ ì´ ëª…ì‹œì 으로 <literal>flush() 시킬 때를 ì œì™¸í•˜ë©´, "
"<literal>Sessionì´ JDBC í˜¸ì¶œë“¤ì„ ì‹¤í–‰ì‹œí‚¤ëŠ” ì‹œì ìˆœì„œë§Œì„ ì ˆëŒ€ì 으로 보장하"
"지는 않는다. 하지만 Hibernate는 <literal>Query.list(..)ê°€ ì‹¤íš¨ì„±ì´ "
"없는 ë°ì´í„°ë¥¼ ê²°ì½” 반환하지 ì•Šì„ ê²ƒìž„ì„ ë³´ìž¥í•˜ê±°ë‚˜; ê·¸ê²ƒë“¤ì´ ìž˜ëª»ëœ ë°ì´í„°ë„ "
"반환하지 ì•Šì„ ê²ƒìž„ì„ ë³´ìž¥í•œë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"It is possible to change the default behavior so that flush occurs less "
"frequently. The <literal>FlushMode class defines three different "
"modes: only flush at commit time when the Hibernate <literal>Transaction is called explicitly. The last "
"mode is useful for long running units of work, where a <literal>Session í´ëž˜ìŠ¤ëŠ” 세 ê°œì˜ ë‹¤ë¥¸ ëª¨ë“œë“¤ì„ ì •ì˜í•œë‹¤: ì˜¤ì§ ì»¤"
"ë°‹ ì‹œ(ê·¸ë¦¬ê³ Hibernate <literal>Transaction APIê°€ 사용ë ë•Œì—만) "
"flush 모드, ì„¤ëª…ëœ ë£¨í‹´ì„ ì‚¬ìš©í•˜ëŠ” ìžë™ì ì¸ flush 모드, ë˜ëŠ” <literal>flush()"
"</literal>ê°€ 명시ì 으로 호출ë˜ì§€ 않는 í•œ flush 시키지 않는 모드. 마지막 모드"
"는 오래 ë™ì•ˆ 실행ë˜ëŠ” ìž‘ì—… ë‹¨ìœ„ì— ëŒ€í•´ ìœ ìš©í•˜ê³ , 여기서 <literal>Session to specify that "
"<emphasis>all operations should be cascaded along the "
"association. The default <literal>cascade=\"none\" specifies that "
"no operations are to be cascaded."
msgstr ""
"ë‹¹ì‹ ì€ <emphasis>ëª¨ë“ ì˜¤í¼ë ˆì´ì…˜ë“¤ì´ ê·¸ ì—°ê´€ì— ë”°ë¼ ì¼€ìŠ¤ì¼€ì´ë“œ ë˜"
"어야 í•¨ì„ ì§€ì •í•˜ëŠ”ë° <literal>cascade=\"all\"ì„ ì‚¬ìš©í• ìˆ˜ë„ ìžˆë‹¤. "
"ë””í´íŠ¸<literal>cascade=\"none\"ì€ ì˜¤í¼ë ˆì´ì…˜ë“¤ì´ 케스케ì´ë“œ ë˜ì§€ ì•Š"
"ì„ ê²ƒìž„ì„ ì§€ì •í•œë‹¤."
#. Tag: para
#, no-c-format
msgid ""
"A special cascade style, <literal>delete-orphan, applies only to "
"one-to-many associations, and indicates that the <literal>delete() "
"operation should be applied to any child object that is removed from the "
"association."
msgstr ""
"íŠ¹ì •í•œ 케스케ì´ë“œ 스타ì¼ì¸, <literal>delete-orphanì€ ì˜¤ì§ one-to-"
"many 연관들ì—만 ì ìš©ë˜ê³ , <literal>delete() 오í¼ë ˆì´ì…˜ì´ ê·¸ 연관으"
"로부터 ì œê±°ë˜ëŠ” ìž„ì˜ì˜ ìžì‹ ê°ì²´ì— ì ìš©ë˜ì–´ì•¼ í•¨ì„ ë‚˜íƒ€ë‚¸ë‹¤."
#. Tag: para
#, no-c-format
msgid "Recommendations:"
msgstr "권장사í•ë“¤ :"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"It does not usually make sense to enable cascade on a <literal><many-to-"
"one></literal> or <many-to-many> association. "
"Cascade is often useful for <literal><one-to-one> and "
"<literal><one-to-many> associations."
msgstr ""
"í•˜ë‚˜ì˜ <literal><many-to-one> ë˜ëŠ” <many-to-"
"many></literal> ì—°ê´€ì— ëŒ€í•´ 케스케ì´ë“œë¥¼ 가능하게 하는 ê²ƒì€ ëŒ€ê°œ ì˜ë¯¸ê°€ ì—†"
"다. 케스케ì´ë“œëŠ” <literal><one-to-one> 연관과 <"
"one-to-many></literal> ì—°ê´€ì— ëŒ€í•´ 종종 ìœ ìš©í•˜ë‹¤."
#. Tag: para
#, 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 by specifying "
"<literal>cascade=\"all,delete-orphan\"."
msgstr ""
"ë§Œì¼ ìžì‹ ê°ì²´ì˜ ìˆ˜ëª…ì´ ê·¸ 부모 ê°ì²´ì˜ ìˆ˜ëª…ì— ë¬¶ì—¬ì ¸ ìžˆì„ ê²½ìš°, "
"<literal>cascade=\"all,delete-orphan\"ì„ ì§€ì •í•¨ìœ¼ë¡œì¨ ê·¸ê²ƒì„ "
"<emphasis>ìƒëª… 주기 ê°ì²´ë¡œ 만들어ë¼."
#. Tag: para
#, 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\"."
msgstr ""
"ê·¸ ë°–ì˜ ê²½ìš°, ë‹¹ì‹ ì€ ì¼€ìŠ¤ì¼€ì´ë“œë¥¼ ì „í˜€ 필요로 하지 ì•Šì„ ìˆ˜ 있다. 그러나 ë§Œì¼ "
"ë‹¹ì‹ ì´ ë™ì¼í•œ 트랜ìžì…˜ ë‚´ì—ì„œ 부모와 ìžì‹ì— 대해 ìžì£¼ 함께 작업하게 ë 것ì´"
"ë¼ ìƒê°ë˜ê³ , ë‹¹ì‹ ìŠ¤ìŠ¤ë¡œ 타ì´í•‘ 하는 ê²ƒì„ ì ˆì•½í•˜ê³ ìž ì›í• 경우, "
"<literal>cascade=\"persist,merge,save-update\"를 사용하는 ê²ƒì„ ê³ ë ¤"
"하ë¼."
#. Tag: para
#, no-c-format
msgid ""
"Mapping an association (either a single valued association, or a collection) "
"with <literal>cascade=\"all\" marks the association as a "
"<emphasis>parent/child style relationship where save/update/"
"delete of the parent results in save/update/delete of the child or children."
msgstr ""
"<literal>cascade=\"all\"ì„ ê°€ì§„ (ë‹¨ì¼ ê°’ ì—°ê´€ì´ë“ í•˜ë‚˜ì˜ ì½œë ‰ì…˜ì´"
"ë“ ) í•˜ë‚˜ì˜ ì—°ê´€ì„ ë§¤í•‘ì‹œí‚¤ëŠ” ê²ƒì€ ê·¸ ì—°ê´€ì„ ë¶€ëª¨ì˜ ì €ìž¥/ì—…ë°ì´íŠ¸/ì‚ì œê°€ ìžì‹ "
"ë˜ëŠ” ìžì‹ë“¤ì˜ ì €ìž¥/ì—…ë°ì´íŠ¸/ì‚ì œë¡œ 귀결ë˜ëŠ” <emphasis>부모/ìžì‹ 스"
"타ì¼ì˜ 관계로 마í¬í•œë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Furthermore, 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 "
"automatically deleted, except in the case of a <literal><one-to-many>cascade=\"delete-orphan\"으로 ë§¤í•‘ëœ "
"í•˜ë‚˜ì˜ <literal><one-to-many> ì—°ê´€ì˜ ê²½ìš°ë¥¼ ì œì™¸í•˜ë©´, ìžë™ì "
"으로 ì‚ì œë˜ì§€ <emphasis>않는다. í•˜ë‚˜ì˜ ë¶€ëª¨/ìžì‹ ê´€ê³„ì— ëŒ€í•œ 케스"
"ì¼€ì´ë”© 오í¼ë ˆì´ì…˜ì˜ ì •í™•í•œ ì˜ë¯¸ëŠ” 다ìŒê³¼ 같다:"
#. Tag: para
#, no-c-format
msgid ""
"If a parent is passed to <literal>persist(), all children are "
"passed to <literal>persist()"
msgstr ""
"ë§Œì¼ ë¶€ëª¨ê°€ <literal>persist()ì— ì „ë‹¬ë 경우, ëª¨ë“ ìžì‹ë“¤ì´ "
"<literal>persist()ì— ì „ë‹¬ëœë‹¤"
#. Tag: para
#, no-c-format
msgid ""
"If a parent is passed to <literal>merge(), all children are passed "
"to <literal>merge()"
msgstr ""
"ë§Œì¼ ë¶€ëª¨ê°€ <literal>merge()ì— ì „ë‹¬ë 경우, ëª¨ë“ ìžì‹ë“¤ì´ "
"<literal>merge()ì— ì „ë‹¬ëœë‹¤"
#. Tag: para
#, no-c-format
msgid ""
"If a parent is passed to <literal>save(), update()saveOrUpdate(), all children are passed to "
"<literal>saveOrUpdate()"
msgstr ""
"ë§Œì¼ ë¶€ëª¨ê°€ <literal>save(), update() ë˜ëŠ” "
"<literal>saveOrUpdate()ì— ì „ë‹¬ë 경우, ëª¨ë“ ìžì‹ë“¤ì´ "
"<literal>saveOrUpdate()ì— ì „ë‹¬ëœë‹¤"
#. Tag: para
#, no-c-format
msgid ""
"If a transient or detached child becomes referenced by a persistent parent, "
"it is passed to <literal>saveOrUpdate()"
msgstr ""
"ë§Œì¼ transient ë˜ëŠ” detached ìžì‹ì´ ì˜ì† ë¶€ëª¨ì— ì˜í•´ 참조ë 경우, ê·¸ê²ƒì€ "
"<literal>saveOrUpdate()ì— ì „ë‹¬ëœë‹¤"
#. Tag: para
#, no-c-format
msgid ""
"If a parent is deleted, all children are passed to <literal>delete()ì— ì „ë‹¬ëœë‹¤"
#. Tag: para
#, 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\", in which "
"case the \"orphaned\" child is deleted."
msgstr ""
"ë§Œì¼ ìžì‹ì´ ì˜ì† ë¶€ëª¨ì— ì˜í•´ 참조 í•´ì œ ë 경우, <literal>cascade=\"delete-"
"orphan\"</literal>ì´ ì•„ë‹Œ í•œ, 특별한 ì–´ë–¤ ê²ƒë„ ë°œìƒí•˜ì§€ ì•ŠëŠ”ë‹¤ì¸ ê²½ìš°ì— \"orphaned(ê³ ì•„)\"ì¸ ê²½"
"ìš° ìžì‹ì´ ì‚ì œëœë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Finally, note that cascading of operations can be applied to an object graph "
"at <emphasis>call time or at flush time. All "
"operations, if enabled, are cascaded to associated entities reachable when "
"the operation is executed. However, <literal>save-update and "
"<literal>delete-orphan are transitive for all associated entities "
"reachable during flush of the <literal>Session."
msgstr ""
"마지막으로 오í¼ë ˆì´ì…˜ë“¤ì˜ 케스케ì´ë”©ì´ <emphasis>호출 ì‹œì ì—ì„œ ë˜"
"는 <emphasis>flush ì‹œì ì—ì„œ ê°ì²´ ê·¸ëž˜í”„ì— ì ìš©ë 수 있ìŒì„ 노트하"
"ë¼. ì´ìš© ê°€ëŠ¥í• ê²½ìš°ì— ëª¨ë“ ì˜¤í¼ë ˆì´ì…˜ë“¤ì€ ê·¸ 오í¼ë ˆì´ì…˜ì´ 실행ë ë•Œ ë„달 ê°€"
"능한 ì—°ê´€ëœ ì—”í‹°í‹°ë“¤ì— ëŒ€í•´ 케스케ì´ë“œ ëœë‹¤. 하지만 <literal>save-upatedelete-orphanì€ Sessionì˜ "
"flush ë™ì•ˆì— ë„달 가능한 ëª¨ë“ ì—°ê´€ëœ ì—”í‹°í‹°ë“¤ì— ëŒ€í•´ ì´í–‰ì (transitive)ì´ë‹¤."
#. Tag: title
#, no-c-format
msgid "Using metadata"
msgstr "메타ë°ì´í„° 사용하기"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate requires a rich meta-level model of all entity and value types. "
"This model can be 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 objects that should not (e.g. immutable value types "
"and, possibly, associated entities)."
msgstr ""
"Hibernate는 ëª¨ë“ ì—”í‹°í‹°ì™€ ê°’(value) íƒ€ìž…ë“¤ì„ ê°€ì§„ 매우 í’부한 메타-ë ˆë²¨ 모형"
"ì„ í•„ìš”ë¡œ 한다. ì‹œê°„ì´ ì§€ë‚¨ì— ë”°ë¼, ì´ ëª¨í˜•ì€ ì–´í”Œë¦¬ì¼€ì´ì…˜ ê·¸ ìžì²´ì— 매우 ìœ "
"용하다. 예를 들어, 어플리케ì´ì…˜ì€ ì–´ëŠ ê°ì²´ë“¤ì´ 복사ë˜ì–´ì•¼ 하는지(예를 들면 "
"가변ì ì¸ ê°’(value) 타입들) ê·¸ë¦¬ê³ ì–´ëŠ ê²ƒì´ ë³µì‚¬ë˜ì§€ ë§ì•„야 하는지(예를 들"
"ë©´, ë¶ˆë³€ì˜ value 타입들과 가능한 ì—°ê´€ëœ ì—”í‹°í‹°ë“¤)를 ì¸ì§€í•˜ëŠ” \"스마트\" deep-"
"copy ì•Œê³ ë¦¬ì¦˜ì„ êµ¬í˜„í•˜ëŠ”ë° Hibernateì˜ ë©”íƒ€ë°ì´í„°ë¥¼ ì‚¬ìš©í• ìˆ˜ë„ ìžˆë‹¤."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate exposes metadata via the <literal>ClassMetadata and "
"<literal>CollectionMetadata interfaces and the Type."
msgstr ""
"Hibernate는 <literal>ClassMetadata ì¸í„°íŽ˜ì´ìŠ¤ì™€ "
"<literal>CollectionMetadata ì¸í„°íŽ˜ì´ìŠ¤ ê·¸ë¦¬ê³ Type로부터 얻어질 ìˆ˜ë„ ìžˆë‹¤."
#~ msgid "UPDATE"
#~ msgstr "UPDATE"
#~ msgid "DELETE"
#~ msgstr "DELETE"
#~ msgid "state management"
#~ msgstr "ìƒíƒœ 관리"
#~ msgid "statements"
#~ msgstr "문장들"
#~ msgid "Connection"
#~ msgstr "session.connection()"
#~ msgid "session.connection()"
#~ msgstr "Connection"
Other Hibernate examples (source code examples)
Here is a short list of links related to this Hibernate session_api.po source code file:
|