[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3449) Unable to use Oracle stored procedure in a <sql-query>

Anh Vu (JIRA) noreply at atlassian.com
Wed Mar 24 11:05:32 EDT 2010


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=35938#action_35938 ] 

Anh Vu commented on HHH-3449:
-----------------------------

Hi 
I'm also experiencing the exact same issue as Richard Marriott.
Does anyone have a solution to this?
I'm upgrading from weblogic 9.1 -> WL 10
I'm using Hibernate 3.

My config file uses OracleDialect which is a subclass of Oracle9Dialect.

A store procedure called through hibernate that returned a reference cursor was working now failed to work on WLS 10 returning the following error: 
Pls Help! 

ERROR MESSAGE@@@@@@@@@@@@@ Problem while trying to load or access OracleTypes.CURSOR value
org.hibernate.HibernateException: Problem while trying to load or access OracleTypes.CURSOR value
        at org.hibernate.dialect.Oracle9Dialect.registerResultSetOutParameter(Oracle9Dialect.java:268)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1574)
        at org.hibernate.loader.Loader.doQuery(Loader.java:661)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
        at org.hibernate.loader.Loader.doList(Loader.java:2145)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
        at org.hibernate.loader.Loader.list(Loader.java:2024)
        at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:111)
        at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1655)
        at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
        at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164)
        at com.emergis.eHealth.morpheus.business.reports.InsurerReportSearcher.getInsurerReport(InsurerReportSearcher.java:257)
        at com.emergis.eHealth.morpheus.business.reports.InsurerReportSearcher.getInsurerReportDataFromView(InsurerReportSearcher.java:97)
        at com.emergis.eHealth.morpheus.business.reports.InsurerReportSearcher.search(InsurerReportSearcher.java:35)
        at com.emergis.eHealth.morpheus.business.reports.InsurerReporter.getInsurerReportDataList(InsurerReporter.java:34)
        at com.emergis.eHealth.morpheus.business.reports.InsurerReporter.searchResultCheck(InsurerReporter.java:85)
        at com.emergis.eHealth.morpheus.struts.actions.reports.InsurerReportCriteriaAction.morpheusExecute(InsurerReportCriteriaAction.java:134)
        at com.emergis.eHealth.morpheus.struts.actions.MorpheusAction.handleRequest(MorpheusAction.java:263)
        at com.emergis.eHealth.morpheus.struts.actions.MorpheusAction.execute(MorpheusAction.java:186)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:465)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:523)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3495)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(Unknown Source)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.IllegalAccessException: Class org.hibernate.dialect.Oracle9Dialect can not access a member of class oracle.jdbc.driver.OracleType
s with modifiers ""
        at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
        at java.lang.Class.newInstance0(Class.java:349)
        at java.lang.Class.newInstance(Class.java:308)
        at org.hibernate.dialect.Oracle9Dialect.registerResultSetOutParameter(Oracle9Dialect.java:266)
        ... 36 more


> Unable to use Oracle stored procedure in a <sql-query>
> ------------------------------------------------------
>
>                 Key: HHH-3449
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3449
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: query-sql
>    Affects Versions: 3.2.6
>         Environment: Hibernate 3.2.6GA
> Oracle 10.2.0.4 (& Oracle JDBC Driver version - 11.1.0.6.0)
> Java 1.6.0_06
>            Reporter: RC
>            Assignee: Gail Badner
>
> Using a stored procedure to fetch result set.
> However, an IllegalAccessException is thrown:
> Caused by: org.hibernate.HibernateException: Problem while trying to load or access OracleTypes.CURSOR value
> 	at org.hibernate.dialect.Oracle8iDialect.registerResultSetOutParameter(Oracle8iDialect.java:371)
> 	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1560)
> 	at org.hibernate.loader.Loader.doQuery(Loader.java:673)
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
> 	at org.hibernate.loader.Loader.doList(Loader.java:2213)
> 	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
> 	at org.hibernate.loader.Loader.list(Loader.java:2099)
> 	at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
> 	at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
> 	at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
> 	at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
> 	at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
> ....
> Caused by: java.lang.IllegalAccessException: Class org.hibernate.dialect.Oracle8iDialect can not access a member of class oracle.jdbc.driver.OracleTypes with modifiers ""
> 	at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
> 	at java.lang.Class.newInstance0(Class.java:349)
> 	at java.lang.Class.newInstance(Class.java:308)
> 	at org.hibernate.dialect.Oracle8iDialect.registerResultSetOutParameter(Oracle8iDialect.java:369)
> 	... 35 more

-- 
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.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list