禁用在休眠

时间:2015-12-02 15:29:51

标签: java sql oracle hibernate

我的问题实际上开始于oracle仅支持in(...)谓词中的1000个元素。所以执行类似于

的查询
select * from table where column in ({2000 elements});

将导致异常。一些谷歌搜索让我想到将多个谓词中的元素分成1000个元素,如下所示:

select * from table where column in ({1000 elements}) or column in ({1000 elements});

当直接执行查询时,这非常有效,但是当我使用Hibernate session.createSQLQuery()时,它会导致一个带有所有元素的'in'谓词,并且我从数据库中获得异常。

有没有办法禁用此优化或任何其他解决方法? 我正在使用Hibernate 3.2.6,这是遗留项目。

0 个答案:

没有答案