Play Slick: выберите * из таблицы игнорирует sortBy

У меня есть следующий код play/slick 3.0, который читает всю таблицу. Это хорошо работает за исключением того, что оператор SQL не добавляет order by (хотя это относится sortBy, В чем может быть проблема?

  def readMany =  {
    val db = Database.forConfig("dbconfig")
    var list = new ListBuffer[UserVO]()
    try {
      val users = TableQuery[UserDB]
      val action = users.result
      users.sortBy(_.userid)
      val future = db.run(action).map(_.foreach {
        case (u) => list += u
      })
      val result = Await.result(future, 10 seconds)
      println(action.statements.head)  // <-- prints "select userid,col1,col2 from users"
    } finally db.close
    list
  }

1 ответ

Вот как использовать sortBy:

 def readMany =  {
    val db = Database.forConfig("dbconfig")
    var list = new ListBuffer[UserVO]()
    try {
      val users = TableQuery[UserDB]


      val action = users.sortBy(_.userid).result  <-- sortBy example

      val future = db.run(action).map(_.foreach {
        case (u) => list += u
      })
      val result = Await.result(future, 10 seconds)
      println(action.statements.head)  
    } finally db.close
    list
  }
Другие вопросы по тегам