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
}