このコード:ScalaQueryの "withTransaction"句でテーブルにアクセスすると、 "Missing parameter type"が表示されるのはなぜですか?
def insAll(values: MyRdt*) {
Db.withTransaction(session => { // Db is an org.scalaquery.session.Database instance
MyTable.insertAll(values: _*)(session)
})
}
がコンパイルされません。エラーは
... missing parameter type
[error] Db.withTransaction(session => {
^
どのようなアイデアですか?
MyTable.insertAll(values: _*)
ではなく、定義済みのクエリにアクセスするとコンパイルできます。私は
def insAllS(values: MyRdt*)(session: Session) {
MyTable.insertAll(values: _*)(session)
}
def insAll(values: MyRdt*) {
Db.withTransaction(session => {
insAllS(values: _*)(session)
})
}
のような2つの機能にそれを分割している場合
不思議なことに、それはエラーなしでコンパイルされます。
PS:MyRdt
は、テーブルレコードタプルのタイプエイリアスです。