在某些SQL变体中(尤其是Oracle),可以传递给IN
语句的参数数量是有限的。即以下是行不通的;
select * from molecules where id in (atom_1, atom_2, atom_3, ... atom_785534);
建议了多种解决方案,包括using a temporary table或split the parameters into smaller groups。
ORM的最佳解决方案是什么,特别是Hibernate 5+?据我所知,不可能用Hibernate创建一个临时表,并且不希望在块之间循环,尤其是当您可能有多个参数列表,而这些参数可能会超出限制时。