Parece que hay un límite de 1000 argumentos en Oracle SQL. Me encontré con esto cuando la generación de consultas como ....Límite de argumento SQL en Oracle
select * from orders where user_id IN(large list of ids over 1000)
Mi solución es crear una tabla temporal, insertar los identificadores de usuario en el primer lugar de emitir una consulta a través de JDBC que tiene una lista gigante de los parámetros en el IN.
¿Alguien sabe de una solución más fácil? Dado que estamos usando Hibernate, me pregunto si automáticamente puede hacer una solución similar de forma transparente.
¿Cómo se generó la gran lista de identificadores en primer lugar? ¿Vinieron de una tabla o consulta? (De alguna manera dudo que una IU haya generado tantos params ...) – YogoZuno
esto ocurre a menudo cuando la lista de ID proviene de otra fuente, como un motor de búsqueda. es decir, es un método de correlación entre backends no integrados. – zzzeek
Normalmente, los identificadores provienen del usuario que realiza operaciones masivas en la IU. – benstpierre