使用hibernate在SQLServer中获取2100参数限制

时间:2013-06-18 14:46:23

标签: sql-server hibernate hql

所以,我正在尝试在hibernate和SQL server上运行HQL查询

查询采用文件列表和表现形式列表。表现形式与文件相关联。查询的目的是查找链接到表现形式列表中的表现形式的文件列表中的所有文件。查询如下所示:

SELECT file.fileref from com.project.FileImpl f, com.project.ManifestationFileImpl mf 
WHERE f.fileref IN filerefs 
AND mf.manifestionRef NOT IN manifestationRefs 
AND f.fileRef= mf.fileRef

其中fileRefs和manifestationRefs都是字符串数组。不幸的是,当大型数组传递给此查询时,它会失败,因为SQL服务器无法接受超过2100个参数。

就像我想的那样,这是遗留代码,我无法重新编码以消除传入非常大的数组的可能性。

有没有办法(除了将其分解为许多较小的查询并迭代结果)重写此查询以便不会发生参数限制?

0 个答案:

没有答案