正確に 1 行のテーブルを作成する必要があります。
たとえばBook、プロパティを持つドメインクラスがありますYear。
class Book {
Integer year
static mapping = {
...
}
}
ドメインクラスには何を書く必要がありますか?
正確に 1 行のテーブルを作成する必要があります。
たとえばBook、プロパティを持つドメインクラスがありますYear。
class Book {
Integer year
static mapping = {
...
}
}
ドメインクラスには何を書く必要がありますか?
残念ながら、これを達成するために使用する GORM イベントbeforeInsertでは、挿入を拒否することはできません (Grails 2.2.2 以降)。beforeUpdateしますが、この場合は役に立ちません。
頭に浮かぶ2つの解決策があります。
サービス メソッドを使用して、挿入するかどうかの決定を行います。ただし、別のクラスがドメイン クラスを直接使用している場合、自動的に挿入が拒否されることはありません。
テーブルに既にデータがあるかどうかをチェックするカスタム Hibernate PreInsertEventListenerを作成します。
Burt Beckwith は、2011 年の gr8Conf セッションで、効果的に読み取り専用のドメイン クラスを作成するためのカスタム Hibernate イベント リスナーの使用について概説しました。