oneToManyRelation с CompositeKey

Я пытаюсь создать базу данных с помощью squeryl. Эта БД нуждается в отображении между 2 несвязанными таблицами. Моя проблема в том, что одна из несвязанных таблиц имеет CompositeKey2 как PrimaryKey.

Когда я пытаюсь создать свою схему, она всегда выдает исключение. Я встречал много исключений. Вот некоторые сведения о том, что я пытаюсь сделать:

class Table1(val foo: Long,
             val bar: String
) extends KeyedEntity[CompositeKey2[Long, String]] {

    def id = compositeKey(foo, bar)
}

class Table2(val data: Array[Byte]) extends KeyedEntity[Long] {

    val id = 0L
} 

class Table1ToTable2Mapping(val table1Foo: Long,
                            val table1Bar: String,
                            val table2Id: Long
    ) extends KeyedEntity[CompositeKey3[Long, String, Long]] {

    def id = compositeKey(table1Foo, table1Bar, table2Id)
}

Каждое объявление схемы, которое я пробовал, со своим исключением:

//Schema:
oneToManyRelation(table1, table1ToTable2Mapping).via((t1, t1Tot2) => t1.id.a2 === t1Tot2.table1Bar)

Вызвано: java.lang.ClassCastException:
org.squeryl.PrimitiveTypeMode $$ anon $ 1 не может быть приведен к
org.squeryl.dsl.ast.SelectElementReference

//Schema:
oneToManyRelation(table1, table1ToTable2Mapping).via((t1, t1Tot2) => t1.bar === t1Tot2.table1Bar)

java.lang.AssertionError: утверждение не удалось

Может ли это поведение быть связано с этим билетом?
Есть ли известная работа вокруг?

0 ответов

Другие вопросы по тегам