我想利用postgres copyManager:
copyManager cp = ((PGConnection) dataSource.getConnection()).getcopyAPI();
因为我使用的是spring-boot,所以datasource是一个org.apache.tomcat.jdbc.pool.DataSource,因此连接一个Jdbc4Connection.
问题:转换会抛出以下错误:
java.lang.classCastException: com.sun.proxy.$Proxy55 cannot be cast to org.postgresql.PGConnection
此外,当我尝试强制转换为Jdbc4Connection时,我得到了同样的错误!
java.lang.classCastException: com.sun.proxy.$Proxy55 cannot be cast to org.postgresql.jdbc4.Jdbc4Connection
我能做什么?
解决方法
如果您使用的是javax.sql.DataSource,那么这是一个解决方案:
if (dataSource.getConnection().isWrapperFor(PGConnection.class)) { PGConnection pgConnection = dataSource.getConnection().unwrap(PGConnection.class); }
希望这可以帮助.