0 Replies Latest reply on Jan 18, 2010 10:40 PM by charles pang

    Error on using nested select

    charles pang Newbie

      I use the ejb-ql SELECT OBJECT(O)    FROM t As O WHERE O.id = (SELECT MAX(C.id) FROM t AS C ) in ejb-jar. It runs well in Weblogic, while throws exception when migrated to Jboss-5.1.0.GA. Can't  Jboss-5.1.0.GA support nested select?  Following is the exception.


      org.jboss.deployment.DeploymentException: Error compiling EJB-QL statement for EJB 'T': SELECT OBJECT(O)    FROM t As O WHERE O.id = (SELECT 1 FROM t AS C )
          at org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.<init>(JDBCEJBQLQuery.java:67)
          at org.jboss.ejb.plugins.cmp.jdbc.JDBCCommandFactory.createEJBQLQuery(JDBCCommandFactory.java:75)
          at org.jboss.ejb.plugins.cmp.jdbc.JDBCQueryManager.start(JDBCQueryManager.java:286)
          at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.startStoreManager(JDBCStoreManager.java:505)
          at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManager.java:396)
          at org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:172)
          at org.jboss.ejb.EjbModule.startService(EjbModule.java:495)
          at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:376)
          at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:322)
          at sun.reflect.GeneratedMethodAccessor80.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:157)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
          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:668)
          at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:189)
          at $Proxy38.start(Unknown Source)
          at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
          at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
          at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
          at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
          at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
          at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
          at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)
          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
          at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
          at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
          at org.jboss.system.ServiceController.start(ServiceController.java:460)
          at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
          at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
          at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
          at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
          at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
          at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
          at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)
          at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
          at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
          at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)
          at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
          at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)
          at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)
          at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
          at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
          at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
          at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
          at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
          at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:362)
          at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
          at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
          at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
          at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
          at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
          at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          at java.lang.Thread.run(Thread.java:619)
      Caused by: org.jboss.ejb.plugins.cmp.ejbql.ParseException: Encountered "SELECT" at line 1, column 65.
      Was expecting one of:
          "ABS" ...
          "LENGTH" ...
          "LOCATE" ...
          "SQRT" ...
          "MOD" ...
          "(" ...
          "+" ...
          "-" ...
          <INTEGER_LITERAL> ...
          <FLOATING_POINT_LITERAL> ...
          <NUMERIC_VALUED_PARAMETER> ...
          <NUMERIC_VALUED_PATH> ...
         
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.generateParseException(EJBQLParser.java:4366)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.jj_consume_token(EJBQLParser.java:4243)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ArithmeticPrimary(EJBQLParser.java:1831)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ArithmeticFactor(EJBQLParser.java:1760)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ArithmeticTerm(EJBQLParser.java:1684)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ArithmeticExpression(EJBQLParser.java:1630)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ArithmeticPrimary(EJBQLParser.java:1797)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ArithmeticFactor(EJBQLParser.java:1760)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ArithmeticTerm(EJBQLParser.java:1684)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ArithmeticExpression(EJBQLParser.java:1630)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ScalarExpression(EJBQLParser.java:1622)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.SingleValueDesignator(EJBQLParser.java:1618)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ComparisonExpression(EJBQLParser.java:1553)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.SimpleCondExpression(EJBQLParser.java:924)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ConditionalPrimary(EJBQLParser.java:881)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ConditionalTest(EJBQLParser.java:849)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.ConditionalFactor(EJBQLParser.java:826)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.WhereConditionalTerm(EJBQLParser.java:673)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.WhereExpression(EJBQLParser.java:628)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.WhereClause(EJBQLParser.java:592)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.EJBQL(EJBQLParser.java:176)
          at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.parse(EJBQLParser.java:65)
          at org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLCompiler.compileEJBQL(JDBCEJBQLCompiler.java:168)
          at org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.<init>(JDBCEJBQLQuery.java:58)
          ... 64 more