[jboss-cvs] JBossAS SVN: r96198 - projects/docs/enterprise/5.0/Hibernate/Hibernate_Core/zh-CN.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Nov 9 19:14:53 EST 2009
Author: xhuang at jboss.com
Date: 2009-11-09 19:14:53 -0500 (Mon, 09 Nov 2009)
New Revision: 96198
Modified:
projects/docs/enterprise/5.0/Hibernate/Hibernate_Core/zh-CN/session_api.po
Log:
update
Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Core/zh-CN/session_api.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Core/zh-CN/session_api.po 2009-11-09 23:14:12 UTC (rev 96197)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Core/zh-CN/session_api.po 2009-11-10 00:14:53 UTC (rev 96198)
@@ -1,12 +1,13 @@
-# translation of Collection_Mapping.po to
+# translation of session_api.po to
# Xi Huang <xhuang at redhat.com>, 2006.
-# Xi HUANG <xhuang at redhat.com>, 2007.
+# Xi HUANG <xhuang at redhat.com>, 2007, 2009.
+# translation of Collection_Mapping.po to
msgid ""
msgstr ""
-"Project-Id-Version: Collection_Mapping\n"
+"Project-Id-Version: session_api\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-09-15 07:03+0000\n"
-"PO-Revision-Date: 2007-02-26 10:59+1000\n"
+"PO-Revision-Date: 2009-11-10 10:14+1000\n"
"Last-Translator: Xi HUANG <xhuang at redhat.com>\n"
"Language-Team: <en at li.org>\n"
"MIME-Version: 1.0\n"
@@ -22,7 +23,7 @@
#. Tag: para
#: session_api.xml:31
-#, fuzzy, no-c-format
+#, 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, "
@@ -34,7 +35,7 @@
"Hibernate 是完整的对象/关系映射解决方案,它提供了对象<emphasis>状态管理"
"(state management)</emphasis>的功能,使开发者不再需要理会底层数据库系统的细"
"节。也就是说,相对于常见的 JDBC/SQL 持久层方案中需要<literal>管理 SQL 语句</"
-"literal>,Hibernate 采用了更自然的面向对象的视角来持久化 Java 应用中的数据。"
+"literal>,Hibernate 采用了更自然的面向对象的视角来持久化 Java 应用中的数据。 "
#. Tag: para
#: session_api.xml:40
@@ -64,7 +65,7 @@
#. Tag: para
#: session_api.xml:56
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis>Transient</emphasis> - an object is transient if it has just been "
"instantiated using the <literal>new</literal> operator, and it is not "
@@ -82,11 +83,11 @@
"久化标识(identifier)。 如果瞬时(Transient)对象在程序中没有被引用,它会被"
"垃圾回收器(garbage collector)销毁。 使用 Hibernate <literal>Session</"
"literal>可以将其变为持久(Persistent)状态。(Hibernate会自动执行必要的SQL语"
-"句)"
+"句) "
#. Tag: para
#: session_api.xml:68
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis>Persistent</emphasis> - a persistent instance has a representation "
"in the database and an identifier value. It might just have been saved or "
@@ -104,11 +105,11 @@
"(Persistent)状态的对象的任何改动,在当前操作单元(unit of work)执行完毕时"
"将对象数据(state)与数据库同步(synchronize)。 开发者不需要手动执行"
"<literal>UPDATE</literal>。将对象从持久(Persistent)状态变成瞬时"
-"(Transient)状态同样也不需要手动执行 <literal>DELETE</literal> 语句。"
+"(Transient)状态同样也不需要手动执行 <literal>DELETE</literal> 语句。 "
#. Tag: para
#: session_api.xml:79
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis>Detached</emphasis> - a detached instance is an object that has "
"been persistent, but its <literal>Session</literal> has been closed. The "
@@ -127,17 +128,17 @@
"(Persistent)的(在Detached其间的改动将被持久化到数据库)。 这个功能使得一种"
"编程模型,即中间会给用户思考时间(user think-time)的长时间运行的操作单元"
"(unit of work)的编程模型成为可能。我们称之为<emphasis>应用程序事务</"
-"emphasis>,即从用户观点看是一个操作单元(unit of work)。"
+"emphasis>,即从用户观点看是一个操作单元(unit of work)。 "
#. Tag: para
#: session_api.xml:93
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"We will now discuss the states and state transitions (and the Hibernate "
"methods that trigger a transition) in more detail."
msgstr ""
-"接下来我们来细致的讨论下状态(states)及状态间的转换(state transitions)(以"
-"及触发状态转换的 Hibernate 方法)。"
+"接下来我们来细致地讨论下状态(states)及状态间的转换(state transitions)(以"
+"及触发状态转换的 Hibernate 方法)。 "
#. Tag: title
#: session_api.xml:101
@@ -159,7 +160,7 @@
#. Tag: programlisting
#: session_api.xml:110
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[DomesticCat fritz = new DomesticCat();\n"
"fritz.setColor(Color.GINGER);\n"
@@ -167,15 +168,15 @@
"fritz.setName(\"Fritz\");\n"
"Long generatedId = (Long) sess.save(fritz);]]>"
msgstr ""
-"DomesticCat fritz = new DomesticCat();\n"
+"<![CDATA[DomesticCat fritz = new DomesticCat();\n"
"fritz.setColor(Color.GINGER);\n"
"fritz.setSex('M');\n"
"fritz.setName(\"Fritz\");\n"
-"Long generatedId = (Long) sess.save(fritz);"
+"Long generatedId = (Long) sess.save(fritz);]]>"
#. Tag: para
#: session_api.xml:112
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"If <literal>Cat</literal> has a generated identifier, the identifier is "
"generated and assigned to the <literal>cat</literal> when <literal>save()</"
@@ -193,7 +194,7 @@
"(composite key),那么该标识(identifier)应当在调用 <literal>save()</"
"literal> 之前手动赋予给 <literal>cat</literal>。你也可以按照 EJB3 early "
"draft 中定义的语义,使用 <literal>persist()</literal> 替代<literal>save()</"
-"literal>。"
+"literal>。 "
#. Tag: para
#: session_api.xml:124
@@ -206,7 +207,7 @@
"<literal>INSERT</literal> statement if it is called outside of transaction "
"boundaries. This is useful in long-running conversations with an extended "
"Session/persistence context."
-msgstr ""
+msgstr "<literal>persist()</literal> 使一个临时实例持久化。然而,它不保证立即把标识符值分配给持久性实例,这会发生在冲刷(flush)的时候。<literal>persist()</literal> 也保证它在事务边界外调用时不会执行 <literal>INSERT</literal> 语句。这对于长期运行的带有扩展会话/持久化上下文的会话是很有用的。"
#. Tag: para
#: session_api.xml:135
@@ -217,19 +218,19 @@
"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 ""
+msgstr "<literal>save()</literal> 保证返回一个标识符。如果需要运行 INSERT 来获取标识符(如 \"identity\" 而非 \"sequence\" 生成器),这个 INSERT 将立即执行,不管你是否在事务内部还是外部。这对于长期运行的带有扩展会话/持久化上下文的会话来说会出现问题。"
#. Tag: para
#: session_api.xml:145
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Alternatively, you can assign the identifier using an overloaded version of "
"<literal>save()</literal>."
-msgstr "此外,你可以用一个重载版本的 <literal>save()</literal> 方法。"
+msgstr "此外,你可以用一个重载版本的 <literal>save()</literal> 方法。 "
#. Tag: programlisting
#: session_api.xml:150
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[DomesticCat pk = new DomesticCat();\n"
"pk.setColor(Color.TABBY);\n"
@@ -239,17 +240,17 @@
"pk.addKitten(fritz);\n"
"sess.save( pk, new Long(1234) );]]>"
msgstr ""
-"DomesticCat pk = new DomesticCat();\n"
+"<![CDATA[DomesticCat pk = new DomesticCat();\n"
"pk.setColor(Color.TABBY);\n"
"pk.setSex('F');\n"
"pk.setName(\"PK\");\n"
"pk.setKittens( new HashSet() );\n"
"pk.addKitten(fritz);\n"
-"sess.save( pk, new Long(1234) );"
+"sess.save( pk, new Long(1234) );]]>"
#. Tag: para
#: session_api.xml:152
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"If the object you make persistent has associated objects (e.g. the "
"<literal>kittens</literal> collection in the previous example), these "
@@ -264,11 +265,11 @@
"久化的顺序是任意的(也就是说可以先对 kittens 进行持久化也可以先对 pk 进行持久"
"化), 除非你在外键列上有 <literal>NOT NULL</literal> 约束。 Hibernate 不会违"
"反外键约束,但是如果你用错误的顺序持久化对象(译注:在 pk 持久化之前持久化"
-"kitten),那么可能会违反 <literal>NOT NULL</literal> 约束。"
+"kitten),那么可能会违反 <literal>NOT NULL</literal> 约束。 "
#. Tag: para
#: session_api.xml:162
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Usually you do not bother with this detail, as you will normally use "
"Hibernate's <emphasis>transitive persistence</emphasis> feature to save the "
@@ -279,7 +280,7 @@
"通常你不会为这些细节烦心,因为你很可能会使用 Hibernate 的<emphasis>传播性持久"
"化(transitive persistence)</emphasis>功能自动保存相关联那些对象。这样连违"
"反 <literal>NOT NULL</literal> 约束的情况都不会出现了 — Hibernate 会管好所有"
-"的事情。 传播性持久化(transitive persistence)将在本章稍后讨论。"
+"的事情。传播性持久化(transitive persistence)将在本章稍后讨论。"
#. Tag: title
#: session_api.xml:173
@@ -289,7 +290,7 @@
#. Tag: para
#: session_api.xml:175
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>load()</literal> methods of <literal>Session</literal> provide "
"a way of retrieving a persistent instance if you know its identifier. "
@@ -299,51 +300,51 @@
"如果你知道某个实例的持久化标识(identifier),你就可以使用 <literal>Session</"
"literal> 的 <literal>load()</literal> 方法来获取它。<literal>load()</"
"literal> 的另一个参数是指定类的对象。本方法会创建指定类的持久化实例,并从数据"
-"库加载其数据(state)。"
+"库加载其数据(state)。 "
#. Tag: programlisting
#: session_api.xml:182
-#, fuzzy, no-c-format
+#, no-c-format
msgid "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
-msgstr "Cat fritz = (Cat) sess.load(Cat.class, generatedId);"
+msgstr "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
#. Tag: programlisting
#: session_api.xml:184
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[// you need to wrap primitive identifiers\n"
"long id = 1234;\n"
"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long"
"(id) );]]>"
msgstr ""
-"// you need to wrap primitive identifiers\n"
+"<![CDATA[// you need to wrap primitive identifiers\n"
"long id = 1234;\n"
-"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long(id) );"
+"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long"
+"(id) );]]>"
#. Tag: para
#: session_api.xml:186
#, no-c-format
msgid "Alternatively, you can load state into a given instance:"
-msgstr ""
-"此外,你可以把数据(state)加载到指定的对象实例上(覆盖掉该实例原来的数据)。"
+msgstr "此外,你可以把数据(state)加载到指定的对象实例上(覆盖掉该实例原来的数据)。"
#. Tag: programlisting
#: session_api.xml:190
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Cat cat = new DomesticCat();\n"
"// load pk's state into cat\n"
"sess.load( cat, new Long(pkId) );\n"
"Set kittens = cat.getKittens();]]>"
msgstr ""
-"Cat cat = new DomesticCat();\n"
+"<![CDATA[Cat cat = new DomesticCat();\n"
"// load pk's state into cat\n"
"sess.load( cat, new Long(pkId) );\n"
-"Set kittens = cat.getKittens();"
+"Set kittens = cat.getKittens();]]>"
#. Tag: para
#: session_api.xml:192
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Be aware that <literal>load()</literal> will throw an unrecoverable "
"exception if there is no matching database row. If the class is mapped with "
@@ -361,22 +362,22 @@
"想在从数据库中装载该对象时同时装载相关联的那个对象,那么这种操作方式就用得上"
"的了。如果为相应类映射关系设置了 <literal>batch-size</literal>,那么使用这种"
"操作方式允许多个对象被一批装载(因为返回的是代理,无需从数据库中抓取所有对象"
-"的数据)。"
+"的数据)。 "
#. Tag: para
#: session_api.xml:203
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"If you are not certain that a matching row exists, you should use the "
"<literal>get()</literal> method which hits the database immediately and "
"returns null if there is no matching row."
msgstr ""
"如果你不确定是否有匹配的行存在,应该使用 <literal>get()</literal> 方法,它会"
-"立刻访问数据库,如果没有对应的记录,会返回 null。"
+"立刻访问数据库,如果没有对应的记录,会返回 null。 "
#. Tag: programlisting
#: session_api.xml:209
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
"if (cat==null) {\n"
@@ -385,16 +386,16 @@
"}\n"
"return cat;]]>"
msgstr ""
-"Cat cat = (Cat) sess.get(Cat.class, id);\n"
+"<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
"if (cat==null) {\n"
" cat = new Cat();\n"
" sess.save(cat, id);\n"
"}\n"
-"return cat;"
+"return cat;]]>"
#. Tag: para
#: session_api.xml:211
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"You can even load an object using an SQL <literal>SELECT ... FOR UPDATE</"
"literal>, using a <literal>LockMode</literal>. See the API documentation for "
@@ -402,17 +403,17 @@
msgstr ""
"你甚至可以选用某个 <literal>LockMode</literal>,用 SQL 的 "
"<literal>SELECT ... FOR UPDATE</literal> 装载对象。 请查阅 API 文档以获取更多"
-"信息。"
+"信息。 "
#. Tag: programlisting
#: session_api.xml:216
-#, fuzzy, no-c-format
+#, no-c-format
msgid "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
-msgstr "Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);"
+msgstr "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
#. Tag: para
#: session_api.xml:218
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Any associated instances or contained collections will <emphasis>not</"
"emphasis> be selected <literal>FOR UPDATE</literal>, unless you decide to "
@@ -422,7 +423,7 @@
"注意,任何关联的对象或者包含的集合都<emphasis>不会</emphasis>被以 "
"<literal>FOR UPDATE</literal> 方式返回, 除非你指定了 <literal>lock</"
"literal> 或者 <literal>all</literal> 作为关联(association)的级联风格"
-"(cascade style)。"
+"(cascade style)。 "
#. Tag: para
#: session_api.xml:225
@@ -437,19 +438,19 @@
#. Tag: programlisting
#: session_api.xml:231
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[sess.save(cat);\n"
"sess.flush(); //force the SQL INSERT\n"
"sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
msgstr ""
-"sess.save(cat);\n"
+"<![CDATA[sess.save(cat);\n"
"sess.flush(); //force the SQL INSERT\n"
-"sess.refresh(cat); //re-read the state (after the trigger executes)"
+"sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
#. Tag: para
#: session_api.xml:233
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"How much does Hibernate load from the database and how many SQL "
"<literal>SELECT</literal>s will it use? This depends on the "
@@ -458,8 +459,8 @@
msgstr ""
"此处通常会出现一个重要问题: Hibernate 会从数据库中装载多少东西?会执行多少条"
"相应的 SQL<literal>SELECT</literal> 语句?这取决于<emphasis>抓取策略"
-"(fetching strategy)</emphasis>,会在 <xref linkend=\"Improving_performance-"
-"Fetching_strategies\"/> 中解释。"
+"(fetching strategy)</emphasis>,会在 <xref linkend="
+"\"performance-fetching\"/> 中解释。 "
#. Tag: title
#: session_api.xml:243
@@ -469,7 +470,7 @@
#. Tag: para
#: session_api.xml:245
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"If you do not know the identifiers of the objects you are looking for, you "
"need a query. Hibernate supports an easy-to-use but powerful object oriented "
@@ -482,7 +483,7 @@
"且易于使用的面向对象查询语言(HQL)。如果希望通过编程的方式创建查询,"
"Hibernate 提供了完善的按条件(Query By Criteria,QBC)以及按样例(Query By "
"Example,QBE)进行查询的功能。你也可以用原生 SQL(native SQL)描述查询,"
-"Hibernate 额外提供了将结果集(result set)转化为对象的支持。"
+"Hibernate 额外提供了将结果集(result set)转化为对象的支持。 "
#. Tag: title
#: session_api.xml:255
@@ -507,7 +508,7 @@
#. Tag: programlisting
#: session_api.xml:264
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[List cats = session.createQuery(\n"
" \"from Cat as cat where cat.birthdate < ?\")\n"
@@ -534,8 +535,8 @@
" \"select mother from Cat as mother left join fetch mother.kittens\");\n"
"Set uniqueMothers = new HashSet(mothersWithKittens.list());]]>"
msgstr ""
-"List cats = session.createQuery(\n"
-" \"from Cat as cat where cat.birthdate < ?\")\n"
+"<![CDATA[List cats = session.createQuery(\n"
+" \"from Cat as cat where cat.birthdate < ?\")\n"
" .setDate(0, date)\n"
" .list();\n"
"\n"
@@ -557,11 +558,11 @@
"\n"
"Query mothersWithKittens = (Cat) session.createQuery(\n"
" \"select mother from Cat as mother left join fetch mother.kittens\");\n"
-"Set uniqueMothers = new HashSet(mothersWithKittens.list());"
+"Set uniqueMothers = new HashSet(mothersWithKittens.list());]]>"
#. Tag: para
#: session_api.xml:266
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A query is usually executed by invoking <literal>list()</literal>. The "
"result of the query will be loaded completely into a collection in memory. "
@@ -576,7 +577,7 @@
"存中的一个集合(collection)。查询返回的对象处于持久(persistent)状态。如果"
"你知道的查询只会返回一个对象,可使用 <literal>list()</literal> 的快捷方式 "
"<literal>uniqueResult()</literal>。注意,使用集合预先抓取的查询往往会返回多次"
-"根对象(他们的集合类都被初始化了)。你可以通过一个集合来过滤这些重复对象。"
+"根对象(他们的集合类都被初始化了)。你可以通过一个<literal>集合(Set)</literal>来过滤这些重复对象。"
#. Tag: title
#: session_api.xml:278
@@ -586,7 +587,7 @@
#. Tag: para
#: session_api.xml:280
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Occasionally, you might be able to achieve better performance by executing "
"the query using the <literal>iterate()</literal> method. This will usually "
@@ -604,11 +605,11 @@
"literal> 慢,而且可能简单查询也需要进行多次数据库访问:<literal>iterate()</"
"literal> 会首先使用 <emphasis>1</emphasis> 条语句得到所有对象的持久化标识"
"(identifiers),再根据持久化标识执行 <emphasis>n</emphasis> 条附加的 select "
-"语句实例化实际的对象。"
+"语句实例化实际的对象。 "
#. Tag: programlisting
#: session_api.xml:292
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[// fetch ids\n"
"Iterator iter = sess.createQuery(\"from eg.Qux q order by q.likeliness\")."
@@ -624,7 +625,7 @@
" }\n"
"}]]>"
msgstr ""
-"// fetch ids\n"
+"<![CDATA[// fetch ids\n"
"Iterator iter = sess.createQuery(\"from eg.Qux q order by q.likeliness\")."
"iterate();\n"
"while ( iter.hasNext() ) {\n"
@@ -636,7 +637,7 @@
" // dont need to process the rest\n"
" break;\n"
" }\n"
-"}"
+"}]]>"
#. Tag: title
#: session_api.xml:296
@@ -646,17 +647,17 @@
#. Tag: para
#: session_api.xml:298
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Hibernate queries sometimes return tuples of objects. Each tuple is returned "
"as an array:"
msgstr ""
"(译注:元组(tuples)指一条结果行包含多个对象) Hibernate 查询有时返回元组"
-"(tuples),每个元组(tuples)以数组的形式返回:"
+"(tuples),每个元组(tuples)以数组的形式返回: "
#. Tag: programlisting
#: session_api.xml:303
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
" \"select kitten, mother from Cat kitten join kitten.mother mother"
@@ -671,7 +672,7 @@
" ....\n"
"}]]>"
msgstr ""
-"Iterator kittensAndMothers = sess.createQuery(\n"
+"<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
" \"select kitten, mother from Cat kitten join kitten.mother mother"
"\")\n"
" .list()\n"
@@ -679,10 +680,10 @@
"\n"
"while ( kittensAndMothers.hasNext() ) {\n"
" Object[] tuple = (Object[]) kittensAndMothers.next();\n"
-" Cat kitten = tuple[0];\n"
-" Cat mother = tuple[1];\n"
+" Cat kitten = (Cat) tuple[0];\n"
+" Cat mother = (Cat) tuple[1];\n"
" ....\n"
-"}"
+"}]]>"
#. Tag: title
#: session_api.xml:308
@@ -692,7 +693,7 @@
#. Tag: para
#: session_api.xml:310
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Queries can specify a property of a class in the <literal>select</literal> "
"clause. They can even call SQL aggregate functions. Properties or aggregates "
@@ -700,11 +701,11 @@
msgstr ""
"查询可在 <literal>select</literal> 从句中指定类的属性,甚至可以调用 SQL 统计"
"(aggregate)函数。属性或统计结果被认定为\"标量(Scalar)\"的结果(而不是持久"
-"(persistent state)的实体)。"
+"(persistent state)的实体)。 "
#. Tag: programlisting
#: session_api.xml:316
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Iterator results = sess.createQuery(\n"
" \"select cat.color, min(cat.birthdate), count(cat) from Cat cat \" "
@@ -721,7 +722,7 @@
" .....\n"
"}]]>"
msgstr ""
-"Iterator results = sess.createQuery(\n"
+"<![CDATA[Iterator results = sess.createQuery(\n"
" \"select cat.color, min(cat.birthdate), count(cat) from Cat cat \" "
"+\n"
" \"group by cat.color\")\n"
@@ -734,7 +735,7 @@
" Date oldest = (Date) row[1];\n"
" Integer count = (Integer) row[2];\n"
" .....\n"
-"}"
+"}]]>"
#. Tag: title
#: session_api.xml:321
@@ -744,7 +745,7 @@
#. Tag: para
#: session_api.xml:323
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Methods on <literal>Query</literal> are provided for binding values to named "
"parameters or JDBC-style <literal>?</literal> parameters. <emphasis>Contrary "
@@ -756,20 +757,19 @@
"的<literal>问号(?)</literal>参数进行绑定的方法。<emphasis>不同于 JDBC,"
"Hibernate 对参数从 0 开始计数。</emphasis> 命名参数(named parameters)在查询"
"字符串中是形如 <literal>:name</literal> 的标识符。命名参数(named "
-"parameters)的优点是:"
+"parameters)的优点是: "
#. Tag: para
#: session_api.xml:333
#, no-c-format
-msgid ""
-"named parameters are insensitive to the order they occur in the query string"
+msgid "named parameters are insensitive to the order they occur in the query string"
msgstr "命名参数(named parameters)与其在查询串中出现的顺序无关"
#. Tag: para
#: session_api.xml:339
-#, fuzzy, no-c-format
+#, no-c-format
msgid "they can occur multiple times in the same query"
-msgstr "它们可在同一查询串中多次出现"
+msgstr "它们可在同一查询串中多次出现 "
#. Tag: para
#: session_api.xml:344
@@ -779,7 +779,7 @@
#. Tag: programlisting
#: session_api.xml:350
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[//named parameter (preferred)\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = :name"
@@ -787,29 +787,29 @@
"q.setString(\"name\", \"Fritz\");\n"
"Iterator cats = q.iterate();]]>"
msgstr ""
-"//named parameter (preferred)\n"
+"<![CDATA[//named parameter (preferred)\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = :name"
"\");\n"
"q.setString(\"name\", \"Fritz\");\n"
-"Iterator cats = q.iterate();"
+"Iterator cats = q.iterate();]]>"
#. Tag: programlisting
#: session_api.xml:352
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[//positional parameter\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
"q.setString(0, \"Izi\");\n"
"Iterator cats = q.iterate();]]>"
msgstr ""
-"//positional parameter\n"
+"<![CDATA[//positional parameter\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
"q.setString(0, \"Izi\");\n"
-"Iterator cats = q.iterate();"
+"Iterator cats = q.iterate();]]>"
#. Tag: programlisting
#: session_api.xml:354
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[//named parameter list\n"
"List names = new ArrayList();\n"
@@ -820,14 +820,14 @@
"q.setParameterList(\"namesList\", names);\n"
"List cats = q.list();]]>"
msgstr ""
-"//named parameter list\n"
+"<![CDATA[//named parameter list\n"
"List names = new ArrayList();\n"
"names.add(\"Izi\");\n"
"names.add(\"Fritz\");\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name in (:"
"namesList)\");\n"
"q.setParameterList(\"namesList\", names);\n"
-"List cats = q.list();"
+"List cats = q.list();]]>"
#. Tag: title
#: session_api.xml:359
@@ -837,28 +837,28 @@
#. Tag: para
#: session_api.xml:361
-#, fuzzy, no-c-format
+#, 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</literal> interface:"
msgstr ""
"如果你需要指定结果集的范围(希望返回的最大行数/或开始的行数),应该使用 "
-"<literal>Query</literal> 接口提供的方法:"
+"<literal>Query</literal> 接口提供的方法: "
#. Tag: programlisting
#: session_api.xml:367
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Query q = sess.createQuery(\"from DomesticCat cat\");\n"
"q.setFirstResult(20);\n"
"q.setMaxResults(10);\n"
"List cats = q.list();]]>"
msgstr ""
-"Query q = sess.createQuery(\"from DomesticCat cat\");\n"
+"<![CDATA[Query q = sess.createQuery(\"from DomesticCat cat\");\n"
"q.setFirstResult(20);\n"
"q.setMaxResults(10);\n"
-"List cats = q.list();"
+"List cats = q.list();]]>"
#. Tag: para
#: session_api.xml:369
@@ -878,7 +878,7 @@
#. Tag: para
#: session_api.xml:379
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"If your JDBC driver supports scrollable <literal>ResultSet</literal>s, the "
"<literal>Query</literal> interface can be used to obtain a "
@@ -887,11 +887,11 @@
msgstr ""
"如果你的 JDBC 驱动支持可滚动的 <literal>ResuleSet</literal>,<literal>Query</"
"literal> 接口可以使用 <literal>ScrollableResults</literal>,允许你在查询结果"
-"中灵活游走。"
+"中灵活游走。 "
#. Tag: programlisting
#: session_api.xml:386
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat "
"cat \" +\n"
@@ -918,7 +918,8 @@
"}\n"
"cats.close()]]>"
msgstr ""
-"Query q = sess.createQuery(\"select cat.name, cat from DomesticCat cat \" +\n"
+"<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat "
+"cat \" +\n"
" \"order by cat.name\");\n"
"ScrollableResults cats = q.scroll();\n"
"if ( cats.first() ) {\n"
@@ -936,15 +937,15 @@
" pageOfCats = new ArrayList();\n"
" cats.beforeFirst();\n"
" int i=0;\n"
-" while( ( PAGE_SIZE > i++ ) && cats.next() ) pageOfCats.add"
-"( cats.get(1) );\n"
+" while( ( PAGE_SIZE > i++ ) && cats.next() ) pageOfCats.add( cats.get"
+"(1) );\n"
"\n"
"}\n"
-"cats.close()"
+"cats.close()]]>"
#. Tag: para
#: session_api.xml:388
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Note that an open database connection and cursor is required for this "
"functionality. Use <literal>setMaxResult()</literal>/<literal>setFirstResult"
@@ -952,7 +953,7 @@
msgstr ""
"请注意,使用此功能需要保持数据库连接(以及游标(cursor))处于一直打开状态。"
"如果你需要断开连接使用分页功能,请使用 <literal>setMaxResult()</literal>/"
-"<literal>setFirstResult()</literal>。"
+"<literal>setFirstResult()</literal>。 "
#. Tag: title
#: session_api.xml:397
@@ -962,18 +963,18 @@
#. Tag: para
#: session_api.xml:399
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"You can also define named queries in the mapping document. Remember to use a "
"<literal>CDATA</literal> section if your query contains characters that "
"could be interpreted as markup."
msgstr ""
-"你可以在映射文件中定义命名查询(named queries)。(如果你的查询串中包含可能被"
-"解释为 XML 标记(markup)的字符,别忘了用<literal>CDATA</literal>包裹起来。)"
+"你可以在映射文件中定义命名查询(named queries)。如果你的查询串中包含可能被"
+"解释为 XML 标记(markup)的字符,别忘了用<literal>CDATA</literal>包裹起来。"
#. Tag: programlisting
#: session_api.xml:405
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
" from eg.DomesticCat as cat\n"
@@ -981,11 +982,11 @@
" and cat.weight > ?\n"
"] ]></query>]]>"
msgstr ""
-"<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
+"<![CDATA[<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
" from eg.DomesticCat as cat\n"
" where cat.name = ?\n"
-" and cat.weight > ?\n"
-"] ]></query>"
+" and cat.weight > ?\n"
+"] ]></query>]]>"
#. Tag: para
#: session_api.xml:407
@@ -995,21 +996,21 @@
#. Tag: programlisting
#: session_api.xml:411
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Query q = sess.getNamedQuery(\"ByNameAndMaximumWeight\");\n"
"q.setString(0, name);\n"
"q.setInt(1, minWeight);\n"
"List cats = q.list();]]>"
msgstr ""
-"Query q = sess.getNamedQuery(\"ByNameAndMaximumWeight\");\n"
+"<![CDATA[Query q = sess.getNamedQuery(\"ByNameAndMaximumWeight\");\n"
"q.setString(0, name);\n"
"q.setInt(1, minWeight);\n"
-"List cats = q.list();"
+"List cats = q.list();]]>"
#. Tag: para
#: session_api.xml:413
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The actual program code is independent of the query language that is used. "
"You can also define native SQL queries in metadata, or migrate existing "
@@ -1017,11 +1018,11 @@
msgstr ""
"请注意实际的程序代码与所用的查询语言无关,你也可在元数据中定义原生 SQL"
"(native SQL)查询,或将原有的其他的查询语句放在配置文件中,这样就可以让 "
-"Hibernate 统一管理,达到迁移的目的。"
+"Hibernate 统一管理,达到迁移的目的。 "
#. Tag: para
#: session_api.xml:419
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Also note that a query declaration inside a <literal><hibernate-"
"mapping></literal> element requires a global unique name for the query, "
@@ -1032,7 +1033,7 @@
"也请注意在 <literal><hibernate-mapping></literal> 元素中声明的查询必须"
"有一个全局唯一的名字,而在 <literal><class></literal> 元素中声明的查询自"
"动具有全局名,是通过类的全名加以限定的。比如 <literal>eg.Cat."
-"ByNameAndMaximumWeight</literal>。"
+"ByNameAndMaximumWeight</literal>。 "
#. Tag: title
#: session_api.xml:432
@@ -1042,7 +1043,7 @@
#. Tag: para
#: session_api.xml:433
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"A collection <emphasis>filter</emphasis> is a special type of query that can "
"be applied to a persistent collection or array. The query string can refer "
@@ -1050,11 +1051,11 @@
msgstr ""
"集合<emphasis>过滤器(filter)</emphasis>是一种用于一个持久化集合或者数组的特"
"殊的查询。查询字符串中可以使用 <literal>\"this\"</literal> 来引用集合中的当前"
-"元素。"
+"元素。 "
#. Tag: programlisting
#: session_api.xml:439
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Collection blackKittens = session.createFilter(\n"
" pk.getKittens(), \n"
@@ -1063,16 +1064,16 @@
" .list()\n"
");]]>"
msgstr ""
-"Collection blackKittens = session.createFilter(\n"
+"<![CDATA[Collection blackKittens = session.createFilter(\n"
" pk.getKittens(), \n"
" \"where this.color = ?\")\n"
" .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )\n"
" .list()\n"
-");"
+");]]>"
#. Tag: para
#: session_api.xml:441
-#, fuzzy, no-c-format
+#, 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 "
@@ -1080,55 +1081,54 @@
msgstr ""
"返回的集合可以被认为是一个包(bag,无顺序可重复的集合(collection)),它是所"
"给集合的副本。 原来的集合不会被改动(这与“过滤器(filter)”的隐含的含义不符,"
-"不过与我们期待的行为一致)。"
+"不过与我们期待的行为一致)。 "
#. Tag: para
#: session_api.xml:447
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Observe that filters do not require a <literal>from</literal> clause, "
"although they can have one if required. Filters are not limited to returning "
"the collection elements themselves."
msgstr ""
"请注意过滤器(filter)并不需要 <literal>from</literal> 子句(当然需要的话它们"
-"也可以加上)。过滤器(filter)不限定于只能返回集合元素本身。"
+"也可以加上)。过滤器(filter)不限定于只能返回集合元素本身。 "
#. Tag: programlisting
#: session_api.xml:452
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Collection blackKittenMates = session.createFilter(\n"
" pk.getKittens(), \n"
" \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
" .list();]]>"
msgstr ""
-"Collection blackKittenMates = session.createFilter(\n"
+"<![CDATA[Collection blackKittenMates = session.createFilter(\n"
" pk.getKittens(), \n"
" \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
-" .list();"
+" .list();]]>"
#. Tag: para
#: session_api.xml:454
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Even an empty filter query is useful, e.g. to load a subset of elements in a "
"large collection:"
-msgstr ""
-"即使无条件的过滤器(filter)也是有意义的。例如,用于加载一个大集合的子集:"
+msgstr "即使无条件的过滤器(filter)也是有意义的。例如,用于加载一个大集合的子集: "
#. Tag: programlisting
#: session_api.xml:459
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Collection tenKittens = session.createFilter(\n"
" mother.getKittens(), \"\")\n"
" .setFirstResult(0).setMaxResults(10)\n"
" .list();]]>"
msgstr ""
-"Collection tenKittens = session.createFilter(\n"
+"<![CDATA[Collection tenKittens = session.createFilter(\n"
" mother.getKittens(), \"\")\n"
" .setFirstResult(0).setMaxResults(10)\n"
-" .list();"
+" .list();]]>"
#. Tag: title
#: session_api.xml:464
@@ -1138,7 +1138,7 @@
#. Tag: para
#: session_api.xml:466
-#, fuzzy, no-c-format
+#, 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 "
@@ -1147,32 +1147,33 @@
msgstr ""
"HQL 极为强大,但是有些人希望能够动态的使用一种面向对象 API 创建查询,而非在他"
"们的 Java 代码中嵌入字符串。对于那部分人来说,Hibernate 提供了直观的 "
-"<literal>Criteria</literal> 查询 API。"
+"<literal>Criteria</literal> 查询 API。 "
#. Tag: programlisting
#: session_api.xml:472
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
"crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
"crit.setMaxResults(10);\n"
"List cats = crit.list();]]>"
msgstr ""
-"Criteria crit = session.createCriteria(Cat.class);\n"
-"crit.add( Expression.eq( \"color\", eg.Color.BLACK ) );\n"
+"<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
+"crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
"crit.setMaxResults(10);\n"
-"List cats = crit.list();"
+"List cats = crit.list();]]>"
#. Tag: para
#: session_api.xml:474
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>Criteria</literal> and the associated <literal>Example</"
"literal> API are discussed in more detail in <xref linkend=\"querycriteria\"/"
">."
msgstr ""
"<literal>Criteria</literal> 以及相关的<literal>样例(Example)</literal>API "
-"将会在 <xref linkend=\"Criteria_Queries\"/> 中详细讨论。"
+"将会在 <xref linkend=\"querycriteria\"/"
+"> 中详细讨论。"
#. Tag: title
#: session_api.xml:482
@@ -1182,7 +1183,7 @@
#. Tag: para
#: session_api.xml:484
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"You can express a query in SQL, using <literal>createSQLQuery()</literal> "
"and let Hibernate manage the mapping from result sets to objects. You can at "
@@ -1193,26 +1194,25 @@
"你可以使用 <literal>createSQLQuery()</literal> 方法,用 SQL 来描述查询,并由 "
"Hibernate 将结果集转换成对象。请注意,你可以在任何时候调用 <literal>session."
"connection()</literal> 来获得并使用 JDBC <literal>Connection</literal> 对"
-"象。 如果你选择使用 Hibernate 的 API,你必须把 SQL 别名用大括号包围起来:"
+"象。 如果你选择使用 Hibernate 的 API,你必须把 SQL 别名用大括号包围起来: "
#. Tag: programlisting
#: session_api.xml:492
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} "
"WHERE ROWNUM<10\")\n"
" .addEntity(\"cat\", Cat.class)\n"
".list();]]>"
msgstr ""
-"List cats = session.createSQLQuery(\n"
-" \"SELECT {cat.*} FROM CAT {cat} WHERE ROWNUM<10\",\n"
-" \"cat\",\n"
-" Cat.class\n"
-").list();"
+"<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} "
+"WHERE ROWNUM<10\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+".list();]]>"
#. Tag: programlisting
#: session_api.xml:494
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[List cats = session.createSQLQuery(\n"
" \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n"
@@ -1222,25 +1222,23 @@
" .addEntity(\"cat\", Cat.class)\n"
".list()]]>"
msgstr ""
-"List cats = session.createSQLQuery(\n"
+"<![CDATA[List cats = session.createSQLQuery(\n"
" \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n"
" \"{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ... \" "
"+\n"
-" \"FROM CAT {cat} WHERE ROWNUM<10\",\n"
-" \"cat\",\n"
-" Cat.class\n"
-").list()"
+" \"FROM CAT {cat} WHERE ROWNUM<10\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+".list()]]>"
#. Tag: para
#: session_api.xml:496
-#, fuzzy, no-c-format
+#, 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 ""
-"和 Hibernate 查询一样,SQL 查询也可以包含命名参数和占位参数。可以在 <xref "
-"linkend=\"Native_SQL\"/> 找到更多关于 Hibernate 中原生 SQL(native SQL)的信"
+"和 Hibernate 查询一样,SQL 查询也可以包含命名参数和占位参数。可以在 <xref linkend=\"querysql\"/> 找到更多关于 Hibernate 中原生 SQL(native SQL)的信"
"息。"
#. Tag: title
@@ -1251,7 +1249,7 @@
#. Tag: para
#: session_api.xml:509
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<emphasis>Transactional persistent instances</emphasis> (i.e. objects "
"loaded, saved, created or queried by the <literal>Session</literal>) can be "
@@ -1269,24 +1267,25 @@
"化(本章后面会详细讨论)。这里不需要调用某个特定的方法(比如 <literal>update"
"()</literal>,设计它的目的是不同的)将你的修改持久化。所以最直接的更新一个对"
"象的方法就是在 <literal>Session</literal> 处于打开状态时 <literal>load()</"
-"literal> 它,然后直接修改即可:"
+"literal> 它,然后直接修改即可: "
#. Tag: programlisting
#: session_api.xml:520
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long"
"(69) );\n"
"cat.setName(\"PK\");\n"
"sess.flush(); // changes to cat are automatically detected and persisted]]>"
msgstr ""
-"DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long(69) );\n"
+"<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long"
+"(69) );\n"
"cat.setName(\"PK\");\n"
-"sess.flush(); // changes to cat are automatically detected and persisted"
+"sess.flush(); // changes to cat are automatically detected and persisted]]>"
#. Tag: para
#: session_api.xml:522
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Sometimes this programming model is inefficient, as it requires in the same "
"session both an SQL <literal>SELECT</literal> to load an object and an SQL "
@@ -1296,11 +1295,11 @@
"有时这种程序模型效率低下,因为它在同一 Session 里需要一条 SQL "
"<literal>SELECT</literal> 语句(用于加载对象) 以及一条 SQL <literal>UPDATE</"
"literal> 语句(持久化更新的状态)。为此 Hibernate 提供了另一种途径,使用脱管"
-"(detached)实例。"
+"(detached)实例。 "
#. Tag: para
#: session_api.xml:529
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Hibernate does not offer its own API for direct execution of "
"<literal>UPDATE</literal> or <literal>DELETE</literal> statements. Hibernate "
@@ -1320,7 +1319,8 @@
"connection()</literal> 你都可以得到一个 <literal>Connection</literal> 对象。 "
"此外,在联机事务处理(OLTP)程序中,大量操作(mass operations)与对象/关系映"
"射的观点是相冲突的。Hibernate 的将来版本可能会提供专门的进行大量操作(mass "
-"operation)的功能。参考 <xref linkend=\"Batch_processing\"/>,寻找一些可用的"
+"operation)的功能。参考 <xref "
+"linkend=\"batch\"/>,寻找一些可用的"
"批量(batch)操作技巧。"
#. Tag: title
@@ -1356,7 +1356,7 @@
#. Tag: programlisting
#: session_api.xml:561
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[// in the first session\n"
"Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
@@ -1370,7 +1370,7 @@
"secondSession.update(cat); // update cat\n"
"secondSession.update(mate); // update mate]]>"
msgstr ""
-"// in the first session\n"
+"<![CDATA[// in the first session\n"
"Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
"Cat potentialMate = new Cat();\n"
"firstSession.save(potentialMate);\n"
@@ -1380,7 +1380,7 @@
"\n"
"// later, in a new session\n"
"secondSession.update(cat); // update cat\n"
-"secondSession.update(mate); // update mate"
+"secondSession.update(mate); // update mate]]>"
#. Tag: para
#: session_api.xml:563
@@ -1396,7 +1396,7 @@
#. Tag: para
#: session_api.xml:569
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Use <literal>update()</literal> if you are certain that the session does not "
"contain an already persistent instance with the same identifier. Use "
@@ -1410,11 +1410,11 @@
"<literal>update()</literal>。如果想随时合并你的的改动而不考虑 session 的状"
"态,使用 <literal>merge()</literal>。换句话说,在一个新 session 中通常第一个"
"调用的是 <literal>update()</literal> 方法,以便保证重新关联脱管(detached)对"
-"象的操作首先被执行。"
+"象的操作首先被执行。 "
#. Tag: para
#: session_api.xml:578
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The application should individually <literal>update()</literal> detached "
"instances that are reachable from the given detached instance "
@@ -1425,23 +1425,23 @@
"如果希望相关联的脱管对象(通过引用“可到达”的脱管对象)的数据也要更新到数据库"
"时(并且也<emphasis>仅仅</emphasis>在这种情况),可以对该相关联的脱管对象单独"
"调用 <literal>update()</literal> 当然这些可以自动完成,即通过使用<emphasis>传"
-"播性持久化(transitive persistence)</emphasis>,请看 <xref linkend="
-"\"Working_with_objects-Transitive_persistence\"/>。"
+"播性持久化(transitive persistence)</emphasis>,请看 <xref "
+"linkend=\"objectstate-transitive\"/>。"
#. Tag: para
#: session_api.xml:585
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>lock()</literal> method also allows an application to "
"reassociate an object with a new session. However, the detached instance has "
"to be unmodified."
msgstr ""
"<literal>lock()</literal> 方法也允许程序重新关联某个对象到一个新 session 上。"
-"不过,该脱管(detached)的对象必须是没有修改过的!"
+"不过,该脱管(detached)的对象必须是没有修改过的。"
#. Tag: programlisting
#: session_api.xml:590
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[//just reassociate:\n"
"sess.lock(fritz, LockMode.NONE);\n"
@@ -1450,16 +1450,16 @@
"//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
"sess.lock(pk, LockMode.UPGRADE);]]>"
msgstr ""
-"//just reassociate:\n"
+"<![CDATA[//just reassociate:\n"
"sess.lock(fritz, LockMode.NONE);\n"
"//do a version check, then reassociate:\n"
"sess.lock(izi, LockMode.READ);\n"
"//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
-"sess.lock(pk, LockMode.UPGRADE);"
+"sess.lock(pk, LockMode.UPGRADE);]]>"
#. Tag: para
#: session_api.xml:592
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Note that <literal>lock()</literal> can be used with various "
"<literal>LockMode</literal>s. See the API documentation and the chapter on "
@@ -1468,17 +1468,17 @@
msgstr ""
"请注意,<literal>lock()</literal> 可以搭配多种 <literal>LockMode</literal>,"
"更多信息请阅读 API 文档以及关于事务处理(transaction handling)的章节。重新关"
-"联不是 <literal>lock()</literal> 的唯一用途。"
+"联不是 <literal>lock()</literal> 的唯一用途。 "
#. Tag: para
#: session_api.xml:599
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Other models for long units of work are discussed in <xref linkend="
"\"transactions-optimistic\"/>."
msgstr ""
"其他用于长时间工作单元的模型会在 <xref linkend="
-"\"Transactions_And_Concurrency-Optimistic_concurrency_control\"/> 中讨论。"
+"\"transactions-optimistic\"/> 中讨论。"
#. Tag: title
#: session_api.xml:606
@@ -1501,7 +1501,7 @@
#. Tag: programlisting
#: session_api.xml:615
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[// in the first session\n"
"Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
@@ -1516,7 +1516,7 @@
"secondSession.saveOrUpdate(mate); // save the new instance (mate has a null "
"id)]]>"
msgstr ""
-"// in the first session\n"
+"<![CDATA[// in the first session\n"
"Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
"\n"
"// in a higher tier of the application\n"
@@ -1527,7 +1527,7 @@
"secondSession.saveOrUpdate(cat); // update existing state (cat has a non-"
"null id)\n"
"secondSession.saveOrUpdate(mate); // save the new instance (mate has a null "
-"id)"
+"id)]]>"
#. Tag: para
#: session_api.xml:617
@@ -1613,8 +1613,7 @@
#: session_api.xml:676
#, no-c-format
msgid "if the object has no identifier property, <literal>save()</literal> it"
-msgstr ""
-"如果对象没有持久化标识(identifier)属性,对其调用 <literal>save()</literal>"
+msgstr "如果对象没有持久化标识(identifier)属性,对其调用 <literal>save()</literal>"
#. Tag: para
#: session_api.xml:681
@@ -1628,7 +1627,7 @@
#. Tag: para
#: session_api.xml:687
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"if the object is versioned by a <literal><version></literal> or "
"<literal><timestamp></literal>, and the version property value is the "
@@ -1637,7 +1636,7 @@
msgstr ""
"如果对象是附带版本信息的(通过 <literal><version></literal> 或 "
"<literal><timestamp></literal>)并且版本属性的值表明其是一个新实例化的"
-"对象,<literal>save()</literal> 它。"
+"对象,<literal>save()</literal> 它。 "
#. Tag: para
#: session_api.xml:695
@@ -1668,8 +1667,7 @@
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 ""
-"如果 session 没有相应的持久实例,则尝试从数据库中加载,或创建新的持久化实例"
+msgstr "如果 session 没有相应的持久实例,则尝试从数据库中加载,或创建新的持久化实例"
#. Tag: para
#: session_api.xml:720
@@ -1693,7 +1691,7 @@
#. Tag: para
#: session_api.xml:737
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<literal>Session.delete()</literal> will remove an object's state from the "
"database. Your application, however, can still hold a reference to a deleted "
@@ -1702,17 +1700,17 @@
msgstr ""
"使用 <literal>Session.delete()</literal> 会把对象的状态从数据库中移除。当然,"
"你的应用程序可能仍然持有一个指向已删除对象的引用。所以,最好这样理解:"
-"<literal>delete()</literal> 的用途是把一个持久实例变成瞬时(transient)实例。"
+"<literal>delete()</literal> 的用途是把一个持久实例变成瞬时(transient)实例。 "
#. Tag: programlisting
#: session_api.xml:744
-#, fuzzy, no-c-format
+#, no-c-format
msgid "<![CDATA[sess.delete(cat);]]>"
-msgstr "sess.delete(cat);"
+msgstr "<![CDATA[sess.delete(cat);]]>"
#. Tag: para
#: session_api.xml:746
-#, fuzzy, no-c-format
+#, 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</literal> "
@@ -1721,7 +1719,7 @@
msgstr ""
"你可以用你喜欢的任何顺序删除对象,不用担心外键约束冲突。当然,如果你搞错了顺"
"序,还是有可能引发在外键字段定义的 <literal>NOT NULL</literal> 约束冲突。例如"
-"你删除了父对象,但是忘记删除孩子们。"
+"你删除了父对象,但是忘记删除其子对象。"
#. Tag: title
#: session_api.xml:757
@@ -1731,18 +1729,18 @@
#. Tag: para
#: session_api.xml:759
-#, fuzzy, no-c-format
+#, 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 ""
"偶尔会用到不重新生成持久化标识(identifier),将持久实例以及其关联的实例持久"
-"到不同的数据库中的操作。"
+"到不同的数据库中的操作。 "
#. Tag: programlisting
#: session_api.xml:765
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[//retrieve a cat from one database\n"
"Session session1 = factory1.openSession();\n"
@@ -1758,7 +1756,7 @@
"tx2.commit();\n"
"session2.close();]]>"
msgstr ""
-"//retrieve a cat from one database\n"
+"<![CDATA[//retrieve a cat from one database\n"
"Session session1 = factory1.openSession();\n"
"Transaction tx1 = session1.beginTransaction();\n"
"Cat cat = session1.get(Cat.class, catId);\n"
@@ -1770,51 +1768,51 @@
"Transaction tx2 = session2.beginTransaction();\n"
"session2.replicate(cat, ReplicationMode.LATEST_VERSION);\n"
"tx2.commit();\n"
-"session2.close();"
+"session2.close();]]>"
#. Tag: para
#: session_api.xml:767
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"The <literal>ReplicationMode</literal> determines how <literal>replicate()</"
"literal> will deal with conflicts with existing rows in the database:"
msgstr ""
"<literal>ReplicationMode</literal> 决定在和数据库中已存在记录由冲突时,"
-"<literal>replicate()</literal> 如何处理。"
+"<literal>replicate()</literal> 如何处理。 "
#. Tag: para
#: session_api.xml:774
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<literal>ReplicationMode.IGNORE</literal>: ignores the object when there is "
"an existing database row with the same identifier"
-msgstr "<literal>ReplicationMode.IGNORE</literal> — 忽略它"
+msgstr "<literal>ReplicationMode.IGNORE</literal>:当某个现有数据库记录具有相同标识符时忽略它"
#. Tag: para
#: session_api.xml:780
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<literal>ReplicationMode.OVERWRITE</literal>: overwrites any existing "
"database row with the same identifier"
-msgstr "<literal>ReplicationMode.OVERWRITE</literal> — 覆盖相同的行"
+msgstr "<literal>ReplicationMode.OVERWRITE</literal>:用相同的标识符覆盖现有数据库记录"
#. Tag: para
#: session_api.xml:786
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<literal>ReplicationMode.EXCEPTION</literal>: throws an exception if there "
"is an existing database row with the same identifier"
-msgstr "<literal>ReplicationMode.EXCEPTION</literal> — 抛出异常"
+msgstr "<literal>ReplicationMode.EXCEPTION</literal>:当某个现有数据库记录具有相同标识符时抛出异常"
#. Tag: para
#: session_api.xml:792
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<literal>ReplicationMode.LATEST_VERSION</literal>: 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</literal> — 如果当前的版本较新,则覆"
+"<literal>ReplicationMode.LATEST_VERSION</literal>:如果当前的版本较新,则覆"
"盖,否则忽略"
#. Tag: para
@@ -1838,7 +1836,7 @@
#. Tag: para
#: session_api.xml:811
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Sometimes the <literal>Session</literal> will execute the SQL statements "
"needed to synchronize the JDBC connection's state with the state of objects "
@@ -1847,7 +1845,7 @@
msgstr ""
"每间隔一段时间,<literal>Session</literal> 会执行一些必需的 SQL 语句来把内存"
"中的对象的状态同步到 JDBC 连接中。这个过程被称为<emphasis>刷出(flush)</"
-"emphasis>,默认会在下面的时间点执行:"
+"emphasis>,默认会在下面的时间点执行: "
#. Tag: para
#: session_api.xml:820
@@ -1869,19 +1867,19 @@
#. Tag: para
#: session_api.xml:836
-#, fuzzy, no-c-format
+#, no-c-format
msgid "The SQL statements are issued in the following order:"
-msgstr "涉及的 SQL 语句会按照下面的顺序发出执行:"
+msgstr "涉及的 SQL 语句会按照下面的顺序发出执行: "
#. Tag: para
#: session_api.xml:842
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"all entity insertions in the same order the corresponding objects were saved "
"using <literal>Session.save()</literal>"
msgstr ""
"所有对实体进行插入的语句,其顺序按照对象执行 <literal>Session.save()</"
-"literal> 的时间顺序"
+"literal> 的时间顺序 "
#. Tag: para
#: session_api.xml:848
@@ -1909,27 +1907,27 @@
#. Tag: para
#: session_api.xml:868
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"all entity deletions in the same order the corresponding objects were "
"deleted using <literal>Session.delete()</literal>"
msgstr ""
"所有对实体进行删除的语句,其顺序按照对象执行 <literal>Session.delete()</"
-"literal> 的时间顺序"
+"literal> 的时间顺序 "
#. Tag: para
#: session_api.xml:875
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"An exception is that objects using <literal>native</literal> ID generation "
"are inserted when they are saved."
msgstr ""
-"(有一个例外是,如果对象使用 <literal>native</literal> 方式来生成 ID(持久化"
-"标识)的话,它们一执行 save 就会被插入。)"
+"有一个例外是,如果对象使用 <literal>native</literal> 方式来生成 ID(持久化"
+"标识)的话,它们一执行 save 就会被插入。"
#. Tag: para
#: session_api.xml:880
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Except when you explicitly <literal>flush()</literal>, there are absolutely "
"no guarantees about <emphasis>when</emphasis> the <literal>Session</literal> "
@@ -1940,11 +1938,11 @@
"除非你明确地发出了 <literal>flush()</literal> 指令,关于 Session<emphasis> 何"
"时</emphasis>会执行这些 JDBC 调用是完全无法保证的,只能保证它们执行的前后顺"
"序。当然,Hibernate 保证,<literal>Query.list(..)</literal> 绝对不会返回已经"
-"失效的数据,也不会返回错误数据。"
+"失效的数据,也不会返回错误数据。 "
#. Tag: para
#: session_api.xml:888
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"It is possible to change the default behavior so that flush occurs less "
"frequently. The <literal>FlushMode</literal> class defines three different "
@@ -1961,12 +1959,11 @@
"方式刷出,以及除非明确使用 <literal>flush()</literal> 否则从不刷出。 最后一种"
"模式对于那些需要长时间保持 <literal>Session</literal> 为打开或者断线状态的长"
"时间运行的工作单元很有用。(参见 <xref linkend="
-"\"Optimistic_concurrency_control-Extended_session_and_automatic_versioning\"/"
-">)。"
+"\"transactions-optimistic-longsession\"/>)。"
#. Tag: programlisting
#: session_api.xml:898
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[sess = sf.openSession();\n"
"Transaction tx = sess.beginTransaction();\n"
@@ -1983,7 +1980,7 @@
"tx.commit(); // flush occurs\n"
"sess.close();]]>"
msgstr ""
-"sess = sf.openSession();\n"
+"<![CDATA[sess = sf.openSession();\n"
"Transaction tx = sess.beginTransaction();\n"
"sess.setFlushMode(FlushMode.COMMIT); // allow queries to return stale state\n"
"\n"
@@ -1996,11 +1993,11 @@
"// change to izi is not flushed!\n"
"...\n"
"tx.commit(); // flush occurs\n"
-"sess.close();"
+"sess.close();]]>"
#. Tag: para
#: session_api.xml:900
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"During flush, an exception might occur (e.g. if a DML operation violates a "
"constraint). Since handling exceptions involves some understanding of "
@@ -2009,7 +2006,7 @@
msgstr ""
"刷出(flush)期间,可能会抛出异常。(例如一个 DML 操作违反了约束) 异常处理涉"
"及到对 Hibernate 事务性行为的理解,因此我们将在 <xref linkend="
-"\"Transactions_And_Concurrency\"/> 中讨论。"
+"\"transactions\"/> 中讨论。"
#. Tag: title
#: session_api.xml:909
@@ -2030,7 +2027,7 @@
#. Tag: para
#: session_api.xml:917
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"If the children in a parent/child relationship would be value typed (e.g. a "
"collection of addresses or strings), their life cycle would depend on the "
@@ -2046,11 +2043,11 @@
"额外的动作。父对象被保存时,这些值类型(value typed)子对象也将被保存;父对象"
"被删除时,子对象也将被删除。这对将一个子对象从集合中移除是同样有效:"
"Hibernate 会检测到,并且因为值类型(value typed)的对象不可能被其他对象引用,"
-"所以 Hibernate 会在数据库中删除这个子对象。"
+"所以 Hibernate 会在数据库中删除这个子对象。 "
#. Tag: para
#: session_api.xml:928
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Now consider the same scenario with parent and child objects being entities, "
"not value-types (e.g. categories and items, or parent and child cats). "
@@ -2064,7 +2061,7 @@
"typed)(例如,类别与个体,或母猫和小猫)。实体有自己的生命期,允许共享对其的"
"引用(因此从集合中移除一个实体,不意味着它可以被删除),并且实体到其他关联实"
"体之间默认没有级联操作的设置。 Hibernate 默认不实现所谓的<emphasis>可到达即持"
-"久化(persistence by reachability)</emphasis>的策略。"
+"久化(persistence by reachability)</emphasis>的策略。 "
#. Tag: para
#: session_api.xml:937
@@ -2087,9 +2084,9 @@
#. Tag: programlisting
#: session_api.xml:946
-#, fuzzy, no-c-format
+#, no-c-format
msgid "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
-msgstr "<one-to-one name=\"person\" cascade=\"persist\"/>"
+msgstr "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
#. Tag: para
#: session_api.xml:948
@@ -2099,14 +2096,13 @@
#. Tag: programlisting
#: session_api.xml:952
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
-msgstr "<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>"
+#, no-c-format
+msgid "<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
+msgstr "<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
#. Tag: para
#: session_api.xml:954
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"You can even use <literal>cascade=\"all\"</literal> to specify that "
"<emphasis>all</emphasis> operations should be cascaded along the "
@@ -2115,7 +2111,7 @@
msgstr ""
"你可以使用 <literal>cascade=\"all\"</literal> 来指定<emphasis>全部</emphasis>"
"操作都顺着关联关系级联(cascaded)。默认值是 <literal>cascade=\"none\"</"
-"literal>,即任何操作都不会被级联(cascaded)。"
+"literal>,即任何操作都不会被级联(cascaded)。 "
#. Tag: para
#: session_api.xml:960
@@ -2138,7 +2134,7 @@
#. Tag: para
#: session_api.xml:973
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"It does not usually make sense to enable cascade on a <literal><many-to-"
"one></literal> or <literal><many-to-many></literal> association. "
@@ -2146,13 +2142,13 @@
"<literal><one-to-many></literal> associations."
msgstr ""
"通常在 <literal><many-to-one></literal> 或 <literal><many-to-"
-"many></literal> 关系中应用级联(cascade)没什么意义。 级联(cascade)通常"
+"many></literal> 关系中应用级联(cascade)没什么意义。级联(cascade)通常"
"在 <literal><one-to-one></literal> 和 <literal><one-to-many></"
-"literal> 关系中比较有用。"
+"literal> 关系中比较有用。 "
#. Tag: para
#: session_api.xml:981
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"If the child object's lifespan is bounded by the lifespan of the parent "
"object, make it a <emphasis>life cycle object</emphasis> by specifying "
@@ -2160,7 +2156,7 @@
msgstr ""
"如果子对象的寿命限定在父亲对象的寿命之内,可通过指定 <literal>cascade=\"all,"
"delete-orphan\"</literal> 将其变为<emphasis>自动生命周期管理的对象"
-"(lifecycle object)</emphasis>。"
+"(lifecycle object)</emphasis>。 "
#. Tag: para
#: session_api.xml:988
@@ -2191,7 +2187,7 @@
#. Tag: para
#: session_api.xml:1002
-#, fuzzy, no-c-format
+#, 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 "
@@ -2206,7 +2202,7 @@
"<literal><one-to-many></literal> 关联并且被标记为 <literal>cascade="
"\"delete-orphan\"</literal>,否则父对象失去对某个子对象的引用<emphasis>不会</"
"emphasis>导致该子对象被自动删除。父子关系的级联(cascading)操作准确语义如"
-"下:"
+"下: "
#. Tag: para
#: session_api.xml:1013
@@ -2274,7 +2270,7 @@
#. Tag: para
#: session_api.xml:1051
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Finally, note that cascading of operations can be applied to an object graph "
"at <emphasis>call time</emphasis> or at <emphasis>flush time</emphasis>. All "
@@ -2287,7 +2283,7 @@
"<emphasis>写入期(flush time)</emphasis>作用到对象图上的。所有的操作,如果允"
"许,都在操作被执行的时候级联到可触及的关联实体上。然而,<literal>save-upate</"
"literal> 和 <literal>delete-orphan</literal> 是在<literal>Session</literal> "
-"flush 的时候才作用到所有可触及的被关联对象上的。"
+"flush 的时候才作用到所有可触及的被关联对象上的。 "
#. Tag: title
#: session_api.xml:1063
@@ -2297,7 +2293,7 @@
#. Tag: para
#: session_api.xml:1065
-#, fuzzy, no-c-format
+#, 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 "
@@ -2310,11 +2306,11 @@
"型数据的元数据。 有时这个模型对应用程序本身也会非常有用。比如说,应用程序可能"
"在实现一种“智能”的深度拷贝算法时,通过使用 Hibernate 的元数据来了解哪些对象应"
"该被拷贝(比如,可变的值类型数据),那些不应该(不可变的值类型数据,也许还有"
-"某些被关联的实体)。"
+"某些被关联的实体)。 "
#. Tag: para
#: session_api.xml:1072
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"Hibernate exposes metadata via the <literal>ClassMetadata</literal> and "
"<literal>CollectionMetadata</literal> interfaces and the <literal>Type</"
@@ -2324,11 +2320,11 @@
"Hibernate 提供了 <literal>ClassMetadata</literal> 接口,"
"<literal>CollectionMetadata</literal> 接口和 <literal>Type</literal> 层次体系"
"来访问元数据。可以通过 <literal>SessionFactory</literal> 获取元数据接口的实"
-"例。"
+"例。 "
#. Tag: programlisting
#: session_api.xml:1079
-#, fuzzy, no-c-format
+#, no-c-format
msgid ""
"<![CDATA[Cat fritz = ......;\n"
"ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
@@ -2346,7 +2342,7 @@
" }\n"
"}]]>"
msgstr ""
-"Cat fritz = ......;\n"
+"<![CDATA[Cat fritz = ......;\n"
"ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
"\n"
"Object[] propertyValues = catMeta.getPropertyValues(fritz);\n"
@@ -2355,9 +2351,10 @@
"\n"
"// get a Map of all properties which are not collections or associations\n"
"Map namedValues = new HashMap();\n"
-"for ( int i=0; i<propertyNames.length; i++ ) {\n"
-" if ( !propertyTypes[i].isEntityType() && !propertyTypes[i]."
+"for ( int i=0; i<propertyNames.length; i++ ) {\n"
+" if ( !propertyTypes[i].isEntityType() && !propertyTypes[i]."
"isCollectionType() ) {\n"
" namedValues.put( propertyNames[i], propertyValues[i] );\n"
" }\n"
-"}"
+"}]]>"
+
More information about the jboss-cvs-commits
mailing list