1
データベースに2つのクラスがあり、1対多リレーションシップを設定したいと考えています。複雑ではありません。しかし、私はsquerylの_splitEquality(576行目)でアサーションエラーを起こしています。 Squerylは、だから私はSquerylを使用してOneToMany関係を作成しようとするとアサーションエラーが発生する
class bar (val foo_fk) {
def useful_info = Tables.fooBar.right(this).head.useful_info
}
しかし、これは使用して実行時にスキーマfooが
class Foo (val foo_id: String, val useful_info: String)
extends KeyedEntity[String] {
override def id: String = foo_id
}
、バーで
object Tables extends Schema {
val foo = table[Foo]("foo_table")
val bar = table[Bar]("bar_table")
val fooBar = oneToManyRelation(foo,bar).via((f,b) => f.id === bar.foo_fk)
}
を失敗されているバージョン0.9.5
です前述のアサーションの失敗、具体的には: assert(ee.right._fieldMetaData.isIdFieldOfKeyedEntity)
が失敗しました
ここでの問題は、KeyedEntityがプライマリキーフィールドに "id"という名前を使用しなければならないということでした。最初の例では、 "def"はこの制限を回避するのに十分ではありませんでした。 2番目のものでは、あなたはそのルールに従い、物事は働きました。 – jsalvata