2010-05-17 9 views
3

ORM에 JPA (최대 절전 모드)를 사용하고 연결 풀링에 c3po를 사용하고 있습니다. 나는 모든 CRUD 작업을 할 수 있어요 동안 데이터에 액세스하는 동안 그것이 나에게 아래의 오류가 있습니다 : 여기java.sql.SQLException : 지원되지 않는 기능

이 도구 : 최대 절전 모드 3.2.1, 오라클 10g, 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) 

.

답변

0

이것은 문제의 핵심입니다 oracle.jdbc.OracleDatabaseMetaData.supportsGetGeneratedKeys(OracleDatabaseMetaData.java:4180) 생성 된 키를 가져 오는 것과 관련된 해당 주석을 변경하거나 사용하지 마십시오.

1

자동 생성 키를 검색 지원하지 않을 수 있습니다 데이터베이스 :

오라클 10.1.0 지원 :
검색 자동 생성 키
: 제외 JDBC 3.0

전체 지원 결과 집합 보유 가능성
여러 결과 집합을 반환합니다.

오라클 10.2.0 지원 : 지원하여 데이터베이스에 다음에 대한 에서 실질적인 변화가 없음을 JDBC 3.0
참고

완벽하게 지원합니다. 변경된 모든 은 이전에 SQLException을 던진 일부 메서드 이 지금은 을 대신하여 더 합리적인 작업을 수행한다는 것입니다.
결과 집합 보유 가능성
여러 결과 집합을 반환합니다.

이 경우

, 삽입 후에 고유하게 생성 된 키들을 검색하는데 JDBC3 PreparedStatement.getGeneratedKeys()사용을 해제 falsehibernate.jdbc.use_get_generated_keys을 설정하려고합니다.

+0

감사 파스칼해야합니다. 그것은 문제를 해결했습니다. 다른 해결책은 ojbbc6을 사용하는 것이었고 (java6에 관한 것임) dint는 오류를주고 10.2.0.4와 호환됩니다. –

관련 문제