Scala: Wystawienie zestawu wyników JDBC przez generator (iterowalny)

Mam zestaw wierszy w bazie danych i chciałbym udostępnić interfejs do ich obsługi w następujący sposób:

def findAll: Iterable[MyObject]

Gdzie nie potrzebujemy mieć wszystkich instancji w pamięci naraz. W języku C # możesz łatwo tworzyć generatory, takie jak ten, używając wydajności, kompilator dba o konwersję kodu, który przechodzi przez zestaw rekordów w iterator (rodzaj odwracania).

Mój obecny kod wygląda tak:

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

Czy istnieje sposób, aby przekonwertować to, aby nie przechowywać całego zestawu w pamięci? Może mógłbym użyć do zrozumienia?

questionAnswers(3)

yourAnswerToTheQuestion