我必须在DAO(Hibernate)的sqlquery中传递超过1000条记录。但是下面的代码给出了错误:“在java中,列表中的最大表达式数为1000”
try{
session =HibernateFactoryUtil.getTessSessionFactory().openSession();
String genQuery = new TmsAssetDataQueryUtil().genFilterBasedAssetDataQuery(filterBean);
SQLQuery sqlQuery = session.createSQLQuery(genQuery);
if(postFilter.getModels()!= null) { sqlQuery.setParameterList("modelList",postFilter.getModels()); } }
答案 0 :(得分:0)
这是一个oracle限制,你不能传递超过1000个元素的列表。最简单的方法是将每个小于1000的n
子列表中的列表分开,并对每个子列表执行查询,然后合并结果。