Scala: предоставление JDBC ResultSet через генератор (повторяемый)

у меня есть набор строк в базе данных, и яя хотел бы предоставить интерфейс для прокрутки через них, как это:

def findAll: Iterable[MyObject]

Где мы нене требует наличия всех экземпляров в памяти одновременно. В C # вы можете легко создавать генераторы, подобные этому, с помощью yield, компилятор заботится о преобразовании кода, который проходит через набор записей, в итератор (своего рода инвертирование).

Мой текущий код выглядит так:

def findAll: List[MyObject] = {
  val rs = getRs
  val values = new ListBuffer[MyObject]
  while ( rs.next() ) 
    values += new valueFromResultSet(rs)
  values.toList
}

Есть ли способ, которым я мог бы преобразовать это, чтобы не хранить весь набор в памяти? Возможно, я мог бы использовать для понимания?

Ответы на вопрос(3)

Ваш ответ на вопрос