Надеюсь, это будет легко ответить. Я создал класс в Grails под названием player, который имеет эту информацию:
class Player {
String steamId
String name
String portrait
static hasMany = {playerStatistics:PlayerStatistics}
static hasOne = {playerForumProfile:PlayerForumProfile}
}
Для пояснения, объект Player может иметь один объект PlayerForumProfile, но объект player всегда создается ДО объект PlayerForumProfile. Моя проблема связана с доступом к объекту playerForumProfile, связанному со свойством hasOne в контроллере класса PlayerForumProfile. Я предполагал, что делать это:
def playerForumProfileInstance = new PlayerForumProfile()
def playerInstance = Player.get(params.id)
playerForumProfileInstance = playerInstance.playerForumProfile
приведет к вытягиванию объекта PlayerForumProfile, связанного с объектом playerInstance, в переменную playerForumProfileInstance, однако, когда я пытаюсь это сделать, Grails выдает ошибку, сообщающую, что такого свойства как playerForumProfile нет. Можно ли получить доступ к объекту свойств hasOne таким способом или мне нужно сделать что-то еще?
Edit: я также пытался изменить класс Player, чтобы он включал переменную с именем playerForumProfile и редактировал PlayerForumProfile, чтобы он имел объявление ownTo , но это продолжало приводить к исключению нулевого указателя при запуске моего приложения.
Редактировать: Немного больше информации, я создал новое приложение Grails с нуля и создал отношения так, как они выглядят в документации Grails, и они запустились без проблем, поэтому я думаю, что может быть проще просто начать новое приложение и скопировать файлы поверх.