如何从java 1.8中的org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection

问题描述 投票:1回答:1

如何在Java 1.8中从org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection。目前,我正在使用这样,并得到以下异常。

java.lang.ClassCastException:无法强制转换org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8到oracle.jdbc.OracleConnection

session = getHibernateSession();
conn = getConnection(session);
conn.setAutoCommit(false);
oracleConnection = conn.unwrap(OracleConnection.class);
java oracle jdbc
1个回答
3
投票

很遗憾,您无法在Connection.unwrap()上使用WrappedConnectionJDK8。您必须改为呼叫WrappedConnection.getUnderlyingConnection()。另请参阅WrappedConnection.getUnderlyingConnection()。您的情况:

this question

或者,如果您无法访问OracleConnection oracleConnection = (OracleConnection) ((WrappedConnectionJDK8) conn).getUnderlyingConnection(); 类型,则只需使用反射:

WrappedConnectionJDK8

我知道...


0
投票

请参考OracleConnection oracleConnection = (OracleConnection) conn.getClass().getMethod("getUnderlyingConnection").invoke(conn); 此问题

RedHat Solution

© www.soinside.com 2019 - 2024. All rights reserved.