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
andShip
表中保存了一个条目,而不是在ship_crew
表中。
我知道 Burt 在 Spring Security Grails 插件中使用的这种技术,但我仍然希望能够使用hasMany
andbelongsTo
更新
上面的代码行似乎将条目保存在所有三个: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