java中列表中的最大表达式数为1000

时间:2017-05-05 23:00:29

标签: java hibernate

我必须在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()); }         }  

1 个答案:

答案 0 :(得分:0)

这是一个oracle限制,你不能传递超过1000个元素的列表。最简单的方法是将每个小于1000的n子列表中的列表分开,并对每个子列表执行查询,然后合并结果。