oracle之java.sql.SQLException : Unsupported feature 异常

zhoujg 阅读:190 2025-06-02 22:19:02 评论:0

我正在为 ORM 使用 JPA(hibernate),为连接池使用 c3po。虽然我能够执行所有 CRUD 操作,但在访问数据时出现以下错误:

以下是工具: hibernate 3.2.1, 甲骨文10克, ojdbc14, 连接池:c3p0-0.9。

和堆栈跟踪:

java.sql.SQLException: Unsupported feature 
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) 
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) 
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269) 
        at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689) 
        at oracle.jdbc.OracleDatabaseMetaData.supportsGetGeneratedKeys(OracleDatabaseMetaData.java:4180) 
        at com.mchange.v2.c3p0.impl.NewProxyDatabaseMetaData.supportsGetGeneratedKeys(NewProxyDatabaseMetaData.java:3578) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:597) 
        at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:91) 
        at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2006) 
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1289) 
        at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915) 
        at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:730) 
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121) 
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51) 
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33) 
        at com.bbn.dbservices.test.BillabilityPeriodsTest.getBillPeriods(BillabilityPeriodsTest.java:33) 
        at com.bbn.dbservices.controller.ServiceController.generateReportsTest(ServiceController.java:355) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:597) 
        at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:654) 
        at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:160) 
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:378) 
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:366) 
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:781) 
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:726) 
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:636) 
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:545) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) 
        at java.lang.Thread.run(Thread.java:619) 
 
java.sql.SQLException: Unsupported feature 
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) 
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) 
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269) 
        at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689) 
        at oracle.jdbc.OracleDatabaseMetaData.supportsGetGeneratedKeys(OracleDatabaseMetaData.java:4180) 
        at com.mchange.v2.c3p0.impl.NewProxyDatabaseMetaData.supportsGetGeneratedKeys(NewProxyDatabaseMetaData.java:3578) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:597) 
        at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:91) 
        at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2006) 
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1289) 
        at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915) 
        at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:730) 
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121) 
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51) 
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33) 
        at com.bbn.dbservices.test.BillabilityPeriodsTest.getBillPeriods(BillabilityPeriodsTest.java:33) 
        at com.bbn.dbservices.controller.ServiceController.generateReportsTest(ServiceController.java:355) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:597) 
        at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:654) 
        at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:160) 
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:378) 
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:366) 
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:781) 
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:726) 
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:636) 
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:545) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) 
        at java.lang.Thread.run(Thread.java:619) 

非常感谢对此的任何帮助。

请您参考如下方法:

下载最新的JDBC驱动,我想你至少需要10.2.0.1的驱动,数据库也需要10.2+

http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html


标签:java
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号