我正在使用 Grails 1.2 并具有以下多对多关系设置:
class Employee {
static belongsTo = Store
static hasMany = [stores:Store]
}
class Store {
static hasMany = [employees:Employee]
}
我在 Bootstrap.groovy 中播种了一些数据:
store1.addToEmployees(employee1).save()
store1.addToEmployees(employee2).save()
store1.addToEmployees(employee3).save()
这会产生以下数据库数据:
| store_employees |
----------------------------------
| store_id | employee_id |
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
----------------------------------
接下来,我尝试从商店中移除一名员工:
store.removeFromEmployees(employee1).save()
这导致所有员工都被解雇。我是否设置了错误的关系或什么?