У меня возникли проблемы с установлением отношений «многие ко многим», работающими в «Граалсе». Что-то явно не так со следующим:
class Person {
static hasMany = [friends: Person]
static mappedBy = [friends: 'friends']
String name
List friends = []
String toString() {
return this.name
}
}
class BootStrap {
def init = { servletContext ->
Person bob = new Person(name: 'bob').save()
Person jaq = new Person(name: 'jaq').save()
jaq.friends << bob
println "Bob's friends: ${bob.friends}"
println "Jaq's friends: ${jaq.friends}"
}
}
Я бы ожидал, что Боб будет дружить с Jaq и наоборот, но я получаю следующий вывод при запуске:
Running Grails application..
Bob's friends: []
Jaq's friends: [Bob]
(я использую Grails 1.2.0)