如何从org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection在Java 1.8。 目前我使用这样,得到了以下异常。
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()
代替。 又见这个问题 。 你的情况:
OracleConnection oracleConnection = (OracleConnection)
((WrappedConnectionJDK8) conn).getUnderlyingConnection();
另外,如果您不能访问WrappedConnectionJDK8
类型,只是使用反射:
OracleConnection oracleConnection = (OracleConnection)
conn.getClass().getMethod("getUnderlyingConnection").invoke(conn);
我知道...
文章来源: How to cast from org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8 to oracle.jdbc.OracleConnection in java 1.8