[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3350) Error in creating Schema update script: if exist a view in Oracle db and exist a class with @Entity for this, then raises the "ORA-01702: a view is not appropriate here" exception

Béla Berecz (JIRA) noreply at atlassian.com
Mon Sep 29 05:35:08 EDT 2008


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

Béla Berecz commented on HHH-3350:
----------------------------------

Thx for your idea, but we fixed it with another way:
in TableMetadata.java from row 33:

		if (extras) {
			initForeignKeys(meta);
			try {                                                         // new
			    initIndexes(meta);
			} catch (SQLException se) {              // new
			    if (se.getErrorCode() != 1702) {    // new
			        throw se;                                       // new
			    }                                                          // new
			}                                                              // new
		}


> Error in creating Schema update script: if exist a view in Oracle db and exist a class with @Entity for this, then raises the "ORA-01702: a view is not appropriate here" exception
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HHH-3350
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3350
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.2.6
>            Reporter: Béla Berecz
>
> (sorry for my bad english)
> When deploying:
> 16:28:03,737 INFO  [SchemaUpdate] Running hbm2ddl schema update
> 16:28:03,737 INFO  [SchemaUpdate] fetching database metadata
> 16:28:04,128 INFO  [SchemaUpdate] updating schema
> ...
> 16:28:59,565 WARN  [JDBCExceptionReporter] SQL Error: 1702, SQLState: 42000
> 16:28:59,565 ERROR [JDBCExceptionReporter] ORA-01702: a view is not appropriate here
> 16:28:59,565 ERROR [SchemaUpdate] could not complete schema update
> org.hibernate.exception.SQLGrammarException: could not get table metadata: TABLE_VIEW
> 	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
> 	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
> 	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
> 	at org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:105)
> 	at org.hibernate.cfg.Configuration.generateSchemaUpdateScript(Configuration.java:954)
> 	at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:140)
> 	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:314)
> 	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
> 	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:713)
> 	at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:127)
> 	at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:246)
> 	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.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:103)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
> 	at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
> 	at $Proxy0.start(Unknown Source)
> 	at org.jboss.system.ServiceController.start(ServiceController.java:417)
> 	at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy66.start(Unknown Source)
> 	at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:120)
> 	at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:551)
> 	at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:333)
> 	at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
> 	at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
> 	at $Proxy0.start(Unknown Source)
> 	at org.jboss.system.ServiceController.start(ServiceController.java:417)
> 	at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy33.start(Unknown Source)
> 	at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.ws.integration.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:93)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy34.start(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
> 	at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
> 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
> 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
> 	at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.deploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
> 	at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
> 	at $Proxy0.start(Unknown Source)
> 	at org.jboss.system.ServiceController.start(ServiceController.java:417)
> 	at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy4.start(Unknown Source)
> 	at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
> 	at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
> 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
> 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
> 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy5.deploy(Unknown Source)
> 	at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
> 	at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
> 	at org.jboss.Main.boot(Main.java:200)
> 	at org.jboss.Main$1.run(Main.java:508)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: java.sql.SQLException: ORA-01702: nézet itt nem fordulhat elő
> 	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> 	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
> 	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
> 	at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
> 	at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
> 	at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
> 	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
> 	at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1614)
> 	at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1579)
> 	at oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(OracleDatabaseMetaData.java:3485)
> 	at com.p6spy.engine.spy.P6DatabaseMetaData.getIndexInfo(P6DatabaseMetaData.java:210)
> 	at org.hibernate.tool.hbm2ddl.TableMetadata.initIndexes(TableMetadata.java:130)
> 	at org.hibernate.tool.hbm2ddl.TableMetadata.<init>(TableMetadata.java:35)
> 	at org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:90)
> 	... 150 more
> Problem with TableMetadata.java row 35: initIndexes(meta);
> I couldn't create index for view in Oracle, hence (I think) drop a SQLGrammarException when running initIndexes(meta).

-- 
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