【问题标题】:ORMLite's iterator forgets all the data after hasNext() == falseORMLite 的迭代器忘记了 hasNext() == false 之后的所有数据
【发布时间】:2015-07-13 14:18:18
【问题描述】:

代码示例:

//...
CloseableIterator<Order> iterator = dao.iterator();

iterator.first(); // Object
iterator.current(); // Object

iterator.hasNext(); // false (only 1 record in table "Order")

iterator.current(); // null (?!)
iterator.first(); // null (?!!)

另外,iterator.previous() 也返回 null(如果多于 1 条记录,ofc)。

在最后一条记录上调用hasNext()后如何禁止ORMLite的SelectIterator忘记我的数据?..

【问题讨论】:

    标签: iterator ormlite


    【解决方案1】:

    根据ORMLite的源代码,这是一种正常的无证不可改变的行为。

    【讨论】:

      【解决方案2】:

      我自己也遇到了。我们在 Android 上使用 ORMLite,并且能够使用 DatabaseResults 成员上可用的方法,可通过调用:

      iterator.getRawResults()
      

      您必须先将其转换为适当的类型,然后才能执行安全检查计数等操作(取决于它们在您的特定实现中是否可用)

      【讨论】:

        猜你喜欢
        • 2018-09-20
        • 2010-12-30
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        • 2020-09-06
        • 2013-11-30
        • 2017-08-21
        • 1970-01-01
        相关资源
        最近更新 更多