我正在使用 java/hibernate/Oracle。我有一个包含 3000 多个条目的列表。如果我通过了整个列表,我会得到以下异常。
引起原因:java.sql.SQLException:ORA-01795:列表中表达式的最大数量为 1000
为了解决这个问题,我将列表拆分为子列表,每个子列表将有 1000 个条目。对于每一千个条目,我都会触发一个查询。它工作正常。
请问一下,有更好的解决办法吗?
Thanks!
这是 Oracle 的限制,这就是为什么它有 Oracle 错误代码...尽管您可能会说这是 Hibernate 的限制,但它不能透明地解决它:)
假设 Oracle 没有像 SQL Server 那样的东西,您可能应该将该列表放入临时表中并加入该临时表表值参数。 (或者您可以将查询分解为多个查询,这可能取决于您正在做什么。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)