Java - Problema con Restrictions.in

 
Vista:

Problema con Restrictions.in

Publicado por Felipe (1 intervención) el 14/05/2010 12:06:08
Hola, me esta ocurriendo un caso extraño que quiero exponer, por si podéis darme alguna pista sobre lo que esta ocurriendo.
El siguiente código deja de funcionar correctamente (no me devuelve ningún registro) cuando es ejecutado un determinado número de veces:

Criteria fonCriteria = this.getSession().createCriteria(igfFondo.class);

String[] fondosPermitidos = new String[300];

for (int i=0; i<300;i++)
{
fondosPermitidos[0]= "A01";
}

fonCriteria.add(Restrictions.in("fondo", fondosPermitidos));

List fondos=fonCriteria.list();

Se que el código no tiene mucho sentido, es un codigo de prueba que he creado para reproducir el error.
El problema es que la consulta solo da los resultados esperados un determinado número de veces, que siempre es el mismo número de veces si pasamos el mismo número de parámetros al “Restrictions.in”.

Lo mas extraño de todo es que el problema solo ocurre en el siguiente entorno:

Servidor de aplicaciones: JBoss 4.0.5 en Linux Ubuntu Server 9.10 (Versión Java: 1.6.0_15-b03)
BD: DB2 en AS400

Si funciona correctamente en los siguientes entornos:

Servidor de aplicaciones: JBoss 4.0.5 en Linux Ubuntu Server 9.10 (Versión Java: 1.6.0_15-b03)
BD: MySQL en Linux Ubuntu Server 9.10 (misma maquina que JBoss)

Servidor de aplicaciones: JBoss 4.0.5 en Windows XP
BD: MySQL en Linux Ubuntu Server 9.10 o DB2 en AS400

La consulta que genera Hibernate (version 3.1.3) es la misma cuando funciona bien y mal, y es la siguiente:

select this_.FONDO as FONDO3_0_, this_.IGFDNBR as IGFDNBR3_0_, this_.IGFDTIP as IGFDTIP3_0_, this_.IGFDNIF as IGFDNIF3_0_, this_.IGFDRBE as IGFDRBE3_0_, this_.IGFDRCN as IGFDRCN3_0_, this_.IGFDDEP as IGFDDEP3_0_, this_.IGFDFCO as IGFDFCO3_0_, this_.IGFDFBA as IGFDFBA3_0_, this_.IGFDFCN as IGFDFCN3_0_, this_.IGFDNIG as IGFDNIG3_0_, this_.IGFDRGE as IGFDRGE3_0_, this_.IGFDFRM as IGFDFRM3_0_, this_.IGFDNIN as IGFDNIN3_0_, this_.IGFDLI1 as IGFDLI15_3_0_, this_.IGFDTIT as IGFDTIT3_0_, this_.IGFDVLI as IGFDVLI3_0_, this_.IGFDNDI as IGFDNDI3_0_, this_.IGFDNPA as IGFDNPA3_0_, this_.IGFDTOM as IGFDTOM3_0_, this_.IGFDSGE as IGFDSGE3_0_, this_.IGFDSEC as IGFDSEC3_0_, this_.IGFDLIB as IGFDLIB3_0_, this_.IGFDFOL as IGFDFOL3_0_, this_.IGFDHOJ as IGFDHOJ3_0_, this_.IGFDFIG as IGFDFIG3_0_, this_.IGFDFFG as IGFDFFG3_0_, this_.IGFDVGA as IGFDVGA3_0_, this_.IGFDFGA as IGFDFGA3_0_, this_.IGFDCA2 as IGFDCA30_3_0_, this_.IGFDCA3 as IGFDCA31_3_0_, this_.IGFDDIV as IGFDDIV3_0_, this_.IGFDREF as IGFDREF3_0_, this_.IGFDM22 as IGFDM34_3_0_, this_.IGFDISI as IGFDISI3_0_, this_.IGFDPRO as IGFDPRO3_0_, this_.IGFDOM as IGFDOM3_0_, this_.IGFPOB as IGFPOB3_0_, this_.IGFCOP as IGFCOP3_0_, this_.IGFCCV as IGFCCV3_0_, this_.IGFCCC as IGFCCC3_0_, this_.IGFGGES as IGFGGES3_0_, this_.IGFAUD as IGFAUD3_0_, this_.IGFNOM as IGFNOM3_0_, this_.IGFMAI as IGFMAI3_0_, this_.IGFGEST as IGFGEST3_0_, this_.IGFMGE as IGFMGE3_0_, this_.IGFTEL as IGFTEL3_0_, this_.IGFFIA as IGFFIA3_0_, this_.IGFBEN as IGFBEN3_0_, this_.IGFTIG as IGFTIG3_0_, this_.IGFPOI as IGFPOI3_0_, this_.IGFDELEG as IGFDELEG3_0_, this_.IGFOFIC as IGFOFIC3_0_, this_.IGFBOLSA as IGFBOLSA3_0_ from IGDATTEST.IGFFONDO this_ where this_.FONDO in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) and this_.IGFDTIP in (?, ?, ?, ?) and this_.IGFDNIG=? order by this_.FONDO asc

¿Que puede estar pasando?

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con Restrictions.in

Publicado por James (207 intervenciones) el 15/05/2010 00:34:28
No igual pero parecido me ocurrio en mi caso tenia un error en Oracle y con MySQL todo Ok, por lo que dedusco que el probelma esta en la DB en mi caso lo solucione haciendo un afinamiento del Oracle supongo que en tu caso debes tener algun problema con DB2, lo que pasa es que como el MySQL es multithread soporta mucha concurrencia sin problema en otras DB toca hacer ajustes, espero te sirva de algo, Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar