2015-02-03 10 views
6

mir folgende Ausnahme erhalten: -Eclipse Abfrage - Wählen Sie count (*) von Student s funktioniert nicht

[13, 13] Der linke Ausdruck wird aus dem arithmetischen Ausdruck fehlt. [14, 14] Der richtige Ausdruck fehlt im arithmetischen Ausdruck.

Bitte helfen Sie mir, das Problem zu analysieren.

P.S. Wenn ich die obige Abfrage in meinem Code durch Auswahl von * aus Studenten s ersetze, funktioniert es gut.

Exception Description: Syntax error parsing [select count(*) from Student s ]. 
    [13, 13] The left expression is missing from the arithmetic expression. 
    [14, 14] The right expression is missing from the arithmetic expression. 
    java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
    Exception Description: Syntax error parsing [select count(*) from Student s ]. 
    [13, 13] The left expression is missing from the arithmetic expression. 
    [14, 14] The right expression is missing from the arithmetic expression. 
     at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1605) 
     at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:334) 
     at com.sun.proxy.$Proxy84.createQuery(Unknown Source) 
     at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:257) 
     at com.sun.proxy.$Proxy84.createQuery(Unknown Source) 
     at com.core.commons.domain.util.reference.repository.AbstractSearchCriteriaSupportRepositoryImpl.createQuery(AbstractSearchCriteriaSupportRepositoryImpl.java:146) 
     at com.core.commons.domain.util.reference.repository.AbstractSearchCriteriaSupportRepositoryImpl.getTotalRecordsCount(AbstractSearchCriteriaSupportRepositoryImpl.java:117) 
     at com.core.commons.domain.util.reference.repository.AbstractSearchCriteriaSupportRepositoryImpl.findBy(AbstractSearchCriteriaSupportRepositoryImpl.java:48) 
     at com.wfm.ft.service.FinancialTransactionServiceImpl.getAllBillingAccounts(FinancialTransactionServiceImpl.java:157) 
     at com.wfm.ft.web.FTEntryController.getAllBillingAccounts(FTEntryController.java:42) 
     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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) 
     at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
     at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 
     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) 
     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690) 
     at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) 
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945) 
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876) 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) 
     at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) 
     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496) 
     at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilter(WebRequestTraceFilter.java:115) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextFilterConfiguration$1.doFilterInternal(EndpointWebMvcAutoConfiguration.java:137) 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration$MetricsFilter.doFilterInternal(MetricFilterAutoConfiguration.java:85) 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at com.core.commons.service.security.filter.AssociatedPartiesCallChecker.doFilter(AssociatedPartiesCallChecker.java:64) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at com.core.commons.service.security.filter.AdminUrlCallChecker.doFilter(AdminUrlCallChecker.java:53) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at com.core.commons.service.security.filter.BEMatcherFilter.doFilter(BEMatcherFilter.java:68) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at com.core.commons.service.security.filter.HttpCreateProcessContextFilter.doFilter(HttpCreateProcessContextFilter.java:44) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at com.core.commons.service.security.filter.HttpSecuredAccessDataExtractor.doFilter(HttpSecuredAccessDataExtractor.java:89) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at com.core.commons.service.security.filter.CreateSystemUserContextFilter.doFilter(CreateSystemUserContextFilter.java:69) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at com.core.commons.service.web.SimpleCORSFilter.verifyRequestAndProcess(SimpleCORSFilter.java:183) 
     at com.core.commons.service.web.SimpleCORSFilter.doFilter(SimpleCORSFilter.java:83) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at com.core.commons.service.security.filter.TenantProcessContextFilter.doFilter(TenantProcessContextFilter.java:51) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) 
     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 
     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) 
     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) 
     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
     at org.eclipse.jetty.server.Server.handle(Server.java:370) 
     at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) 
     at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) 
     at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) 
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) 
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) 
     at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) 
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
     at java.lang.Thread.run(Unknown Source) 
    Caused by: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.JPQLException 
    Exception Description: Syntax error parsing [select count(*) from Student s ]. 
    [13, 13] The left expression is missing from the arithmetic expression. 
    [14, 14] The right expression is missing from the arithmetic expression. 
     at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException(HermesParser.java:155) 
     at org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(HermesParser.java:334) 
     at org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryImp(HermesParser.java:278) 
     at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildQuery(HermesParser.java:163) 
     at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:142) 
     at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:116) 
     at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:102) 
     at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:86) 
     at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1603) 
     ... 84 more 

