|
|
1
2
你不能用 查询结果 对象 |
|
|
2
1
当查询方法返回单个对象时,很容易在返回单个对象之前关闭查询。
这就需要负责关闭返回调用方集合的查询,如果调用方忽略关闭查询,则可能导致泄漏-我认为必须有一种更安全的方法,而且确实存在! 长期使用DataNucleus的Guido创建了一个“自动关闭”集合facade,用于包装JDO的Query.execute方法返回的集合。用法非常简单:将查询结果包装在自动关闭集合对象的实例中:
只需返回“自动关闭”包装版本:
对于调用方来说,它看起来像任何其他集合,但包装器保留对创建集合结果的查询的引用,并在GC释放包装器时自动关闭它。
JDOQueryResultCollection是唯一直接使用的类,但它确实有一些支持类。 只需将jar添加到项目中,并将com.sas.framework.expojo.jdo.JDOQueryResultCollection导入任何包含将结果作为集合返回的查询方法的Java文件。 或者,您可以从jar中提取源文件并将其包含在项目中:它们是:
|