java - setParameterList list with huge data -


i have integer array list 8000 items in it.

and set array list in hql using setparameterlist method.

just example query

return (integer) sessionfactory.getcurrentsession().createquery("update data id in (:list)").setparameterlist("list", arraylist).executeupdate(); 

but after executing query got error.

java.lang.stackoverflowerror     @ org.hibernate.hql.ast.querytranslatorimpl$javaconstantconverter.visit(querytranslatorimpl.java:585)     @ org.hibernate.hql.ast.util.nodetraverser.visitdepthfirst(nodetraverser.java:64)     @ org.hibernate.hql.ast.util.nodetraverser.visitdepthfirst(nodetraverser.java:65)     @ org.hibernate.hql.ast.util.nodetraverser.visitdepthfirst(nodetraverser.java:66)     @ org.hibernate.hql.ast.util.nodetraverser.visitdepthfirst(nodetraverser.java:66)     @ org.hibernate.hql.ast.util.nodetraverser.visitdepthfirst(nodetraverser.java:66)     @ org.hibernate.hql.ast.util.nodetraverser.visitdepthfirst(nodetraverser.java:66)     @ org.hibernate.hql.ast.util.nodetraverser.visitdepthfirst(nodetraverser.java:66)     @ org.hibernate.hql.ast.util.nodetraverser.visitdepthfirst(nodetraverser.java:66) 

is there way solve issue in hibernate. may work pure sql query. want know there other way in hql.

if list comes sql query, try using wherre exists instead.

otherwise, might have update each element independently inside loop.

in clause on thousands of items not handled databases.


Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -