あるテーブルの主キーが別のテーブルの外部キーでもある場合に、GORMで2つのエンティティをマップするための最良の方法は何ですか。例:
ここに1つの表があります:
CREATE TABLE `table_a` (
`a_id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`a_id`)
)
そして、このテーブル'a_id'のpkは、次のテーブルによって参照されます。
CREATE TABLE `table_b` (
`b_id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`b_id`),
KEY `b_id_fk` (`b_id`),
CONSTRAINT `b_id_fk` FOREIGN KEY (`b_id`) REFERENCES `table_a' (`a_id`)
)
上記の2つのエンティティをGrails/GORMにマッピングするにはどうすればよいですか?次のコードは、GORMが「エンティティのマッピングで列を繰り返した」という例外をスローするため、明らかに機能しません。
class TableB {
TableA tableA
static belongsTo = [TableA]
static mapping = {
id column:"b_id"
version false
tableA column:"b_id"
}
static constraints = {
tableA unique: true
}
}
注:私はgrails 1.3.7を使用していますが、この問題が最近修正された問題である場合は、新しいバージョンに切り替えることができます。私にお知らせください。