我正在创建一个连接,并尝试将其强制转换为OracleConnection,但是当尝试这样做时,该连接为null。我使用的是Java 1.8,在1.6中运行良好。
连接创建方法。
protected Connection getConnection(Session session) throws SQLException{
Connection connection = null;
if (session != null && session.isOpen()) {
//connection =((SessionFactoryImplementor)session.getSessionFactory()).getConnectionProvider().getConnection();
connection =((SessionImpl)session).connection();
}
return connection;
}
DAOImpl方法,我试图将Connection对象分配给Oracle Connection。
session = getHibernateSession();
conn = getConnection(session);
conn.setAutoCommit(false);
oracleConnection = (OracleConnection)
conn.getClass().getMethod("getUnderlyingConnection").invoke(conn);
requestDescriptor = StructDescriptor.createDescriptor(
"sqlname", oracleConnection );
arrStruct = new STRUCT[arlVehicleDetailsVOs.size()];
conn对象值:org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8@66f4ec
但是这里的oracleConnection将作为null出现。您可以帮助解决需要解决的确切问题。我得到的异常是传递的无效参数。
异常:java.sql.SQLException:无法构造描述符:无效参数