class Pirate {
String name
static belongsTo = Ship
static hasMany = [ships: Ship]
}
class Ship {
String name
static hasMany = [crew: Pirate]
}
new Ship(name: "Ship1").addToCrew(new Pirate(name: "pirate1")).save()
以上代码仅保存Pirate
和Ship
表中的条目,但不保存ship_crew
表中的条目。
我知道Burt在Spring Security Grails插件中使用this technique,但我仍然希望能够使用hasMany
和belongsTo
更新
上面的代码行似乎是保存所有三个条目:Pirate
,Ship
和ship_crew
表,但是,从控制台它只保存两个条目表格而非ship_crew
> new Ship(name: "Ship10").addToCrew(new Pirate(name: "pirate10")).save(failOnError:true)
new Ship(name: "Ship10").addToCrew(new Pirate(name: "pirate10")).save(failOnError:true)
Hibernate:
/* insert playwithgrails.Ship
*/ insert
into
ship
(version, name)
values
(?, ?)
Hibernate:
/* insert playwithgrails.Pirate
*/ insert
into
pirate
(version, name)
values
(?, ?)
===> playwithgrails.Ship : 29