私はGrailsに接続しようとしている従来のテーブルを持っています。物事を簡単にするモデルを単純化するつもりです。テーブルには2つのフィールドがあります: "NAME"は文字列型で "CPAR"はInteger型であり、テーブルのID(プライマリキー)のように動作します。Grailsを使って新しい自動生成プライマリキーフィールドをレガシーテーブルに追加するには?
私がしたいのは、下位互換性のために "CPAR"を保持し、テーブルに新しいフィールド "ID"を挿入して、実際にテーブルのプライマリキーにすることです。ここで
は、自分のドメインクラスです:
Class Partners {
Long id
String name
Integer cpar
static mapping = {
table "PARTNERS"
version false
columns {
id column: "ID", generator: "sequence"
name column: "NAME"
cpar column: "CPAR"
}
}
}
私は、このアプリケーションを実行すると、それはテーブル内のIDフィールドを作成しますが、すべての行がゼロ(「ID」フィールドはゼロであり、全体ではなく行が移入されています)。それは、私のエラーを与える足場のWebインターフェイスを介してアプリケーションにアクセスしようとしている:nullオブジェクトのプロパティ 'ID'を取得することはできません。私が望むのは、これらの "ID"フィールドにゼロの代わりに適切な値が入力されるようにすることです。どうすればこれを達成できますか?使用しているデータベースはFirebirdです。