﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-alxe1528</title><link>http://www.blogjava.net/alxe1528/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 07:54:09 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 07:54:09 GMT</pubDate><ttl>60</ttl><item><title>FCKeditor支持jsp</title><link>http://www.blogjava.net/alxe1528/archive/2012/02/28/370910.html</link><dc:creator>郑健成</dc:creator><author>郑健成</author><pubDate>Tue, 28 Feb 2012 05:08:00 GMT</pubDate><guid>http://www.blogjava.net/alxe1528/archive/2012/02/28/370910.html</guid><wfw:comment>http://www.blogjava.net/alxe1528/comments/370910.html</wfw:comment><comments>http://www.blogjava.net/alxe1528/archive/2012/02/28/370910.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/alxe1528/comments/commentRss/370910.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/alxe1528/services/trackbacks/370910.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;网上有许多关于FCKeditor支持jsp的配置，但自己还是要总结一下。&nbsp;&nbsp;&nbsp; IDE：MyEclipse6.5&nbsp;&nbsp;&nbsp; 框架：Struts2+spring+hibernate&nbsp;&nbsp;&nbsp;&nbsp;步骤：1. 在fckeditor的官方网站http://ckeditor.com/download下载FC...&nbsp;&nbsp;<a href='http://www.blogjava.net/alxe1528/archive/2012/02/28/370910.html'>阅读全文</a><img src ="http://www.blogjava.net/alxe1528/aggbug/370910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/alxe1528/" target="_blank">郑健成</a> 2012-02-28 13:08 <a href="http://www.blogjava.net/alxe1528/archive/2012/02/28/370910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate 参数设置一览表</title><link>http://www.blogjava.net/alxe1528/archive/2012/01/29/368976.html</link><dc:creator>郑健成</dc:creator><author>郑健成</author><pubDate>Sun, 29 Jan 2012 11:07:00 GMT</pubDate><guid>http://www.blogjava.net/alxe1528/archive/2012/01/29/368976.html</guid><wfw:comment>http://www.blogjava.net/alxe1528/comments/368976.html</wfw:comment><comments>http://www.blogjava.net/alxe1528/archive/2012/01/29/368976.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/alxe1528/comments/commentRss/368976.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/alxe1528/services/trackbacks/368976.html</trackback:ping><description><![CDATA[<div class="post">
<div class="postTitle"><a id="viewpost1_TitleUrl" href="http://www.blogjava.net/i369/articles/194855.html"><font color="#000000">Hibernate 参数设置一览表</font></a> </div>
<div class="postText">
<table border="1" summary="                Hibernate配置属性&#13;&#10;    ">
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.dialect</font></tt></td>
<td>一个Hibernate <tt class="literal"><font face="新宋体">Dialect</font></tt>类名允许Hibernate针对特定的关系数据库生成优化的SQL. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">full.classname.of.Dialect</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.show_sql</font></tt></td>
<td>输出所有SQL语句到控制台. 有一个另外的选择是把<tt class="literal"><font face="新宋体">org.hibernate.SQL</font></tt>这个log category设为<tt class="literal"><font face="新宋体">debug</font></tt>。 <span class="strong">eg.</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.format_sql</font></tt></td>
<td>在log和console中打印出更漂亮的SQL。 <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.default_schema</font></tt></td>
<td>在生成的SQL中, 将给定的schema/tablespace附加于非全限定名的表名上. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">SCHEMA_NAME</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.default_catalog</font></tt></td>
<td>在生成的SQL中, 将给定的catalog附加于非全限定名的表名上. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">CATALOG_NAME</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.session_factory_name</font></tt></td>
<td><tt class="literal"><font face="新宋体">SessionFactory</font></tt>创建后，将自动使用这个名字绑定到JNDI中. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">jndi/composite/name</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.max_fetch_depth</font></tt></td>
<td>为单向关联(一对一, 多对一)的外连接抓取（outer join fetch）树设置最大深度. 值为<tt class="literal"><font face="新宋体">0</font></tt>意味着将关闭默认的外连接抓取. <span class="strong">取值</span> 建议在<tt class="literal"><font face="新宋体">0</font></tt>到<tt class="literal"><font face="新宋体">3</font></tt>之间取值 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.default_batch_fetch_size</font></tt></td>
<td>为Hibernate关联的批量抓取设置默认数量. <span class="strong">取值</span> 建议的取值为<tt class="literal"><font face="新宋体">4</font></tt>, <tt class="literal"><font face="新宋体">8</font></tt>, 和<tt class="literal"><font face="新宋体">16</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.default_entity_mode</font></tt></td>
<td>为由这个<tt class="literal"><font face="新宋体">SessionFactory</font></tt>打开的所有Session指定默认的实体表现模式. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">dynamic-map</font></tt>, <tt class="literal"><font face="新宋体">dom4j</font></tt>, <tt class="literal"><font face="新宋体">pojo</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.order_updates</font></tt></td>
<td>强制Hibernate按照被更新数据的主键，为SQL更新排序。这么做将减少在高并发系统中事务的死锁。 <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.generate_statistics</font></tt></td>
<td>如果开启, Hibernate将收集有助于性能调节的统计数据. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.use_identifer_rollback</font></tt></td>
<td>如果开启, 在对象被删除时生成的标识属性将被重设为默认值. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.use_sql_comments</font></tt></td>
<td>如果开启, Hibernate将在SQL中生成有助于调试的注释信息, 默认值为<tt class="literal"><font face="新宋体">false</font></tt>. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr></tbody></table>
<div class="table"><a name="configuration-jdbc-properties"></a>
<p class="title"><strong>表 3.4. Hibernate JDBC和连接(connection)属性 </strong></p>
<table border="1" summary="                Hibernate JDBC和连接(connection)属性&#13;&#10;    ">
<colgroup>
<col></col>
<col></col></colgroup>
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.jdbc.fetch_size</font></tt></td>
<td>非零值，指定JDBC抓取数量的大小 (调用<tt class="literal"><font face="新宋体">Statement.setFetchSize()</font></tt>). </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.jdbc.batch_size</font></tt></td>
<td>非零值，允许Hibernate使用JDBC2的批量更新. <span class="strong">取值</span> 建议取<tt class="literal"><font face="新宋体">5</font></tt>到<tt class="literal"><font face="新宋体">30</font></tt>之间的值 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.jdbc.batch_versioned_data</font></tt></td>
<td>如果你想让你的JDBC驱动从<tt class="literal"><font face="新宋体">executeBatch()</font></tt>返回正确的行计数 , 那么将此属性设为<tt class="literal"><font face="新宋体">true</font></tt>(开启这个选项通常是安全的). 同时，Hibernate将为自动版本化的数据使用批量DML. 默认值为<tt class="literal"><font face="新宋体">false</font></tt>. <span class="strong">eg.</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.jdbc.factory_class</font></tt></td>
<td>选择一个自定义的<tt class="literal"><font face="新宋体">Batcher</font></tt>. 多数应用程序不需要这个配置属性. <span class="strong">eg.</span> <tt class="literal"><font face="新宋体">classname.of.Batcher</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.jdbc.use_scrollable_resultset</font></tt></td>
<td>允许Hibernate使用JDBC2的可滚动结果集. 只有在使用用户提供的JDBC连接时，这个选项才是必要的, 否则Hibernate会使用连接的元数据. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.jdbc.use_streams_for_binary</font></tt></td>
<td>在JDBC读写<tt class="literal"><font face="新宋体">binary (二进制)</font></tt>或<tt class="literal"><font face="新宋体">serializable (可序列化)</font></tt> 的类型时使用流(stream)(系统级属性). <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.jdbc.use_get_generated_keys</font></tt></td>
<td>在数据插入数据库之后，允许使用JDBC3 <tt class="literal"><font face="新宋体">PreparedStatement.getGeneratedKeys()</font></tt> 来获取数据库生成的key(键)。需要JDBC3+驱动和JRE1.4+, 如果你的数据库驱动在使用Hibernate的标 识生成器时遇到问题，请将此值设为false. 默认情况下将使用连接的元数据来判定驱动的能力. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true|false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.connection.provider_class</font></tt></td>
<td>自定义<tt class="literal"><font face="新宋体">ConnectionProvider</font></tt>的类名, 此类用来向Hibernate提供JDBC连接. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">classname.of.ConnectionProvider</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.connection.isolation</font></tt></td>
<td>设置JDBC事务隔离级别. 查看<tt class="literal"><font face="新宋体">java.sql.Connection</font></tt>来了解各个值的具体意义, 但请注意多数数据库都不支持所有的隔离级别. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">1, 2, 4, 8</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.connection.autocommit</font></tt></td>
<td>允许被缓存的JDBC连接开启自动提交(autocommit) (不建议). <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.connection.release_mode</font></tt></td>
<td>指定Hibernate在何时释放JDBC连接. 默认情况下,直到Session被显式关闭或被断开连接时,才会释放JDBC连接. 对于应用程序服务器的JTA数据源, 你应当使用<tt class="literal"><font face="新宋体">after_statement</font></tt>, 这样在每次JDBC调用后，都会主动的释放连接. 对于非JTA的连接, 使用<tt class="literal"><font face="新宋体">after_transaction</font></tt>在每个事务结束时释放连接是合理的. <tt class="literal"><font face="新宋体">auto</font></tt>将为JTA和CMT事务策略选择<tt class="literal"><font face="新宋体">after_statement</font></tt>, 为JDBC事务策略选择<tt class="literal"><font face="新宋体">after_transaction</font></tt>. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">on_close</font></tt> | <tt class="literal"><font face="新宋体">after_transaction</font></tt> | <tt class="literal"><font face="新宋体">after_statement</font></tt> | <tt class="literal"><font face="新宋体">auto</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.connection.<span class="emphasis"><em>&lt;propertyName&gt;</em></span></font></tt></td>
<td>将JDBC属性<tt class="literal"><font face="新宋体">propertyName</font></tt>传递到<tt class="literal"><font face="新宋体">DriverManager.getConnection()</font></tt>中去. </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.jndi.<span class="emphasis"><em>&lt;propertyName&gt;</em></span></font></tt></td>
<td>将属性<tt class="literal"><font face="新宋体">propertyName</font></tt>传递到JNDI <tt class="literal"><font face="新宋体">InitialContextFactory</font></tt>中去. </td></tr></tbody></table></div>
<div class="table"><a name="configuration-cache-properties"></a>
<p class="title"><strong>表 3.5. Hibernate缓存属性 </strong></p>
<table border="1" summary="                Hibernate缓存属性&#13;&#10;    ">
<colgroup>
<col></col>
<col></col></colgroup>
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.cache.provider_class</font></tt></td>
<td>自定义的<tt class="literal"><font face="新宋体">CacheProvider</font></tt>的类名. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">classname.of.CacheProvider</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.cache.use_minimal_puts</font></tt></td>
<td>以频繁的读操作为代价, 优化二级缓存来最小化写操作. 在Hibernate3中，这个设置对的集群缓存非常有用, 对集群缓存的实现而言，默认是开启的. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true|false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.cache.use_query_cache</font></tt></td>
<td>允许查询缓存, 个别查询仍然需要被设置为可缓存的. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true|false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.cache.use_second_level_cache</font></tt></td>
<td>能用来完全禁止使用二级缓存. 对那些在类的映射定义中指定<tt class="literal"><font face="新宋体">&lt;cache&gt;</font></tt>的类，会默认开启二级缓存. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true|false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.cache.query_cache_factory</font></tt></td>
<td>自定义实现<tt class="literal"><font face="新宋体">QueryCache</font></tt>接口的类名, 默认为内建的<tt class="literal"><font face="新宋体">StandardQueryCache</font></tt>. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">classname.of.QueryCache</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.cache.region_prefix</font></tt></td>
<td>二级缓存区域名的前缀. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">prefix</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.cache.use_structured_entries</font></tt></td>
<td>强制Hibernate以更人性化的格式将数据存入二级缓存. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true|false</font></tt> </td></tr></tbody></table></div>
<div class="table"><a name="configuration-transaction-properties"></a>
<p class="title"><strong>表 3.6. Hibernate事务属性 </strong></p>
<table border="1" summary="                Hibernate事务属性&#13;&#10;    ">
<colgroup>
<col></col>
<col></col></colgroup>
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.transaction.factory_class</font></tt></td>
<td>一个<tt class="literal"><font face="新宋体">TransactionFactory</font></tt>的类名, 用于Hibernate <tt class="literal"><font face="新宋体">Transaction</font></tt> API (默认为<tt class="literal"><font face="新宋体">JDBCTransactionFactory</font></tt>). <span class="strong">取值</span> <tt class="literal"><font face="新宋体">classname.of.TransactionFactory</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">jta.UserTransaction</font></tt></td>
<td>一个JNDI名字，被<tt class="literal"><font face="新宋体">JTATransactionFactory</font></tt>用来从应用服务器获取JTA <tt class="literal"><font face="新宋体">UserTransaction</font></tt>. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">jndi/composite/name</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.transaction.manager_lookup_class</font></tt></td>
<td>一个<tt class="literal"><font face="新宋体">TransactionManagerLookup</font></tt>的类名 - 当使用JVM级缓存，或在JTA环境中使用hilo生成器的时候需要该类. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">classname.of.TransactionManagerLookup</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.transaction.flush_before_completion</font></tt></td>
<td>如果开启, session在事务完成后将被自动清洗(flush)。 现在更好的方法是使用自动session上下文管理。<span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.transaction.auto_close_session</font></tt></td>
<td>如果开启, session在事务完成后将被自动关闭。 现在更好的方法是使用自动session上下文管理。<span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr></tbody></table></div>
<div class="table"><a name="configuration-misc-properties"></a>
<p class="title"><strong>表 3.7. 其他属性 </strong></p>
<table border="1" summary="                其他属性&#13;&#10;    ">
<colgroup>
<col></col>
<col></col></colgroup>
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.current_session_context_class</font></tt></td>
<td>为"当前" <tt class="literal"><font face="新宋体">Session</font></tt>指定一个(自定义的)策略。<span class="strong">eg.</span> <tt class="literal"><font face="新宋体">jta</font></tt> | <tt class="literal"><font face="新宋体">thread</font></tt> | <tt class="literal"><font face="新宋体">custom.Class</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.query.factory_class</font></tt></td>
<td>选择HQL解析器的实现. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">org.hibernate.hql.ast.ASTQueryTranslatorFactory</font></tt> or <tt class="literal"><font face="新宋体">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.query.substitutions</font></tt></td>
<td>将Hibernate查询中的符号映射到SQL查询中的符号 (符号可能是函数名或常量名字). <span class="strong">取值</span> <tt class="literal"><font face="新宋体">hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.hbm2ddl.auto</font></tt></td>
<td>在<tt class="literal"><font face="新宋体">SessionFactory</font></tt>创建时，自动检查数据库结构，或者将数据库schema的DDL导出到数据库. 使用 <tt class="literal"><font face="新宋体">create-drop</font></tt>时,在显式关闭<tt class="literal"><font face="新宋体">SessionFactory</font></tt>时，将drop掉数据库schema. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">validate</font></tt> | <tt class="literal"><font face="新宋体">update</font></tt> | <tt class="literal"><font face="新宋体">create</font></tt> | <tt class="literal"><font face="新宋体">create-drop</font></tt> </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">hibernate.cglib.use_reflection_optimizer</font></tt></td>
<td>开启CGLIB来替代运行时反射机制(系统级属性). 反射机制有时在除错时比较有用. 注意即使关闭这个优化, Hibernate还是需要CGLIB. 你不能在<tt class="literal"><font face="新宋体">hibernate.cfg.xml</font></tt>中设置此属性. <span class="strong">取值</span> <tt class="literal"><font face="新宋体">true</font></tt> | <tt class="literal"><font face="新宋体">false</font></tt> </td></tr></tbody></table></div>
<div lang="zh-cn" class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a name="configuration-optional-dialects"></a>3.4.1. SQL方言 </h3></div></div></div>
<p>你应当总是为你的数据库将<tt class="literal"><font face="新宋体">hibernate.dialect</font></tt>属性设置成正确的 <tt class="literal"><font face="新宋体">org.hibernate.dialect.Dialect</font></tt>子类. 如果你指定一种方言, Hibernate将为上面列出的一些属性使用合理的默认值, 为你省去了手工指定它们的功夫. </p>
<div class="table"><a name="sql-dialects"></a>
<p class="title"><strong>表 3.8. Hibernate SQL方言 (<tt class="literal"><font face="新宋体">hibernate.dialect</font></tt>) </strong></p>
<table border="1" summary="                    Hibernate SQL方言 (hibernate.dialect)&#13;&#10;    ">
<colgroup>
<col></col>
<col></col></colgroup>
<thead>
<tr>
<th>RDBMS</th>
<th>方言 </th></tr></thead>
<tbody>
<tr>
<td>DB2</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.DB2Dialect</font></tt></td></tr>
<tr>
<td>DB2 AS/400</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.DB2400Dialect</font></tt></td></tr>
<tr>
<td>DB2 OS390</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.DB2390Dialect</font></tt></td></tr>
<tr>
<td>PostgreSQL</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.PostgreSQLDialect</font></tt></td></tr>
<tr>
<td>MySQL</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.MySQLDialect</font></tt></td></tr>
<tr>
<td>MySQL with InnoDB</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.MySQLInnoDBDialect</font></tt></td></tr>
<tr>
<td>MySQL with MyISAM</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.MySQLMyISAMDialect</font></tt></td></tr>
<tr>
<td>Oracle (any version)</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.OracleDialect</font></tt></td></tr>
<tr>
<td>Oracle 9i/10g</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.Oracle9Dialect</font></tt></td></tr>
<tr>
<td>Sybase</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.SybaseDialect</font></tt></td></tr>
<tr>
<td>Sybase Anywhere</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.SybaseAnywhereDialect</font></tt></td></tr>
<tr>
<td>Microsoft SQL Server</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.SQLServerDialect</font></tt></td></tr>
<tr>
<td>SAP DB</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.SAPDBDialect</font></tt></td></tr>
<tr>
<td>Informix</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.InformixDialect</font></tt></td></tr>
<tr>
<td>HypersonicSQL</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.HSQLDialect</font></tt></td></tr>
<tr>
<td>Ingres</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.IngresDialect</font></tt></td></tr>
<tr>
<td>Progress</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.ProgressDialect</font></tt></td></tr>
<tr>
<td>Mckoi SQL</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.MckoiDialect</font></tt></td></tr>
<tr>
<td>Interbase</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.InterbaseDialect</font></tt></td></tr>
<tr>
<td>Pointbase</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.PointbaseDialect</font></tt></td></tr>
<tr>
<td>FrontBase</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.FrontbaseDialect</font></tt></td></tr>
<tr>
<td>Firebird</td>
<td><tt class="literal"><font face="新宋体">org.hibernate.dialect.FirebirdDialect</font></tt></td></tr></tbody></table></div></div>
<div>
<p class="title"><strong>表 3.9. Hibernate日志类别 </strong></p>
<table border="1" summary="                    Hibernate日志类别&#13;&#10;    ">
<colgroup>
<col></col>
<col></col></colgroup>
<thead>
<tr>
<th>类别 </th>
<th>功能 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.SQL</font></tt></td>
<td>在所有SQL DML语句被执行时为它们记录日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.type</font></tt></td>
<td>为所有JDBC参数记录日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.tool.hbm2ddl</font></tt></td>
<td>在所有SQL DDL语句执行时为它们记录日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.pretty</font></tt></td>
<td>在session清洗(flush)时，为所有与其关联的实体(最多20个)的状态记录日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.cache</font></tt></td>
<td>为所有二级缓存的活动记录日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction</font></tt></td>
<td>为事务相关的活动记录日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.jdbc</font></tt></td>
<td>为所有JDBC资源的获取记录日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.hql.AST</font></tt></td>
<td>在解析查询的时候,记录HQL和SQL的AST分析日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.secure</font></tt></td>
<td>为JAAS认证请求做日志 </td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate</font></tt></td>
<td>为任何Hibernate相关信息做日志 (信息量较大, 但对查错非常有帮助) </td></tr></tbody></table></div>
<p class="title"><strong>表 3.10. JTA TransactionManagers</strong></p>
<table border="1" summary="JTA TransactionManagers">
<colgroup>
<col></col>
<col></col></colgroup>
<thead>
<tr>
<th>Transaction工厂类 </th>
<th align="center">应用程序服务器 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.JBossTransactionManagerLookup</font></tt></td>
<td align="center">JBoss</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.WeblogicTransactionManagerLookup</font></tt></td>
<td align="center">Weblogic</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.WebSphereTransactionManagerLookup</font></tt></td>
<td align="center">WebSphere</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</font></tt></td>
<td align="center">WebSphere 6</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.OrionTransactionManagerLookup</font></tt></td>
<td align="center">Orion</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.ResinTransactionManagerLookup</font></tt></td>
<td align="center">Resin</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.JOTMTransactionManagerLookup</font></tt></td>
<td align="center">JOTM</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.JOnASTransactionManagerLookup</font></tt></td>
<td align="center">JOnAS</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.JRun4TransactionManagerLookup</font></tt></td>
<td align="center">JRun4</td></tr>
<tr>
<td><tt class="literal"><font face="新宋体">org.hibernate.transaction.BESTransactionManagerLookup</font></tt></td>
<td align="center">Borland ES</td></tr></tbody></table><br /></div>
<div class="postfoot">posted on 2008-04-22 18:28 <a href="http://www.blogjava.net/i369/"><font color="#444444">芦苇</font></a> 阅读(877) <a href="http://www.blogjava.net/i369/articles/194855.html#Post"><font color="#444444">评论(1)</font></a> <a href="http://www.blogjava.net/i369/admin/EditArticles.aspx?postid=194855"><font color="#444444">编辑</font></a> <a href="http://www.blogjava.net/i369/AddToFavorite.aspx?id=194855"><font color="#444444">收藏</font></a> 所属分类: <a href="http://www.blogjava.net/i369/category/18312.html"><font color="#444444">Hibernate</font></a> </div></div><img src="http://www.blogjava.net/i369/aggbug/194855.html?webview=1" width="1" height="1"  alt="" /> <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description rdf:about="http://www.blogjava.net/i369/articles/194855.html" dc:identifier="http://www.blogjava.net/i369/articles/194855.html" dc:title="Hibernate 参数设置一览表" trackback:ping="http://www.blogjava.net/i369/services/trackbacks/194855.aspx"  />
</rdf:RDF>
-->
<script type="text/javascript">
//<![CDATA[ Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90);
//]]&gt;
</script> 
<div id="AjaxHolder_UpdatePanel1"><a name="pagedcomment"></a><a name="feedback"></a>
<div id="comments">
<h3>Feedback</h3>
<div class="post">
<div class="postTitle"><a title="permalink: re: Hibernate 参数设置一览表" href="http://www.blogjava.net/i369/articles/194855.html#234281"><font color="#000000">#</font></a> <a name="234281"></a>re: Hibernate 参数设置一览表<a name="Post"></a> <span>2008-10-14 18:13 </span><a id="AjaxHolder_Comments_CommentList_ctl00_NameLink" href="http://www.blogjava.net/i369/" target="_blank"><font color="#000000">芦苇</font></a> </div>
<div class="postText">
<h3 class="title">SQL方言</h3><strong>1、Hibernate JDBC属性</strong> <br /><br />
<table border="1" summary="                Hibernate JDBC属性&#13;&#10;            ">
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal">hibernate.connection.driver_class</tt> </td>
<td><em><span class="emphasis"><em>jdbc驱动类</em> </span></em></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.url</tt> </td>
<td><span class="emphasis"><em>jdbc URL</em> </span></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.username</tt> </td>
<td><span class="emphasis"><em>数据库用户</em> </span></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.password</tt> </td>
<td><span class="emphasis"><em>数据库用户密码</em> </span></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.pool_size</tt> </td>
<td><span class="emphasis"><em>连接池容量上限数目</em> </span></td></tr></tbody></table>注：使用C3P0的properties样例代码：<br />
<div style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; padding-bottom: 4px; background-color: rgb(238,238,238); padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; border-top: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: rgb(0,0,0)">hibernate.connection.driver_class = org.postgresql.Driver<br />hibernate.connection.url = jdbc:postgresql://localhost/mydatabase<br />hibernate.connection.username = myuser<br />hibernate.connection.password = secret<br />hibernate.c3p0.min_size=5<br />hibernate.c3p0.max_size=20<br />hibernate.c3p0.timeout=1800<br />hibernate.c3p0.max_statements=50<br />hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect</span></div><br /><strong>2、Hibernate的数据源属性</strong><br />
<table border="1" summary="                Hibernate数据源属性&#13;&#10;            " width="544" height="182">
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal">hibernate.connection.datasource</tt></td>
<td><span class="emphasis"><em>数据源JNDI名字</em></span></td></tr>
<tr>
<td><tt class="literal">hibernate.jndi.url</tt></td>
<td><span class="emphasis"><em>JNDI提供者的URL</em></span> (可选) </td></tr>
<tr>
<td><tt class="literal">hibernate.jndi.class</tt></td>
<td><span class="emphasis"><em>JNDI <tt class="literal">InitialContextFactory</tt>类</em></span> (可选) </td></tr>
<tr>
<td><tt class="literal">hibernate.connection.username</tt></td>
<td><span class="emphasis"><em>数据库用户</em></span> (可选) </td></tr>
<tr>
<td><tt class="literal">hibernate.connection.password</tt></td>
<td><span class="emphasis"><em>数据库用户密码</em></span> (可选)</td></tr></tbody></table>注：应用程序服务器JNDI数据源的<tt class="literal">hibernate.properties</tt>样例代码：<br />
<div style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; padding-bottom: 4px; background-color: rgb(238,238,238); padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; border-top: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: rgb(0,0,0)">hibernate.connection.datasource = java:/comp/env/jdbc/test<br />hibernate.transaction.factory_class = \<br />org.hibernate.transaction.JTATransactionFactory<br />hibernate.transaction.manager_lookup_class = \<br />org.hibernate.transaction.JBossTransactionManagerLookup<br />hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect</span></div><br />3、<strong>Hibernate配置属性（可选）</strong><br />
<table border="1" summary="                Hibernate配置属性&#13;&#10;            " width="745" height="870">
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal">hibernate.dialect</tt></td>
<td>一个Hibernate <tt class="literal">Dialect</tt>类名允许Hibernate针对特定的关系数据库生成优化的SQL. 
<p><span class="strong">取值</span><tt class="literal">full.classname.of.Dialect</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.show_sql</tt></td>
<td>输出所有SQL语句到控制台. 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.format_sql</tt></td>
<td>在log和console中打印出更漂亮的sql. 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.default_schema</tt></td>
<td>在生成的SQL中, 将给定的schema/tablespace附加于非全限定名的表名上. 
<p><span class="strong">取值</span><tt class="literal">SCHEMA_NAME</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.default_catalog</tt></td>
<td>在生成的SQL中, 将给定的catalog附加于没全限定名的表名上. 
<p><span class="strong">取值</span><tt class="literal">CATALOG_NAME</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.session_factory_name</tt></td>
<td><tt class="literal">SessionFactory</tt>创建后，将自动使用这个名字绑定到JNDI中. 
<p><span class="strong">取值</span><tt class="literal">jndi/composite/name</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.max_fetch_depth</tt></td>
<td>为单向关联(一对一, 多对一)的外连接抓取（outer join fetch）树设置最大深度. 值为<tt class="literal">0</tt>意味着将关闭默认的外连接抓取. 
<p><span class="strong">取值</span> 建议在<tt class="literal">0</tt>到<tt class="literal">3</tt>之间取值 </p></td></tr>
<tr>
<td><tt class="literal">hibernate.default_batch_fetch_size</tt></td>
<td>为Hibernate关联的批量抓取设置默认数量. 
<p><span class="strong">取值</span> 建议的取值为<tt class="literal">4</tt>, <tt class="literal">8</tt>, 和<tt class="literal">16</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.default_entity_mode</tt></td>
<td>为由这个<tt class="literal">SessionFactory</tt>打开的所有Session指定默认的实体表现模式. 
<p><span class="strong">取值</span><tt class="literal">dynamic-map</tt>, <tt class="literal">dom4j</tt>, <tt class="literal">pojo</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.order_updates</tt></td>
<td>强制Hibernate按照被更新数据的主键，为SQL更新排序。这么做将减少在高并发系统中事务的死锁。 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.generate_statistics</tt></td>
<td>如果开启, Hibernate将收集有助于性能调节的统计数据. 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.use_identifer_rollback</tt></td>
<td>如果开启, 在对象被删除时生成的标识属性将被重设为默认值. 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.use_sql_comments</tt></td>
<td>如果开启, Hibernate将在SQL中生成有助于调试的注释信息, 默认值为<tt class="literal">false</tt>. 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr></tbody></table><br />4、<strong>Hibernate JDBC和连接(connection)属性<br /></strong>
<table border="1" summary="                Hibernate JDBC和连接(connection)属性&#13;&#10;            ">
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal">hibernate.jdbc.fetch_size</tt></td>
<td>非零值，指定JDBC抓取数量的大小 (调用<tt class="literal">Statement.setFetchSize()</tt>). </td></tr>
<tr>
<td><tt class="literal">hibernate.jdbc.batch_size</tt></td>
<td>非零值，允许Hibernate使用JDBC2的批量更新. 
<p><span class="strong">取值</span> 建议取<tt class="literal">5</tt>到<tt class="literal">30</tt>之间的值 </p></td></tr>
<tr>
<td><tt class="literal">hibernate.jdbc.batch_versioned_data</tt></td>
<td>如果你想让你的JDBC驱动从<tt class="literal">executeBatch()</tt>返回正确的行计数 , 那么将此属性设为<tt class="literal">true</tt>(开启这个选项通常是安全的). 同时，Hibernate将为自动版本化的数据使用批量DML. 默认值为<tt class="literal">false</tt>. 
<p><span class="strong">eg.</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.jdbc.factory_class</tt></td>
<td>选择一个自定义的<tt class="literal">Batcher</tt>. 多数应用程序不需要这个配置属性. 
<p><span class="strong">eg.</span><tt class="literal">classname.of.Batcher</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.jdbc.use_scrollable_resultset</tt></td>
<td>允许Hibernate使用JDBC2的可滚动结果集. 只有在使用用户提供的JDBC连接时，这个选项才是必要的, 否则Hibernate会使用连接的元数据. 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.jdbc.use_streams_for_binary</tt></td>
<td>在JDBC读写<tt class="literal">binary (二进制)</tt>或<tt class="literal">serializable (可序列化)</tt> 的类型时使用流(stream)(系统级属性). 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.jdbc.use_get_generated_keys</tt></td>
<td>在数据插入数据库之后，允许使用JDBC3 <tt class="literal">PreparedStatement.getGeneratedKeys()</tt> 来获取数据库生成的key(键)。需要JDBC3+驱动和JRE1.4+, 如果你的数据库驱动在使用Hibernate的标 识生成器时遇到问题，请将此值设为false. 默认情况下将使用连接的元数据来判定驱动的能力. 
<p><span class="strong">取值</span><tt class="literal">true|false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.provider_class</tt></td>
<td>自定义<tt class="literal">ConnectionProvider</tt>的类名, 此类用来向Hibernate提供JDBC连接. 
<p><span class="strong">取值</span><tt class="literal">classname.of.ConnectionProvider</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.isolation</tt></td>
<td>设置JDBC事务隔离级别. 查看<tt class="literal">java.sql.Connection</tt>来了解各个值的具体意义, 但请注意多数数据库都不支持所有的隔离级别. 
<p><span class="strong">取值</span><tt class="literal">1, 2, 4, 8</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.autocommit</tt></td>
<td>允许被缓存的JDBC连接开启自动提交(autocommit) (不建议). 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.release_mode</tt></td>
<td>指定Hibernate在何时释放JDBC连接. 默认情况下,直到Session被显式关闭或被断开连接时,才会释放JDBC连接. 对于应用程序服务器的JTA数据源, 你应当使用<tt class="literal">after_statement</tt>, 这样在每次JDBC调用后，都会主动的释放连接. 对于非JTA的连接, 使用<tt class="literal">after_transaction</tt>在每个事务结束时释放连接是合理的. <tt class="literal">auto</tt>将为JTA和CMT事务策略选择<tt class="literal">after_statement</tt>, 为JDBC事务策略选择<tt class="literal">after_transaction</tt>. 
<p><span class="strong">取值</span><tt class="literal">on_close</tt> | <tt class="literal">after_transaction</tt> | <tt class="literal">after_statement</tt> | <tt class="literal">auto</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.connection.<span class="emphasis"><em>&lt;propertyName&gt;</em></span></tt></td>
<td>将JDBC属性<tt class="literal">propertyName</tt>传递到<tt class="literal">DriverManager.getConnection()</tt>中去. </td></tr>
<tr>
<td><tt class="literal">hibernate.jndi.<span class="emphasis"><em>&lt;propertyName&gt;</em></span></tt></td>
<td>将属性<tt class="literal">propertyName</tt>传递到JNDI <tt class="literal">InitialContextFactory</tt>中去.</td></tr></tbody></table><br /><strong>5、Hibernate缓存属性<br /></strong>
<table border="1" summary="                Hibernate缓存属性&#13;&#10;            ">
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal">hibernate.cache.provider_class</tt></td>
<td>自定义的<tt class="literal">CacheProvider</tt>的类名. 
<p><span class="strong">取值</span><tt class="literal">classname.of.CacheProvider</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.cache.use_minimal_puts</tt></td>
<td>以频繁的读操作为代价, 优化二级缓存来最小化写操作. 在Hibernate3中，这个设置对的集群缓存非常有用, 对集群缓存的实现而言，默认是开启的. 
<p><span class="strong">取值</span><tt class="literal">true|false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.cache.use_query_cache</tt></td>
<td>允许查询缓存, 个别查询仍然需要被设置为可缓存的. 
<p><span class="strong">取值</span><tt class="literal">true|false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.cache.use_second_level_cache</tt></td>
<td>能用来完全禁止使用二级缓存. 对那些在类的映射定义中指定<tt class="literal">&lt;cache&gt;</tt>的类，会默认开启二级缓存. 
<p><span class="strong">取值</span><tt class="literal">true|false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.cache.query_cache_factory</tt></td>
<td>自定义的实现<tt class="literal">QueryCache</tt>接口的类名, 默认为内建的<tt class="literal">StandardQueryCache</tt>. 
<p><span class="strong">取值</span><tt class="literal">classname.of.QueryCache</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.cache.region_prefix</tt></td>
<td>二级缓存区域名的前缀. 
<p><span class="strong">取值</span><tt class="literal">prefix</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.cache.use_structured_entries</tt></td>
<td>强制Hibernate以更人性化的格式将数据存入二级缓存. 
<p><span class="strong">取值</span><tt class="literal">true|false</tt></p></td></tr></tbody></table><br />6、<strong>Hibernate事务属性<br /></strong>
<table border="1" summary="                Hibernate事务属性&#13;&#10;            ">
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal">hibernate.transaction.factory_class</tt></td>
<td>一个<tt class="literal">TransactionFactory</tt>的类名, 用于Hibernate <tt class="literal">Transaction</tt> API (默认为<tt class="literal">JDBCTransactionFactory</tt>). 
<p><span class="strong">取值</span><tt class="literal">classname.of.TransactionFactory</tt></p></td></tr>
<tr>
<td><tt class="literal">jta.UserTransaction</tt></td>
<td>一个JNDI名字，被<tt class="literal">JTATransactionFactory</tt>用来从应用服务器获取JTA <tt class="literal">UserTransaction</tt>. 
<p><span class="strong">取值</span><tt class="literal">jndi/composite/name</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.transaction.manager_lookup_class</tt></td>
<td>一个<tt class="literal">TransactionManagerLookup</tt>的类名 - 当使用JVM级缓存，或在JTA环境中使用hilo生成器的时候需要该类. 
<p><span class="strong">取值</span><tt class="literal">classname.of.TransactionManagerLookup</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.transaction.flush_before_completion</tt></td>
<td>如果开启, session在事务完成后将被自动清洗(flush). (在Hibernate和CMT一起使用时很有用.) 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.transaction.auto_close_session</tt></td>
<td>如果开启, session在事务完成前将被自动关闭. (在Hibernate和CMT一起使用时很有用.) 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr></tbody></table><br />7、<strong>其他属性<br /></strong>
<table border="1" summary="                其他属性&#13;&#10;            ">
<thead>
<tr>
<th>属性名 </th>
<th>用途 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal">hibernate.query.factory_class</tt></td>
<td>选择HQL解析器的实现. 
<p><span class="strong">取值</span><tt class="literal">org.hibernate.hql.ast.ASTQueryTranslatorFactory</tt> or <tt class="literal">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.query.substitutions</tt></td>
<td>将Hibernate查询中的符号映射到SQL查询中的符号 (符号可能是函数名或常量名字). 
<p><span class="strong">取值</span><tt class="literal">hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.hbm2ddl.auto</tt></td>
<td>在<tt class="literal">SessionFactory</tt>创建时，自动将数据库schema的DDL导出到数据库. 使用 <tt class="literal">create-drop</tt>时,在显式关闭<tt class="literal">SessionFactory</tt>时，将drop掉数据库schema. 
<p><span class="strong">取值</span><tt class="literal">update</tt> | <tt class="literal">create</tt> | <tt class="literal">create-drop</tt></p></td></tr>
<tr>
<td><tt class="literal">hibernate.cglib.use_reflection_optimizer</tt></td>
<td>开启CGLIB来替代运行时反射机制(系统级属性). 反射机制有时在除错时比较有用. 注意即使关闭这个优化, Hibernate还是需要CGLIB. 你不能在<tt class="literal">hibernate.cfg.xml</tt>中设置此属性. 
<p><span class="strong">取值</span><tt class="literal">true</tt> | <tt class="literal">false</tt></p></td></tr></tbody></table><br />8、<strong>SQL方言<br /></strong><strong>Hibernate SQL方言 (<tt class="literal">hibernate.dialect</tt>) </strong>
<table border="1" summary="                    Hibernate SQL方言 (hibernate.dialect)&#13;&#10;                " width="520" height="614">
<colgroup>
<col>
<col></colgroup>
<thead>
<tr>
<th>RDBMS</th>
<th>方言 </th></tr></thead>
<tbody>
<tr>
<td>DB2</td>
<td><tt class="literal">org.hibernate.dialect.DB2Dialect</tt></td></tr>
<tr>
<td>DB2 AS/400</td>
<td><tt class="literal">org.hibernate.dialect.DB2400Dialect</tt></td></tr>
<tr>
<td>DB2 OS390</td>
<td><tt class="literal">org.hibernate.dialect.DB2390Dialect</tt></td></tr>
<tr>
<td>PostgreSQL</td>
<td><tt class="literal">org.hibernate.dialect.PostgreSQLDialect</tt></td></tr>
<tr>
<td>MySQL</td>
<td><tt class="literal">org.hibernate.dialect.MySQLDialect</tt></td></tr>
<tr>
<td>MySQL with InnoDB</td>
<td><tt class="literal">org.hibernate.dialect.MySQLInnoDBDialect</tt></td></tr>
<tr>
<td>MySQL with MyISAM</td>
<td><tt class="literal">org.hibernate.dialect.MySQLMyISAMDialect</tt></td></tr>
<tr>
<td>Oracle (any version)</td>
<td><tt class="literal">org.hibernate.dialect.OracleDialect</tt></td></tr>
<tr>
<td>Oracle 9i/10g</td>
<td><tt class="literal">org.hibernate.dialect.Oracle9Dialect</tt></td></tr>
<tr>
<td>Sybase</td>
<td><tt class="literal">org.hibernate.dialect.SybaseDialect</tt></td></tr>
<tr>
<td>Sybase Anywhere</td>
<td><tt class="literal">org.hibernate.dialect.SybaseAnywhereDialect</tt></td></tr>
<tr>
<td>Microsoft SQL Server</td>
<td><tt class="literal">org.hibernate.dialect.SQLServerDialect</tt></td></tr>
<tr>
<td>SAP DB</td>
<td><tt class="literal">org.hibernate.dialect.SAPDBDialect</tt></td></tr>
<tr>
<td>Informix</td>
<td><tt class="literal">org.hibernate.dialect.InformixDialect</tt></td></tr>
<tr>
<td>HypersonicSQL</td>
<td><tt class="literal">org.hibernate.dialect.HSQLDialect</tt></td></tr>
<tr>
<td>Ingres</td>
<td><tt class="literal">org.hibernate.dialect.IngresDialect</tt></td></tr>
<tr>
<td>Progress</td>
<td><tt class="literal">org.hibernate.dialect.ProgressDialect</tt></td></tr>
<tr>
<td>Mckoi SQL</td>
<td><tt class="literal">org.hibernate.dialect.MckoiDialect</tt></td></tr>
<tr>
<td>Interbase</td>
<td><tt class="literal">org.hibernate.dialect.InterbaseDialect</tt></td></tr>
<tr>
<td>Pointbase</td>
<td><tt class="literal">org.hibernate.dialect.PointbaseDialect</tt></td></tr>
<tr>
<td>FrontBase</td>
<td><tt class="literal">org.hibernate.dialect.FrontbaseDialect</tt></td></tr>
<tr>
<td>Firebird</td>
<td><tt class="literal">org.hibernate.dialect.FirebirdDialect</tt></td></tr></tbody></table><br />9、<strong>Hibernate日志类别<br /></strong>
<table border="1" summary="                    Hibernate日志类别&#13;&#10;                " width="745" height="315">
<thead>
<tr>
<th>类别 </th>
<th>功能 </th></tr></thead>
<tbody>
<tr>
<td><tt class="literal">org.hibernate.SQL</tt></td>
<td>在所有SQL DML语句被执行时为它们记录日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate.type</tt></td>
<td>为所有JDBC参数记录日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate.tool.hbm2ddl</tt></td>
<td>在所有SQL DDL语句执行时为它们记录日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate.pretty</tt></td>
<td>在session清洗(flush)时，为所有与其关联的实体(最多20个)的状态记录日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate.cache</tt></td>
<td>为所有二级缓存的活动记录日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate.transaction</tt></td>
<td>为事务相关的活动记录日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate.jdbc</tt></td>
<td>为所有JDBC资源的获取记录日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate.hql.ast</tt></td>
<td>为HQL和SQL的自动状态转换和其他关于查询解析的信息记录日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate.secure</tt></td>
<td>为JAAS认证请求做日志 </td></tr>
<tr>
<td><tt class="literal">org.hibernate</tt></td>
<td>为任何Hibernate相关信息做日志 (信息量较大, 但对查错非常有帮助)</td></tr></tbody></table></div></div></div></div><img src ="http://www.blogjava.net/alxe1528/aggbug/368976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/alxe1528/" target="_blank">郑健成</a> 2012-01-29 19:07 <a href="http://www.blogjava.net/alxe1528/archive/2012/01/29/368976.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转载)Web开发:"父窗口"与"弹出子窗口"之间的刷新, 传值 </title><link>http://www.blogjava.net/alxe1528/archive/2012/01/22/368830.html</link><dc:creator>郑健成</dc:creator><author>郑健成</author><pubDate>Sun, 22 Jan 2012 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/alxe1528/archive/2012/01/22/368830.html</guid><wfw:comment>http://www.blogjava.net/alxe1528/comments/368830.html</wfw:comment><comments>http://www.blogjava.net/alxe1528/archive/2012/01/22/368830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/alxe1528/comments/commentRss/368830.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/alxe1528/services/trackbacks/368830.html</trackback:ping><description><![CDATA[Posted on 2006-12-13 21:07 <a href="http://www.cnblogs.com/ysm1502/">灰色_軌迹</a> 阅读(550) <a href="http://www.cnblogs.com/ysm1502/archive/2006/12/13/591443.html#commentform">评论(0)</a> <a href="http://www.cnblogs.com/ysm1502/archive/2006/12/13/591443.html#" rel="nofollow">编辑</a> <a href="http://www.cnblogs.com/ysm1502/archive/2006/12/13/591443.html#">收藏</a> <img alt="" src="http://www.cnblogs.com/ysm1502/aggbug/591443.html?type=1&amp;webview=1" width="1" height="1" /> 
<div class="postbody">
<div id="cnblogs_post_body"><font size="2">W<span style="font-size: 10pt">eb开发中</span><span style="font-size: 10pt">适当运用一些弹</span>出子窗口有很多好处,<span style="font-size: 10pt">可以</span>节省页面设计代价,获得好的用户体验,在最近<span style="font-size: 10pt">项目</span>开发中我遇到了几个父子窗口的问题,现在整理给大家,希望有所帮助.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp; 情景一: 打开某一子窗口, 子窗口中任一按钮点击时候不能弹出新页面，进行完操作后,关闭该子窗口,刷新父窗口.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1:&nbsp;页面A:父窗口,其中有一个打开子窗口的链接,&lt;a&nbsp; href="#"onclick="open()</font><span style="font-size: 10pt">"&gt;页面C&lt;/a&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A中有如下js代码: 
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 97.79%; padding-right: 5px; height: 106px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img alt="" align="top" src="http://maxwolf.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;language</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">JavaScript</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://maxwolf.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;open()<br /><img alt="" align="top" src="http://maxwolf.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;{<br /><img alt="" align="top" src="http://maxwolf.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window</span><span style="color: #000000">.</span><span style="color: #000000">showModalDialog(</span><span style="color: #000000">"</span><span style="color: #000000">页面B</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img alt="" align="top" src="http://maxwolf.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://maxwolf.cnblogs.com/Images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2: 页面B,此为中间页,起过渡作用<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B html 代码如下:</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">&lt;!</span><span style="color: #000000">DOCTYPE&nbsp;html&nbsp;</span><span style="color: #0000ff">PUBLIC</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">html&nbsp;xmlns</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">http://www.w3.org/1999/xhtml</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">head</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">meta&nbsp;http</span><span style="color: #000000">-</span><span style="color: #000000">equiv</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">Content-Type</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;content</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">text/html;&nbsp;charset=gb2312</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">title</span><span style="color: #000000">&gt;**&lt;/</span><span style="color: #000000">title</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">head</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">frameset&nbsp;rows</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">0,*</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">frame&nbsp;src</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">about:blank</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">frame&nbsp;src</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">页面C</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">frameset</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">noframes</span><span style="color: #000000">&gt;&lt;/</span><span style="color: #000000">noframes</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">html</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3:页面C ,要打开的子窗口. <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 它关闭时候刷新父窗口很简单,只要把A中<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a&nbsp; href="#"onclick="open()<span style="font-size: 10pt">"&gt;页面C&lt;/a&gt;&nbsp; 改为<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a&nbsp; href="页面A"onclick="open()<span style="font-size: 10pt">"&gt;页面C&lt;/a&gt;<br /><br />&nbsp;&nbsp;&nbsp; 情景二:打开某一需要用到activex控件子窗口, 子窗口中任一按钮点击时候不能弹出新页面，进行完操作后,关闭该子窗口,刷新父窗口.&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 10pt">&nbsp;&nbsp;<font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><font style="font-size: 10pt" color="#000000" size="3" face="Times New Roman">此时候就不能用</font></span><span style="font-size: 10pt"> <span style="font-size: 10pt">window.showModalDialog（）</span></span><span style="font-size: 10pt">事件打开模式对话框了</span><span style="font-size: 10pt">，<span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><font style="font-size: 8pt" color="#000000" size="3" face="Times New Roman">因为</font></span></span><span style="font-size: 10pt">activex</span><span style="font-size: 10pt">控件会报错</span><span style="font-size: 10pt">，必须用</span></font></span></span><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><font style="font-size: 10pt" color="#000000" size="3" face="Times New Roman">window.open()<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1:&nbsp;页面A:父窗口,其中有一个打开子窗口的链接,&lt;a&nbsp; href="#"onclick="open()<span style="font-size: 10pt">"&gt;页面B&lt;/a&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A中有如下js代码.</span><br /></font></span></span></font></span></span></font></span></span></font></span></font></span></span></span><span style="font-size: 10pt"><span style="font-size: 10pt"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><font style="font-size: 10pt" color="#000000" size="3" face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2:&nbsp;<span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><font style="font-size: 10pt" size="2">页面B,要打开的子窗口</font><span style="font-size: 10pt">，关闭时候触发window.opener.location.reload();window.close();</span><span style="font-size: 10pt"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 8pt"><span style="font-size: 10pt"><span style="font-size: 10pt"><font color="#000000" size="3" face="Times New Roman"><span style="font-size: 10pt"><span style="font-size: 10pt"><span style="font-size: 10pt"><font style="font-size: 10pt" color="#000000" size="3" face="Times New Roman">即可刷新父窗口</font></span></span></span></font></span></span></span><span style="font-size: 10pt"><span style="font-size: 10pt"><span style="font-size: 10pt"><span style="font-size: 10pt"><font style="font-size: 10pt" color="#000000" size="3" face="Times New Roman">并且关闭子</font></span></span></span>窗口</span></font></span></span></span>.<br /></font></span><br />&nbsp;&nbsp;&nbsp;<br /></span></font></span></font></span></span></font></span></span></font></span></span></font>&nbsp;&nbsp;&nbsp;&nbsp; 情景三:打开某一子窗口,&nbsp;&nbsp;&nbsp;让用户选择要添加的东东，譬如要添加到文章里的相片选择后关闭子窗口，然后选择的东东出现在父窗口里.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在下图中，我点击"添加照片"链接然后弹出子窗口，在子窗口中选择后点击"添加照片"按钮，子窗口自动关闭，并且父窗口"已添加照片："下面列出了我选择的照片。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border="0" alt="" src="http://maxwolf.cnblogs.com/images/cnblogs_com/maxwolf/addpic1.jpg" /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img border="0" alt="" src="http://maxwolf.cnblogs.com/images/cnblogs_com/maxwolf/add2.jpg" /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 实现方法：类似情景一需要中间页面B ， 只是子窗口C中点击"添加按钮"时触发的js事件中，除了获得选中的checkbox的值外,还要把获得的值回传给父窗口,传值回去的代码如下.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></font></span></span></span></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;language</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">JavaScript</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;open()<br />&nbsp;{<br />&nbsp;&nbsp;&nbsp;window</span><span style="color: #000000">.</span><span style="color: #000000">open(</span><span style="color: #000000">"</span><span style="color: #000000">页面B</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">'</span><span style="color: #000000">upload</span><span style="color: #000000">'</span><span style="color: #000000">,</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">'</span><span style="color: #000000">height=400,&nbsp;width=420,&nbsp;top=0,&nbsp;left=0,&nbsp;toolbar=no,&nbsp;menubar=no,scrollbars=no,&nbsp;resizable=no,location=no,&nbsp;status=no</span><span style="color: #000000">'</span><span style="color: #000000">);<br />&nbsp;}<br /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><br /></span></div>
<p>&nbsp;</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img alt="" align="top" src="http://maxwolf.cnblogs.com/Images/OutliningIndicators/None.gif" /><span style="color: #000000">window</span><span style="color: #000000">.</span><span style="color: #000000">parent</span><span style="color: #000000">.</span><span style="color: #000000">returnValue</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">选中的checkbox</span><span style="color: #000000">"</span><span style="color: #000000">;<br /><img alt="" align="top" src="http://maxwolf.cnblogs.com/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window</span><span style="color: #000000">.</span><span style="color: #000000">parent</span><span style="color: #000000">.</span><span style="color: #000000">close();</span></div>
<p>&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;而父窗口要捕获此值就要在情景一中所说的open()事件中添加获得返回值&nbsp; </p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;language</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">JavaScript</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;open()<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;str</span><span style="color: #000000">=</span><span style="color: #000000">window</span><span style="color: #000000">.</span><span style="color: #000000">showModalDialog(</span><span style="color: #000000">"</span><span style="color: #000000">页面C</span><span style="color: #000000">"</span><span style="color: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(str</span><span style="color: #000000">!=</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;picobj</span><span style="color: #000000">.</span><span style="color: #000000">innerHTML</span><span style="color: #000000">+=</span><span style="color: #000000">str;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意这里的str是获取的返回值, 而picobj是你要显示被选择东东所放位置的div的id&nbsp;,这里是&lt;div id=picobj&gt;&lt;/div&gt;<br /></p></span></div></div> <img src ="http://www.blogjava.net/alxe1528/aggbug/368830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/alxe1528/" target="_blank">郑健成</a> 2012-01-22 17:17 <a href="http://www.blogjava.net/alxe1528/archive/2012/01/22/368830.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>