UPDATE 1

Exception Description: Problem compiling [select count(ax) from (select gle.glAccount.accountId as accountId, gle.glAccount.qualifier.name as accountName, gle.glAccount.accountType as accountType,gle.amount.currency.symbol as symbol ,sum(gle.amount.value * gle.postingTypeValue) as totalSum from GLEntry gle group by gle.glAccount.id, gle.glAccount.qualifier.name, gle.glAccount.accountType, gle.amount.currency.symbol,gle.glAccount.id) ax]. 
[22, 399] '(select gle.glAccount.accountId as accountId, gle.glAccount.qualifier.name as accountName, gle.glAccount.accountType as accountType, gle.amount.currency.symbol as symbol, sum(gle.amount.value * gle.postingTypeValue) as totalSum from GLEntry gle group by gle.glAccount.id, gle.glAccount.qualifier.name, gle.glAccount.accountType, gle.amount.currency.symbol, gle.glAccount.id) ax' cannot be the first declaration of the FROM clause. 
java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Problem compiling [select count(ax) from (select gle.glAccount.accountId as accountId, gle.glAccount.qualifier.name as accountName, gle.glAccount.accountType as accountType,gle.amount.currency.symbol as symbol ,sum(gle.amount.value * gle.postingTypeValue) as totalSum from GLEntry gle group by gle.glAccount.id, gle.glAccount.qualifier.name, gle.glAccount.accountType, gle.amount.currency.symbol,gle.glAccount.id) ax]. 
[22, 399] '(select gle.glAccount.accountId as accountId, gle.glAccount.qualifier.name as accountName, gle.glAccount.accountType as accountType, gle.amount.currency.symbol as symbol, sum(gle.amount.value * gle.postingTypeValue) as totalSum from GLEntry gle group by gle.glAccount.id, gle.glAccount.qualifier.name, gle.glAccount.accountType, gle.amount.currency.symbol, gle.glAccount.id) ax' cannot be the first declaration of the FROM clause. 
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1605) 
    at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:334) 
    at com.sun.proxy.$Proxy84.createQuery(Unknown Source) 
    at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:257) 
    at com.sun.proxy.$Proxy84.createQuery(Unknown Source) 
    at com.core.commons.domain.util.reference.repository.AbstractSearchCriteriaSupportRepositoryImpl.createQuery(AbstractSearchCriteriaSupportRepositoryImpl.java:134) 
    at com.core.commons.domain.util.reference.repository.AbstractSearchCriteriaSupportRepositoryImpl.getTotalRecordsCount(AbstractSearchCriteriaSupportRepositoryImpl.java:109) 
    at com.core.commons.domain.util.reference.repository.AbstractSearchCriteriaSupportRepositoryImpl.findBy(AbstractSearchCriteriaSupportRepositoryImpl.java:48) 
    at com..ft.service.FinancialTransactionServiceImpl.getAllBillingAccounts(FinancialTransactionServiceImpl.java:157) 
    at com..ft.web.FTEntryController.getAllBillingAccounts(FTEntryController.java:42) 
    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.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690) 
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755) 
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) 
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496) 
    at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilter(WebRequestTraceFilter.java:115) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextFilterConfiguration$1.doFilterInternal(EndpointWebMvcAutoConfiguration.java:137) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration$MetricsFilter.doFilterInternal(MetricFilterAutoConfiguration.java:85) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at com.core.commons.service.security.filter.AssociatedPartiesCallChecker.doFilter(AssociatedPartiesCallChecker.java:64) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at com.core.commons.service.security.filter.AdminUrlCallChecker.doFilter(AdminUrlCallChecker.java:53) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at com.core.commons.service.security.filter.BEMatcherFilter.doFilter(BEMatcherFilter.java:68) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at com.core.commons.service.security.filter.HttpCreateProcessContextFilter.doFilter(HttpCreateProcessContextFilter.java:44) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at com.core.commons.service.security.filter.HttpSecuredAccessDataExtractor.doFilter(HttpSecuredAccessDataExtractor.java:89) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at com.core.commons.service.security.filter.CreateSystemUserContextFilter.doFilter(CreateSystemUserContextFilter.java:80) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at com.core.commons.service.web.SimpleCORSFilter.verifyRequestAndProcess(SimpleCORSFilter.java:183) 
    at com.core.commons.service.web.SimpleCORSFilter.doFilter(SimpleCORSFilter.java:83) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at com.core.commons.service.security.filter.TenantProcessContextFilter.doFilter(TenantProcessContextFilter.java:51) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
    at org.eclipse.jetty.server.Server.handle(Server.java:370) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) 
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) 
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) 
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: Exception [EclipseLink-0] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.JPQLException 
Exception Description: Problem compiling [select count(ax) from (select gle.glAccount.accountId as accountId, gle.glAccount.qualifier.name as accountName, gle.glAccount.accountType as accountType,gle.amount.currency.symbol as symbol ,sum(gle.amount.value * gle.postingTypeValue) as totalSum from GLEntry gle group by gle.glAccount.id, gle.glAccount.qualifier.name, gle.glAccount.accountType, gle.amount.currency.symbol,gle.glAccount.id) ax]. 
[22, 399] '(select gle.glAccount.accountId as accountId, gle.glAccount.qualifier.name as accountName, gle.glAccount.accountType as accountType, gle.amount.currency.symbol as symbol, sum(gle.amount.value * gle.postingTypeValue) as totalSum from GLEntry gle group by gle.glAccount.id, gle.glAccount.qualifier.name, gle.glAccount.accountType, gle.amount.currency.symbol, gle.glAccount.id) ax' cannot be the first declaration of the FROM clause. 
    at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildException(HermesParser.java:155) 
    at org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate(HermesParser.java:347) 
    at org.eclipse.persistence.internal.jpa.jpql.HermesParser.populateQueryImp(HermesParser.java:278) 
    at org.eclipse.persistence.internal.jpa.jpql.HermesParser.buildQuery(HermesParser.java:163) 
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:142) 
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:116) 
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:102) 
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.<init>(EJBQueryImpl.java:86) 
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1603) 
    ... 84 more 

Antwort

6

Versuchen select count(s) from Student s verwenden.

+0

Ich habe das gleiche im tatsächlichen Szenario verwendet, aber immer noch einige Ausnahmen. Bitte überprüfen Sie die UPDATE 1. P. S. Es funktionierte in einfachen Abfragen wie SELECT count (ax) von GLEntry ax. Danke –

1

Ich denke, die Ausnahme ist eher selbsterklärend. Der JPQL-Parser behandelt (*) als arithmetischen Operator und erwartet daher, dass zwei Operanden in Klammern die Multiplikation durchführen.

Um Query-String-Arbeit machen Sie Pfadausdrücke hinzufügen müssen, die Schüler Zustand Felder beziehen, dh

-- dummy example 
SELECT COUNT(s.age * s.height) FROM Student s 

Wenn Sie mit Eclipselink-Implementierung interessiert sind, können Sie tiefer gehen und Sehen Sie sich die Methode org.eclipse.persistence.internal.jpa.jpql.HermesParser.validate genauer an, in der die grammatikalische und semantische Validierung beginnt.