请提供一些有助于将休眠版本 3.2.4.sp1 升级到合适版本的详细信息。
我们已经更新了 Java 运行时、服务器操作系统和数据库服务器以及源代码中的一些小改动。
以下是我的 Java Swing 应用程序的详细信息。
- 应用程序使用 Java web-start 技术与运行在 Tomcat 7 上的 Servlet 进行通信。
- 该应用程序是在大约 8-9 年前创建的。迄今为止,我们一直在增强和修复应用程序的错误。
- 数据库是 SQL Server 2012。
- 服务器机器:Windows 64 位 2008 R2 企业服务器
- Java 7 更新 25 64 位
- 数据库驱动程序:jtds-1.2
- Ehcache 版本 1.2.3
观察结果如下:
- 项目中没有 ehcache.xml 文件。
- 我们没有在实体类或应用程序的任何其他部分中使用任何注释。
- 发现Ehcache 1.7.2及以上在运行时支持Java 1.5和1.6。
- 发现 ehcache 有时会造成死锁,不确定 aver 版本,但请访问以下链接:http: //jira.terracotta.org/jira/browse/EHC-918。
以下是我的 hibernate.cfg.xml 供参考:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="connection.url">jdbc:jtds:sqlserver://<ip>:<port>/TestDB</property>
<property name="connection.username">username</property>
<property name="connection.password">password</property>
<property name="hibernate.jdbc.batch_size">10</property>
<property name="c3p0.acquire_increment">1</property>
<property name="c3p0.max_size">5</property>
<property name="c3p0.max_statements">0</property>
<property name="c3p0.min_size">3</property>
<property name="c3p0.timeout">20</property> <!-- seconds -->
<property name="c3p0.idle_test_period">60</property> <!-- seconds -->
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="show_sql">false</property>
<property name="format_sql">true</property>
<property name="use_sql_comments">true</property>
<property name="generate_statistics">true</property>
<property name="hibernate.connection.provider_class">somepackage.C3P0ConnectionProvider</property>
<!-- Followed by our entity class mapping -->
<mapping resource="Batch.hbm.xml"/>
</session-factory>
</hibernate-configuration>
在此我们没有指定二级休眠缓存,但我相信我们使用 ehcache-1.2.3.jar 中的某个类作为缓存提供程序,因为它在类路径中。当我浏览休眠更改日志时,我可以看到默认缓存提供程序在某些版本中有所不同。
在当前版本的应用程序中,我们面临一些性能和死锁问题。
请建议我一个合适的休眠版本,以便我可以毫无问题地升级到它。