Umgebung
- Wildfly 13
- EE7
- Eclipselink
Situation
Bei dem Aufruf einer JPA Query wird folgende Exception geworfen
... javax.ejb.EJBException: WFLYEJB0442: Unexpected Error ... Caused by: java.lang.StackOverflowError at org.eclipse.persistence.jpa.jpql.parser.AbstractExpression.getRoot(AbstractExpression.java:530) at org.eclipse.persistence.jpa.jpql.parser.AbstractExpression.getRoot(AbstractExpression.java:530) at org.eclipse.persistence.jpa.jpql.parser.AbstractExpression.getRoot(AbstractExpression.java:530) ...
Lösung
Ursache dieser Exception ist eine lange Kette von WHERE Bedingungen (ca 2250) in einer JPQL Abfrage, die über Parameter befüllt werden. Es scheint hier Grenzen in der Verarbeitungsfähigkeit zu geben. Solche Anfragen müssen in Einzelanfragen aufgebrochen oder umformuliert werden.