0
私はMySQLデータベースを使用してgrailsを使用しています。私は2つのテーブルを作成し、テーブル間に外部キーを提示するカラムを持っています(私はhasManyを使用しました)。 これは私が一般的に持っているものです。GORM既存のオブジェクトに外部キー値を追加する
class Address {
static belongsTo = Person
static mapping = {
street defaultValue: "'s'"
city defaultValue: "'c'"
}
}
と
class Person {
private String firstName
private String lastName
Set<Address> addresses;
static hasMany = [addresses: Address]
static mapping = {
table 'people'
firstName column: 'fn'
addresses lazy: false
addresses column:'Person_ID',joinTable: false
}
}
外部キーPERSON_IDがnullであるので、私はすでにデシベルでいくつかのアドレス値を作成しました。 これを更新し、関係をPersonに設定しようとしましたが、成功しませんでした。 何らかの理由で、オブジェクトがdbに保存されると、関係を更新することはできません。方法の
一つは、私はそれを試してみました
Address a1 = new Address();
a1.setCity("Tester1");
a1.setStreet("Tester1");
Person pdb = new Person(firstName: "SupermanB", lastName: "BatmanB");
pdb.save(flush:true);
pdb.addToAddresses(a1).save(flush:true);
pdb.save(flush:true);
私はすでにDBに保存されたオブジェクトとの関係を設定することができますどのように、誰もが任意のアイデアを持っていますか?を
おかげで
は、なぜあなたは '2行でaddresses'マッピングを入れたのですか? – injecteer