這是play2的內置的zentasks一個示例代碼:如何理解play2的anorm的結果解析器?
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別名。它依賴於jdbc驅動程序的'rs.getMetaData.getTableName(col)'方法。 – Freewind 2012-02-15 15:13:12