Я тестирование (пытаюсь) функция моделирования отношений squeryl вВыбор из отношений на squeryl
class Foo(val id: Long, val foBar: Long) extends KeyedEntity[Long]{
//Many Foo's can have one Bar.
lazy val fbar: ManyToOne[Bar] = myschema.barToFoo.right(this)
}
class Bar(val id: Long) extends KeyedEntity[Long]{
//One Bar can be assigned to many Foo's.
lazy val bfoo: OneToMany[Foo] = myschema.barToFoo.left(this)
}
object myschema extends Schema{
val bars= table[Bar]
val foo= table[Foo]
val barToFoo =
oneToManyRelation(Bar, Foo).
via((b,f) => b.id === f.foBar)
/** Find all Bars that are assigned to at least one foo.*/
def findBars() ={
from(bars)((b) => where(b.bfoo.size gt 0) select(b))
}
}
Если я пытаюсь проверить, что код со следующим кодом:
test("Test findBars"){
using(jdbcSession){
val mybars = telemetria.findBars
for{i <- mybars}{
println(i.id)
i.id should equal(1)
}
}
}
И я получаю следующее сообщение об ошибке :
java.util.NoSuchElementException: None.get
исключение, выбрасываемые из тела findBars. Я не могу думать ни о чем, что могло бы вызвать такую проблему. Кто-нибудь сталкивался с подобной ситуацией?
Поскольку Даниил отметил, что это может быть компиляцией проблему, я прилагая build.properties и имущество от project.scala
project.organization=org.simepar
project.name=scalatra-sbt-prototype
sbt.version=0.7.4
project.version=2.0.0.M2
def.scala.version=2.8.1
build.scala.versions=2.8.1
project.initialize=false
;
val squeryl = "org.squeryl" % "squeryl_2.8.0" % "0.9.4-RC3"
Я добавил несколько больше информации о процессе строительства и убедился, что я использую новейшую версию squeryl и строить проект против Скале 2.8.1 – 2010-12-08 11:52:43