Scala: Exposición de un conjunto de resultados JDBC a través de un generador (iterable)

Tengo un conjunto de filas en una base de datos, y me gustaría proporcionar una interfaz para hojearlas de esta manera:

def findAll: Iterable[MyObject]

Donde no requerimos tener todas las instancias en memoria a la vez. En C # puede crear fácilmente generadores de este tipo utilizando el rendimiento, el compilador se encarga de convertir el código que recorre el conjunto de registros en un iterador (lo invierte).

Mi código actual se ve así:

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

¿Hay alguna forma en que pueda convertir esto para no almacenar todo el conjunto en la memoria? Tal vez podría usar una para la comprensión?