Java Hibernate 4调用c3p0中不支持的setBinaryStream

Java Hibernate 4调用c3p0中不支持的setBinaryStream,java,hibernate,c3p0,Java,Hibernate,C3p0,Hibernate4使用jdbc4,将方法setBinaryStreamint、InputStream、int的签名更改为setBinaryStreamint、InputStream、long。C3P0不支持此新方法 因此,调用saveOrUpdatemyObjWithBlob结果 java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setBinaryStream(ILjava/io/

Hibernate4使用jdbc4,将方法setBinaryStreamint、InputStream、int的签名更改为setBinaryStreamint、InputStream、long。C3P0不支持此新方法

因此,调用saveOrUpdatemyObjWithBlob结果

java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
at $Proxy75.setBinaryStream(Unknown Source)
那我现在能做什么呢

1不要使用c3p0。DHCP、BoneCP或根本没有连接池。-这不是我想要的选择

2如何使hibernate避免调用这个新方法?这可能吗


3切换回hibernate 3-对我来说也不是很好。

请升级到c3p0 0.9.2-pre8或等待几天以获得0.9.2决赛。此问题已在库的最新版本中得到解决


更新:c3p0-0.9.2现已发布。它确实解决了这个问题。

我认为2是不可能的。至于1,如果您使用的是Tomcat 7和JBoss 7中的任何一个web服务器,那么在Tomcat 7和JBoss 7中也有本机连接池。Hibernate 4似乎在某个时候应该支持JDBC 3,但我还没有弄清楚如何做到这一点:而且,如果您避免blob,那么您似乎可以避免使用这种方法。不确定这是否是一个选项。最后,但并非最不重要的是,您可以按照这里的建议自己编译C3P0:嗯……hibernate的默认连接池破坏了saveOrUpdate这样的基本功能,这似乎很奇怪……希望将来可以修复。我也遇到了同样的问题,升级到0.9.2节省了我的时间;