1

请提供一些有助于将休眠版本 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 中的某个类作为缓存提供程序,因为它在类路径中。当我浏览休眠更改日志时,我可以看到默认缓存提供程序在某些版本中有所不同。

在当前版本的应用程序中,我们面临一些性能和死锁问题。

请建议我一个合适的休眠版本,以便我可以毫无问题地升级到它。

4

1 回答 1

0

<modelVersion>4.0.0</modelVersion>
<groupId>com.ranga</groupId>
<artifactId>HibernateApp2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>HibernateApp2</name>
<url>http://maven.apache.org</url>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- JBoss repository for Hibernate -->
<repositories>
    <repository>
        <id>JBoss repository</id>
        <url>http://repository.jboss.org/nexus/content/groups/public/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.2</version>
        <scope>test</scope>
    </dependency>

    <!-- Hibernate framework -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.12.Final</version>
    </dependency>

    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.12.1.GA</version>
    </dependency>

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0</version>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>4.1.12.Final</version>
    </dependency>

    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-core</artifactId>
        <version>2.4.0</version>
    </dependency>

    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2.2</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.5</version>
    </dependency>                         
</dependencies>

于 2014-05-06T07:25:44.007 回答