Я пытался подражать вашему коду и каскадные работы для меня.
Класс A:
package searcher
class A {
String name
static hasMany = [bs:B]
static constraints = {
}
public String toString() {
def s = "Name: $name\n Bs: "
bs.each {
s = "$s $it "
}
return s
}
}
Класс B:
package searcher
class B {
String surname
static belongsTo = A
static hasMany = [as:A]
static constraints = {
}
}
Источник контроллера:
package searcher
class ManyController {
def ab = {
A a = new A(name:'Test')
B b = new B(surname:'user')
a.addToBs(b)
a.save(flush:true)
render A.list()
}
}
Производит продукцию:
[Имя: Test Bs: searcher.B: 1]
Я не столкнулся с проблемой, которую вы сделали, но у меня были некоторые начальные проблемы, которые были устранены с помощью grails clean
.Вы пробовали различные конфигурации баз данных?Я просто использовал hsqldb в памяти, установленный для создания-отбрасывания.Если вы используете установленную мной СУБД, я постараюсь указать ей другую базу данных и развернуть.