如何在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);
很遗憾,您无法在Connection.unwrap()
上使用WrappedConnectionJDK8
。您必须改为呼叫WrappedConnection.getUnderlyingConnection()
。另请参阅WrappedConnection.getUnderlyingConnection()
。您的情况:
this question
或者,如果您无法访问OracleConnection oracleConnection = (OracleConnection)
((WrappedConnectionJDK8) conn).getUnderlyingConnection();
类型,则只需使用反射:
WrappedConnectionJDK8
我知道...
请参考OracleConnection oracleConnection = (OracleConnection)
conn.getClass().getMethod("getUnderlyingConnection").invoke(conn);
此问题