Поэтому я новичок в Play! Framework и даже новее для Scala и Squeryl, но я пытаюсь сделать простое приложение REST. Сейчас я тестирую и пытаюсь подключиться к Squeryl. Я последовал этому руководству для получения настроек с помощью Squeryl и эволюции SQL.
Теперь, когда эволюция схемы работает, и база данных установлена, я создал модель squeryl следующим образом:
case class App(
name: String,
description: String,
website: String = "",
callback_url: String = "",
access_level: String = "",
consumer_key: String = "",
access_token: String = "",
application_icon: String = "",
organization_name: String = "",
organization_website: String = "",
created_on: Integer = 0,
updated_on: Integer = 0) extends KeyedEntity[Long] {
val id: Long = 0
}
case class Access_Token(
token : String,
token_secret : String,
access_level : Integer) extends KeyedEntity[Long] {
val id: Long = 0
}
object AppDB extends Schema {
val applications = table[App]("applications")
val access_tokens = table[Access_Token]
}
Поэтому в моем контроллере у меня была эта строка кода, которая, как я думал, введет новую запись:
def create = Action { implicit request =>
val entry = AppDB.applications.insert(new App("hello world", "just a test app", "http://www.com/"))
Ok("New application entry made: " + entry.name)
}
Но я получаю сообщение об ошибке: [ExceptionInInitializerError: null]
Что я делаю не так? Я написал, что на основании этого в squeryl docs
Я боролся с этим, каждый пример, который я нашел, только показывает, как делать вещи с данными через форму или какой-то вспомогательный помощник, но как насчет запросов POST, PUT, GET, DELETE в Play! фреймворк? Я еще ничего не видел, что касается REST.
Я просто использую анорму сейчас, это не squeryl, а Play! что делает интеграцию жесткой для меня.