This issue has been discussed before. It's because the other fields were not fetched during the query. Then Ebean (like hibernate and other magic libraries) use bytecode manipulation to issue a select query in field access.
Unfortunately this magic is not available when you access a direct field from within scala (because the scala code itself would be modified)
So there are 2 options:
- Rely on magic and use plain old getter and setter to enable it.
- Don't use lazy loading and fetch everything during the query.
For my point of view, having lazy loading not working from template is a feature. It avoid to have the template rendering accidentely issuing tens of db queries as it is often the case in java applications.