Problemas com a paginação, quando utilizo o createCriteria() "IN"
30/01/2013 10:12
def filterByParamsAprov(Colaborador loggedUser, boolean isCtrlJhTrabAprov, Map params) {
def listaResponsabilidades = responsabilidades(loggedUser, params)
params.max = Math.min(params?.max?.toInteger()?:10,100)
params.offset = params?.offset?.toInteger()?:0
params.sort = params?.sort?params.sort:'id'
params.order = params?.order?params.order:'desc'
def listaFiltradaAprov = MgrCtrlJhTrab.createCriteria().list(
max:params.max,
offset:params.offset,
sort:params.sort,
order:params.order) {
'in'('id', listaResponsabilidades.id)
eq('idColaborador', loggedUser)
return listaFiltradaAprov
}
Error 500: Executing action [list] of controller [com.inmetrics.ctrljhtrab.FinalSemanaFeriadosController]
caused exception: could not execute query
Servlet: grails
URI: /in-manager/grails/finalSemanaFeriados/list.dispatch
Exception Message: ORA-00936: missing expression
Caused by: ORA-00936: missing expression
Class: FinalSemanaFeriadosController
At Line: [14]
Code Snippet:
STACK TRACE
java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1493)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at grails.orm.HibernateCriteriaBuilder.invokeMethod(HibernateCriteriaBuilder.java:1140)
at com.inmetrics.ctrljhtrab.CtrljhtrabService.filterByParamsAprov(CtrljhtrabService.groovy:108)
at com.inmetrics.ctrljhtrab.CtrljhtrabService$filterByParamsAprov.callCurrent(Unknown Source)
at com.inmetrics.ctrljhtrab.CtrljhtrabService.filteredList(CtrljhtrabService.groovy:89)
at com.inmetrics.ctrljhtrab.CtrljhtrabService$$FastClassByCGLIB$$151ba04.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at com.inmetrics.ctrljhtrab.CtrljhtrabService$$EnhancerByCGLIB$$8ee8a27c.filteredList(<generated>)
at com.inmetrics.ctrljhtrab.CtrljhtrabService$filteredList.call(Unknown Source)
at com.inmetrics.ctrljhtrab.FinalSemanaFeriadosController$_closure2.doCall(FinalSemanaFeriadosController.groovy:14)
at com.inmetrics.ctrljhtrab.FinalSemanaFeriadosController$_closure2.doCall(FinalSemanaFeriadosController.groovy)
at java.lang.Thread.run(Thread.java:662)
<g:paginate controller="finalSemanaFeriados" total="${params.finalSemanaFeriadosInstanceTotal}" params="${params}" />
params.max = Math.min(params?.max?.toInteger()?:10,100)
params.offset = params?.offset?.toInteger()?:0
params.sort = params?.sort?params.sort:'id'
params.order = params?.order?params.order:'desc'
def responsabilidades(Colaborador loggedUser, Map params) {
def listaFiltrada = VmgrResponsabColab.createCriteria().list() {
eq('chapaResp', loggedUser.getChapa())
eq('codColigadaResp', loggedUser.getCodColigada())
//eq('id', loggedUser.id)
}
return listaFiltrada
}
Para se registrar, clique aqui.