Я занимаюсь разработкой веб-приложения с scala 2.8.1, scalatra 2.0.0.M2, squeryl 2.8.0 и scalate 2.0.0 и sbt
У меня проблема с, видимо, моделью или классом схемы. Когда я запускаю свои тесты, я получаю:
java.lang.NoClassDefFoundError: Could not initialize class org.mycompany.myproject.model.myschema
Если я пытаюсь запустить следующий код в консоли sbt-quick, я получаю сообщение об ошибке:
import org.mycompany.myproject.model.myschema
myschema.mytable
Ошибка:
java.lang.RuntimeException: Could not deduce Option[] type of field 'field1' of class org.mycompany.myproject.model.myotherclass
Как я и ожидал, ошибка появляется независимо от того, какой метод я пытаюсь вызвать в этой схеме.
Теперь вот как выглядит моя схема рядом с объявлением таблицы:
object myschema extends Schema {
val myotherclasses = table[myotherclass]
val otherClassManyToMany = manyToManyRelation(yetanotherclass, mytables).
via[myotherclass]((e,ssr, sse) => (e.id === sse.leftId, sse.rightId === ssr.id))
...
}
Вот так выглядит моя кодовая таблица:
class myotherclass(
val rightId: Long,
val field1: Option[Long],
val field2: Option[Long],
val foreiginKey: Long,
val leftId: Long) extends KeyedEntity[CompositeKey2[Long, Long]] {
def id ={compositeKey(sesestacao, sessensor)}
}
И, наконец, мое определение sql:
create table telemetria.myotherclass (
rightId numeric(8,0) references telemetria.estacao(estcodigo),
field1 numeric(8,0),
field2 numeric(8,0),
foreiginKey smallint references myschema.thirdtable(idOfThird),
leftId smallint references myschema.yetanotherclass(id),
primary key (rightId, leftId)
);
Я не отобразил третью таблицу в своем коде. Что может происходить?