Faseela Thayattuchira
Faseela Thayattuchira

Reputation: 527

"not in" is working but "not exists" is not working in hql

i am working in jave, spring, mysql, hibernate environment

I have the following hql it gives me the correct out put

select distinct(ordr) from OfOrder ordr, SalesChannel sc  
 where  ordr.status in (:statusList) 
 and ordr.ofOrderId not in  
   ( select ordrLabel2.ofOrder.ofOrderId 
     from OrderLabel as ordrLabel2 
     where ordrLabel2.ofLabel.labelId in ( :ofLabels )
   ) 
 and ordr.orderMain.salesChannel.channelId in (:channelIds)  
 and ordr.deliveryChannel.deliveryChannelId in (:deliveryChannels)
 order by ordr.deliveryDate asc,    
  CASE   
    when ordr.status = 'SU' then 1 
    when ordr.status = 'SU' then 1 
    when ordr.status = 'SU' then 1 
    when ordr.status = 'AC' then 2 
    when ordr.status = 'AC' then 2 
    when ordr.status = 'AC' then 2 
    when ordr.status = 'AC' then 3 
    when ordr.status = 'AC' then 4 
    when ordr.status = 'AC' then 4 
    when ordr.status = 'SH' then 5 
    when ordr.status = 'SH' then 5 
    when ordr.status = 'DD' then 6 
    when ordr.status = 'R' then 7 
    when ordr.status = 'C' then 8   
    ELSE 9999    
  END

but I am thinking to change the not in to not exists so that it will be good to deal with null and give good performance if subquery result is large. I changed the query like this

select distinct(ordr) from OfOrder ordr, SalesChannel sc  
 where  ordr.status in (:statusList) 
 and ordr.ofOrderId not exists
   ( select ordrLabel2.ofOrder.ofOrderId 
     from OrderLabel as ordrLabel2 
     where ordrLabel2.ofLabel.labelId in ( :ofLabels )
   ) 
 and ordr.orderMain.salesChannel.channelId in (:channelIds)  
 and ordr.deliveryChannel.deliveryChannelId in (:deliveryChannels)
 order by ordr.deliveryDate asc,    
  CASE   
    when ordr.status = 'SU' then 1 
    when ordr.status = 'SU' then 1 
    when ordr.status = 'SU' then 1 
    when ordr.status = 'AC' then 2 
    when ordr.status = 'AC' then 2 
    when ordr.status = 'AC' then 2 
    when ordr.status = 'AC' then 3 
    when ordr.status = 'AC' then 4 
    when ordr.status = 'AC' then 4 
    when ordr.status = 'SH' then 5 
    when ordr.status = 'SH' then 5 
    when ordr.status = 'DD' then 6 
    when ordr.status = 'R' then 7 
    when ordr.status = 'C' then 8   
    ELSE 9999    
  END

a small change. "not in" to "not exists" but it is not working

which ends up the following wrror

12:22:48,811 ERROR [stderr] (default task-1) Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: exists near line 1, column 174 [select distinct(ordr) from com.storilabs.of.data.model.OfOrder ordr, com.storilabs.of.data.model.SalesChannel sc  where  ordr.status in (:statusList) and ordr.ofOrderId not exists  ( select ordrLabel2.ofOrder.ofOrderId from com.storilabs.of.data.model.OrderLabel as ordrLabel2 where ordrLabel2.ofLabel.labelId in ( :ofLabels )) and ordr.orderMain.salesChannel.channelId in (:channelIds)  and ordr.deliveryChannel.deliveryChannelId in (:deliveryChannels) order by ordr.deliveryDate asc,    CASE   when ordr.status = 'SU' then 1 when ordr.status = 'SU' then 1 when ordr.status = 'SU' then 1 when ordr.status = 'AC' then 2 when ordr.status = 'AC' then 2 when ordr.status = 'AC' then 2 when ordr.status = 'AC' then 3 when ordr.status = 'AC' then 4 when ordr.status = 'AC' then 4 when ordr.status = 'SH' then 5 when ordr.status = 'SH' then 5 when ordr.status = 'DD' then 6 when ordr.status = 'R' then 7 when ordr.status = 'C' then 8  ELSE 9999    END]

12:22:48,811 ERROR [stderr] (default task-1)    at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:74)

12:22:48,811 ERROR [stderr] (default task-1)    at org.hibernate.hql.internal.ast.ErrorTracker.throwQueryException(ErrorTracker.java:93)

12:22:48,811 ERROR [stderr] (default task-1)    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:296)

12:22:48,811 ERROR [stderr] (default task-1)    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:188)

12:22:48,811 ERROR [stderr] (default task-1)    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:143)

