Я использую Play 2.1.4 против базы данных postgresql. В базе данных postgresql я использую uuid в качестве типа данных pk, который соответствует java.util.UUID. Функция SqlParser.getT в стандарте не имеет неявного экстрактора для java.util.UUID. Это имеет смысл, потому что я не думаю, что многие люди его используют; однако я не могу найти инструкции о том, как я могу его добавить. Кто-нибудь знает, как добавить дополнительный неявный экстрактор в anorm.SqlParser в Play?
Ошибка, которую я получаю, приведена ниже:
не удалось найти неявное значение для экстрактора параметров: anorm.Column[java.util.UUID]
Я действительно новичок в Scala и Play, поэтому, если мой подход совершенно неверен, дайте мне знать, но мне бы очень хотелось иметь возможность сделать что-то вроде того, что вы видите ниже.
case class App(appId: UUID, appName: String, appServerName: String,
appComponent: String, appDescription: String,
appDateCreated: DateTime, appDateModified: DateTime,
appValidated: Boolean)
val app = {
get[UUID]("app_id") ~
get[String]("app_name") ~
get[String]("app_server_name") ~
get[String]("app_component") ~
get[String]("app_description") ~
get[java.util.Date]("app_date_created") ~
get[java.util.Date]("app_date_modified") ~
get[Boolean]("app_validated") map {
case id ~ name ~ serverName ~ component ~ description ~ dateCreated ~
dateModified ~ validated => App(id, name, serverName, component,
description, new DateTime(dateCreated.getTime),
new DateTime(dateModified.getTime), validated)
}
}
def all(): List[App] = DB.withConnection { implicit conn =>
SQL("SELECT * FROM apps").as(app *)
}