我想知道 SqlFieldsQuery 实例是否可以多次重用,每次调用 SqlFieldsQuery#setArgs() 使用不同的参数,然后传递给 IgniteCache#query() 进行缓存查询。
我在文档中没有看到任何关于此的内容以及所有代码示例我看到似乎为同一sql查询创建了一个新实例。过去,我曾多次重用SqlQuery(在其弃用之前),没有任何问题。我会尝试查看代码,看看是否能找到原因,但同时我想知道是否有人对此有任何见解。
更新: 查看 SqlFieldsQuery 的 源代码 它看起来只是一个 POJO (宽松地说是一个 bean,但没有无参数构造函数)。
是的,它只是一个POJO,当上一个查询执行完毕并返回结果后,您可以重用它。