C3p0与Hibernate 4.2错误:setCharacterStream(ILjava / io / Reader; J)V是抽象的

时间:2015-02-08 21:26:52

标签: java hibernate maven configuration c3p0

我正在使用Hibernate 4.2和c3p0,我收到此错误:Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V is abstract

有人知道我应该使用哪个版本?这是我当前的Maven依赖列表:

<dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.2</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>4.2.0.Final</version>
</dependency>        

3 个答案:

答案 0 :(得分:8)

{4}}方法已添加到JDBC 4并且根据C3P0 PreparedStatement.setCharacterStream()

  

从版本0.9.5开始,c3p0完全支持jdbc4规范。

所以你需要release notes

<dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.5</version>
</dependency>

您也可以从Hibernate中排除C3P0依赖关系,以确保Maven使用您明确配置的依赖关系:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>4.2.0.Final</version>
    <exclusions>
        <exclusion>
            <artifactId>c3p0</artifactId>
            <groupId>c3p0</groupId>
        </exclusion>
    </exclusions>
</dependency>

答案 1 :(得分:0)

使用artifactId c3p0 0.9.5.2没关系!

<dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.5.2</version>
</dependency>

答案 2 :(得分:0)

在迁移到hibernate 4后的情况下,我不得不添加 c3p0-0.9.5.jar mchange-commons-java-0.2.15.jar (jar,因为它不是maven项目)