This question already has answers here:
How to load a large number of strings to match with oracle database?
(3个答案)
3年前关闭。
0我有这种方法:
这种方法还可以,我唯一的问题是
我正在尝试找到一个令人信服的解决方案。
(3个答案)
3年前关闭。
0我有这种方法:
public List<Product> getProductsByListIds(List<Long> ids) {
String query = "from Product pr where pr.id in(:ids)";
List<Product> products= (List<Product>) getSession().createQuery(query)
.setParameterList("ids", ids).list();
return products;
}
这种方法还可以,我唯一的问题是
ids.size() >1000
我正在尝试找到一个令人信服的解决方案。
最佳答案
我的建议是退后一步,看看设计和您要实现的目标,将数百个参数传递到SQL语句中并不是很有效,如果这是最优雅的解决方案,我会感到惊讶根据您的要求。
在不了解有关如何调用此方法以及此ID列表从何而来的更多信息的情况下,很难给出具体建议,但是,我建议您在可能的情况下考虑使用联接。
10-02 06:09