Это пример кода из zentasks Встроенный в PLAY2 в:Как понять синтаксический анализатор анонса 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.
?
К сожалению, это не псевдонимы DB. Это зависит от метода 'rs.getMetaData.getTableName (col)' jdbc-драйвера. – Freewind