12:22:48,811 ERROR [stderr] (default task-1)    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:119)

12:22:48,811 ERROR [stderr] (default task-1)    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80)

12:22:48,812 ERROR [stderr] (default task-1)    at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:153)

12:22:48,812 ERROR [stderr] (default task-1)    at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:595)

12:22:48,812 ERROR [stderr] (default task-1)    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:704)

12:22:48,812 ERROR [stderr] (default task-1)    ... 104 more

12:22:48,813 INFO  [stdout] (default task-1) orderStatusArray [SU, AC]

12:22:48,813 INFO  [stdout] (default task-1) INFO  | 2021-06-15 12:22:48 | [default task-1] dao.OrderDaoImpl (OrderDaoImpl.java:590) - HQL FOR GET ORDERS COUNT ::: select count(distinct ordr) from OfOrder ordr, SalesChannel sc  where  ordr.status in (:orderStatusesList) and ordr.ofOrderId not exists  ( select ordrLabel2.ofOrder.ofOrderId from OrderLabel as ordrLabel2 where ordrLabel2.ofLabel.labelId in ( :ofLabels )) and ordr.orderMain.salesChannel.channelId in (:channelIds)  and ordr.deliveryChannel.deliveryChannelId in (:deliveryChannels)

12:22:48,816 ERROR [org.hibernate.hql.internal.ast.ErrorTracker] (default task-1) line 1:187: unexpected token: exists
12:22:48,816 ERROR [org.hibernate.hql.internal.ast.ErrorTracker] (default task-1) line 1:187: unexpected token: exists: line 1:187: unexpected token: exists
    at org.hibernate.hql.internal.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2902) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2558) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2522) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2448) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2403) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.expression(HqlBaseParser.java:2116) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.logicalExpression(HqlBaseParser.java:1894) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.whereClause(HqlBaseParser.java:498) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:754) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:319) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:198) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:289) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:188) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:143) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:119) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:153) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:595) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:704) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:23) [hibernate-core-5.3.3.Final.jar:5.3.3.Final]
    at com.storilabs.of.data.dao.OrderDaoImpl.getCountOfAllOrdersByUserAndFilters(OrderDaoImpl.java:592) [classes:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_291]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_291]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_291]
    at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_291]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:338) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) [spring-tx-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at com.sun.proxy.$Proxy194.getCountOfAllOrdersByUserAndFilters(Unknown Source)
    at com.storilabs.of.service.OrderServiceImpl.getCountOfAllOrderByUser(OrderServiceImpl.java:2984) [classes:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_291]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_291]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_291]
    at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_291]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:338) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:206) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at com.sun.proxy.$Proxy203.getCountOfAllOrderByUser(Unknown Source)
    at com.storilabs.of.controller.OrderController.getOrdersValidateSession(OrderController.java:379) [classes:]
    at com.storilabs.of.controller.OrderController$$FastClassBySpringCGLIB$$c31ff25f.invoke(<generated>) [classes:]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:747) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at com.storilabs.of.aspect.UserSessionTrackerAspect.validateUserSession(UserSessionTrackerAspect.java:124) [classes:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_291]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_291]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_291]
    at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_291]
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:643) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:632) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) [spring-aop-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at com.storilabs.of.controller.OrderController$$EnhancerBySpringCGLIB$$e091dc7e.getOrdersValidateSession(<generated>) [classes:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_291]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_291]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_291]
    at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_291]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) [spring-web-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) [spring-web-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:871) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:777) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:870) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:686) [jboss-servlet-api_4.0_spec-1.0.0.Final.jar:1.0.0.Final]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:855) [spring-webmvc-5.0.2.RELEASE.jar:5.0.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:791) [jboss-servlet-api_4.0_spec-1.0.0.Final.jar:1.0.0.Final]
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:173) [undertow-websockets-jsr-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104) [undertow-servlet-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:364) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) [undertow-core-2.0.19.Final.jar:2.0.19.Final]
    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
    at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_291]

Upvotes: 1

Views: 87

Answers (1)

Vedvyas Mohapatra
Vedvyas Mohapatra

Reputation: 146

Instead of

and ordr.ofOrderId not exists
   ( select ordrLabel2.ofOrder.ofOrderId 
     from OrderLabel as ordrLabel2 
     where ordrLabel2.ofLabel.labelId in ( :ofLabels )
   ) 

try

and not exists
   ( 
      from OrderLabel as ordrLabel2 
     where ordrLabel2.ofOrder.ofOrderId = ordr.ofOrderId 
       and ordrLabel2.ofLabel.labelId in ( :ofLabels )
   ) 

Upvotes: 2

Related Questions