[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 &lt; ?\")\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 &gt; i++ ) &amp;&amp; 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 ""
-"&lt;query name=\"ByNameAndMaximumWeight\"&gt;&lt;![CDATA[\n"
+"<![CDATA[<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
 "    from eg.DomesticCat as cat\n"
 "        where cat.name = ?\n"
-"        and cat.weight &gt; ?\n"
-"] ]&gt;&lt;/query&gt;"
+"        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>&lt;hibernate-"
 "mapping&gt;</literal> element requires a global unique name for the query, "
@@ -1032,7 +1033,7 @@
 "也请注意在 <literal>&lt;hibernate-mapping&gt;</literal> 元素中声明的查询必须"
 "有一个全局唯一的名字,而在 <literal>&lt;class&gt;</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&lt;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&lt;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>&lt;version&gt;</literal> or "
 "<literal>&lt;timestamp&gt;</literal>, and the version property value is the "
@@ -1637,7 +1636,7 @@
 msgstr ""
 "如果对象是附带版本信息的(通过 <literal>&lt;version&gt;</literal> 或 "
 "<literal>&lt;timestamp&gt;</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 "&lt;one-to-one name=\"person\" cascade=\"persist\"/&gt;"
+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 "&lt;one-to-one name=\"person\" cascade=\"persist,delete,lock\"/&gt;"
+#, 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>&lt;many-to-"
 "one&gt;</literal> or <literal>&lt;many-to-many&gt;</literal> association. "
@@ -2146,13 +2142,13 @@
 "<literal>&lt;one-to-many&gt;</literal> associations."
 msgstr ""
 "通常在 <literal>&lt;many-to-one&gt;</literal> 或 <literal>&lt;many-to-"
-"many&gt;</literal> 关系中应用级联(cascade)没什么意义。 级联(cascade)通常"
+"many&gt;</literal> 关系中应用级联(cascade)没什么意义。级联(cascade)通常"
 "在 <literal>&lt;one-to-one&gt;</literal>   和 <literal>&lt;one-to-many&gt;</"
-"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>&lt;one-to-many&gt;</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&lt;propertyNames.length; i++ ) {\n"
-"    if ( !propertyTypes[i].isEntityType() &amp;&amp; !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