2016-10-15 6 views
-1

ich eine Störung erhalte beim Abrufen Hibernate Abfrage meiner Liste Größe 500 die Fehler, die ich bekommen habe ist
können Sie mir helfen, warum ich diese Störung erhaltenjava.lang.StackOverflowError beim Abrufen Hibernate Abfrage

[org.springframework.remoting.support.RemoteInvocationTraceInterceptor] (RMI TCP Connection(2)-192.168.43.183) Processing of RmiServiceExporter remote call resulted in fatal exception: com.elcy.service.LCMessageRmiService.sendReportEmail: java.lang.StackOverflowError 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) [rt.jar:1.8.0_25] 
    at java.lang.Class.newInstance(Unknown Source) [rt.jar:1.8.0_25] 
    at org.hibernate.hql.internal.ast.SqlASTFactory.create(SqlASTFactory.java:260) [hibernate-core-4.3.2.Final.jar:4.3.2.Final] 
    at antlr.ASTFactory.create(ASTFactory.java:153) [antlr-2.7.7.jar:] 
    at antlr.ASTFactory.create(ASTFactory.java:186) [antlr-2.7.7.jar:] 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2038) [hibernate-core-4.3.2.Final.jar:4.3.2.Final] 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) [hibernate-core-4.3.2.Final.jar:4.3.2.Final] 
ERROR [org.jboss.as.ejb3.invocation] (Thread-226 (ActiveMQ-client-global-threads-225168338)) WFLYEJB0034: EJB Invocation failed on component LCMessageMDB for method public void com.elcy.message.LCMessageMDB.onMessage(javax.jms.Message): javax.ejb.EJBTransactionRolledbackException: WFLYEJB0457: Unexpected Error 
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:153) [wildfly-ejb3-10.0.0.Final.jar:10.0.0.Final] 
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:256) [wildfly-ejb3-10.0.0.Final.jar:10.0.0.Final] 
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:329) [wildfly-ejb3-10.0.0.Final.jar:10.0.0.Final] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.8.0_25]` 

`bei java.lang.Thread.run (Unknown Source) [rt.jar: 1.8.0_25]

Caused by: java.lang.StackOverflowError 
at java.lang.reflect.Constructor.newInstance(Unknown Source) [rt.jar:1.8.0_25] 
    at java.lang.Class.newInstance(Unknown Source) [rt.jar:1.8.0_25] 
    at org.hibernate.hql.internal.ast.SqlASTFactory.create(SqlASTFactory.java:260) 
    at antlr.ASTFactory.create(ASTFactory.java:153) 
    at antlr.ASTFactory.create(ASTFactory.java:186) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2038) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 
    at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2046) 


my hql query code looks like as given below 
    for (Iterator iterator = resultList.iterator(); iterator.hasNext();) { 
      String id = (String) iterator.next(); 

      if (iterator.hasNext()) 
       sqlQueryBuff.append(" t.id = '" + id + "' OR"); 
      else 
       sqlQueryBuff.append(" t.id = '" + id + "') "); 
     } 
query = session.createQuery(sqlQueryBuff.toString()); 

nach dieser Zeile ich dieser ganzen Störung erhalten

meine Maven-Abhängigkeit unter

<properties> 
    <jdk.version>1.6</jdk.version> 
    <spring-framework.version>4.0.2.RELEASE</spring-framework.version> 
    <hibernate.version>4.3.2.Final</hibernate.version> 
    <junit.version>4.11</junit.version> 
    <log.version>1.2.14</log.version> 

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

bitte vorschlagen mich als gegeben, wie diese lösen dank

+0

Das ist nicht Ihr Code, das ist eine Ausnahme mit Stack-Trace. Wenn Sie wirklich Hilfe benötigen, schreiben Sie bitte den entsprechenden Code. – Striezel

+0

Vielen Dank Sir für Ihre Antwort, jetzt denke ich, ich habe alle Informationen zu diesem Thema gegeben. Bitte lassen Sie mich wissen, wenn Sie mehr brauchen –

Antwort

0

Sie komplexen HQL Ausdruck erstellen. Ich schlage vor, "in" statt langer Liste von "=" und "oder" zu verwenden

+0

danke für Ihre Vorfreude.Ich versuchte mit diesem aber es hat nicht funktioniert, aber ich frage mich nur, wie es löst stackoverflow error mit "in" statt "=" aus –

Verwandte Themen