Это пример кода из zentasks встроенной в play2:
object Project {
// -- Parsers
/**
* Parse a Project from a ResultSet
*/
val simple = {
get[Pk[Long]]("project.id") ~
get[String]("project.folder") ~
get[String]("project.name") map {
case id~folder~name => Project(id, folder, name)
}
}
}
Обратите внимание на полевые клавиши: project.id
, project.folder
, project.name
.
Что означает часть project
? Откуда это взялось?
Посмотрите на метод запроса:
def findById(id: Long): Option[Project] = {
DB.withConnection { implicit connection =>
SQL("select * from project where id = {id}").on(
'id -> id
).as(Project.simple.singleOpt)
}
}
SQL - select * from project ...
, результат должен быть:
id | folder | name
Не
project.id | project.folder | project.name
Почему мы должны указывать ключи как project.???
, а не field name
напрямую?
Как play2 использует партию project.
?