У меня есть простой вопрос о доступе к переменным-членам объекта модели.
У меня есть следующие объекты модели:
@Entity
public class Person extends Model{
@Id
public Long id;
public String name;
}
@Entity
public class Account extends Model{
@Id
public String email;
public String password;
@OneToOne
public Person person;
}
Пока все хорошо, любой заданный person
можетесть один account
.Объект Account
скопирован из примера zentask.После аутентификации я перенаправляю на страницу индекса, где отображается реальное имя пользователя, как указано в переменной-члене Person.name
.Объект Account
вставляется на страницу так же, как в примере с zentasks, вот так:
Account.find.byId(Controller.request().username());
Теперь в шаблоне происходят следующие странные вещи, которые я не понимаю:
@account.person.name
приводит к значению Null
, вставленному в шаблон при вызове:
@account.person.getName() or @account.person.getName
результат, как и ожидалось, с правильным именем, вставленным из объекта person.1024 * объекта person, также правильно отображающего имя.
Итак, подведем итог: что не так с кодом выше?Почему я могу назвать значение account.person без проблем, но когда я вызываю account.person.name, это больше не работает
Заранее спасибо!
Ричард