Как переопределить методы addTo * и RemoveFrom * GORM / Grails?

Я пытался переопределить динамический метод addTo *, предоставляемый Grails / GORM, но он неКажется, не работает.

Вот код:

class Match {
    static hasMany = [players: Player, matchPlayers: MatchPlayer]

    void addToPlayers(Player player) {
        if (players.add(player)) {
            MatchPlayer matchPlayer = new MatchPlayer(match: this, player: player)
            matchPlayers.add(matchPlayer)
        }
    }
}
ma = new Match().save()
ma.addToPlayers(player1)

Проблема в том, что при вызове addToPlayers я получил следующее исключение:

java.lang.NullPointerException: Cannot invoke method add() on null object

Так что, в принципе, мне кажется, что мне нужно инициализировать коллекцию »игроков.

Ну, прежде чем сделать это, я хотел бы получить представление о механизме GORM:

1. Какая реализация по умолчанию для коллекций в GORM (я знаю, что это реализация java.util.Set, но какая?)

2 - это правильно делать (переопределяя метод addToPlayers)? (Моя единственная потребность - создавать / удалять объект MatchPlayer каждый раз, когда игрок добавляется / удаляется в экземпляре матча). Если да, почему у меня есть исключение? У вас есть лучший дизайн для этого?

Спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос