Announcement

Collapse
No announcement yet.

Hilfe EJB2 - Problem mit Hibernate und "LIMIT"

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe EJB2 - Problem mit Hibernate und "LIMIT"

    Hallo ich bekomme Fehler in der Console angezeigt sobald ich mein Projekt auf den JBoss deployen will.

    In meinem EntityBean habe ich einen Finder hinzugefügt, welcher wie folgt aussieht:
    Code:
     * @ejb.finder signature = "Mitarbeiter findSatzbyId(java.lang.Integer id)"
     *             description = "Find Satz by Id" query = "SELECT OBJECT(p) FROM TabMitarbeiter AS p WHERE p.id>?1 ORDER BY p.id ASC LIMIT 1"
     *
    Zur Sicherheit habe ich den SQL auch schon mal mit dem SQL-Browser ausgeführt und ich komme zu dem Ergebnis, welches ich haben möchte.

    Wenn ich das "LIMIT 1" in der Finder weg lasse funktioniert das Deployen auch ohne Probleme nur nicht, wenn ich es wieder in die Finder einbinde.

    Wenn ich dann deploye bekomme ich folgene Fehlermeldung:

    Code:
    11:05:45,156 INFO  [ProxyFactory] Unbind EJB Home 'MitarbeiterSession' from jndi 'MitarbeiterSession'
    11:05:45,218 INFO  [EjbModule] Undeployed MitarbeiterSession
    11:05:45,218 INFO  [ProxyFactory] Unbind EJB Home 'AnredeEntity' from jndi 'AnredeEntity'
    11:05:45,218 INFO  [EjbModule] Undeployed AnredeEntity
    11:05:45,218 INFO  [ProxyFactory] Unbind EJB Home 'MitarbeiterEntity' from jndi 'MitarbeiterEntity'
    11:05:45,218 INFO  [EjbModule] Undeployed MitarbeiterEntity
    11:05:45,484 INFO  [EjbModule] Deploying MitarbeiterEntity
    11:05:45,500 INFO  [EjbModule] Deploying AnredeEntity
    11:05:45,515 INFO  [EjbModule] Deploying MitarbeiterSession
    11:05:45,953 ERROR [MitarbeiterEntity#findSatzbyId] Encountered "LIMIT" at line 1, column 75.
    Was expecting one of:
        <EOF> 
        "," ...
        
    org.jboss.ejb.plugins.cmp.ejbql.ParseException: Encountered "LIMIT" at line 1, column 75.
    Was expecting one of:
        <EOF> 
        "," ...
        
    	at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.generateParseException(EJBQLParser.java:4360)
    	at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.jj_consume_token(EJBQLParser.java:4237)
    	at org.jboss.ejb.plugins.cmp.ejbql.EJBQLParser.EJBQL(EJBQLParser.java:190)
    	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)
    	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:414)
    	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
    	at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	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(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	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 $Proxy31.start(Unknown Source)
    	at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:662)
    	at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	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 $Proxy32.start(Unknown Source)
    	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 sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	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:610)
    	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
    	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
    	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
    Ich habe da jetzt schon ewig dran rumgebastelt aber ich bekomme es einfach nicht hin.
    Vielleicht kann mir ja einer von Euch weiter helfen.
    Würde mich freuen...

    MfG

  • #2
    Die Antwort ist ganz einfach: LIMIT gibt es in EJB-QL nicht! Es gibt einige Container, die das ziemliche Schwache EJB-QL um so etwas erweitert haben, aber das ist das nicht mehr am Standard.

    Grüße

    Christian | http://www.tutego.com/

    Comment


    • #3
      Danke erstmal dafür, dass du geantwortet hast.
      Nun meine Frage wenn EJB-QL es nicht unterstüzt... wie kann ich es denn umgehen?
      Ich möchte mir gerne aus meiner Datenbank (ca. 5Mio. Datensätze) nur so um die 30 oder so in ein Grid laden um sie mir anschauen zu können...

      Comment

      Working...
      X