[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2281?page=c...
]
Steve Ebersole commented on HHH-2281:
-------------------------------------
The "fix" is the deprecation of Session.connection() and scheduled removal in
4.0...
It will be replaced with a way to pass in to Hibernate some "work" you want to
have access to the connection. This still gives users access to the connection, but does
not mess with Connection handling inside Hibernate.
CLONE -Calling Session.connection() generates
java.lang.IllegalArgumentException: interface org.hibernate.jdbc.ConnectionWrapper is not
visible from class loader
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: HHH-2281
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2281
Project: Hibernate3
Issue Type: Bug
Affects Versions: 3.2.1
Environment: Hibernate checked out from trunk; revision 10717
Reporter: Sergey Polzunov
Calling Session.connection() always generates an exception. Here is the stacktrace I get
from the attached test case:
Exception in thread "main" java.lang.IllegalArgumentException: interface
org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
at
org.hibernate.jdbc.BorrowedConnectionProxy.generateProxy(BorrowedConnectionProxy.java:56)
at org.hibernate.jdbc.ConnectionManager.borrowConnection(ConnectionManager.java:163)
at org.hibernate.jdbc.JDBCContext.borrowConnection(JDBCContext.java:111)
at org.hibernate.impl.SessionImpl.connection(SessionImpl.java:359)
at TestSession.main(TestSession.java:16)
Changing the Connection.class.getClassLoader() to
BorrowedConnectionProxy.class.getClassLoader() on line 57 in the generateProxy() method
solves the problem. I am not very familiar with class loaders so I don't know if this
is likeley to cause other problems elsewhere. Removing the ConnectionWrapper.class from
the PROXY_INTERFACES array in the org.hibernate.jdbc.BorrowedConnectionProxy also solves
the problem, but I guess it was added for a reason.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira