2

Anormを使用する場合、Userケースクラスに別のテーブル名を使用したいと思います。

object User extends Magic[User]().using("users")

しかし、次のコンパイルエラーが発生します。

ファイル/app/models/User.scalaをコンパイルできませんでした。発生したエラーは:';' 期待されますが、「。」見つかった。

オブジェクトユーザーはMagicUser↓.using( "users")を拡張します

これはAnormのバグですか?

4

1 に答える 1

4

明らかにバグではありません。コードは有効な scala ではありません。代わりにそれを行うことができます:

lazy val User = new Magic[User].using("users")

(規則は小文字の「ユーザー」であり、意図したコードと同等になるように大文字が左になります)

object は式ではなく宣言です。オブジェクト宣言は

object ObjectName extends Ancestor(ancestor_constructor_arguments) {
  // body: data, method and initialization code
}

ほとんどの部品はオプションです。

コンストラクターの引数またはオブジェクトの本体の初期化コードを使用して、適応を行う必要があります。

クラス Magic に動作を追加しないので、とにかくオブジェクトを宣言する必要はないようです。

于 2011-06-21T14:30:21.970 に答える