Play フレームワークに取り組んでいるうちに、悪の根源がどこにあるのかを指摘するのに多くの時間を費やさなければならないという、本当に厄介な状況を発見しました。
状況を単純化するために、以下のコードを考えてみましょう:
でcontrollers.Application.java
:
return ok(views.html.method1.render(Person.find.all());
でmethod1.scala.html
:
@(people : List[Person])
...
@for(person <- people) {
@person.name
@person.pet.getName()
@person.pet.name
}
でPerson.java
:
@Id
public Long id;
@ManyToOne
public Pet name;
...
Pet
問題は、クラス内で getName() メソッドを手動で設定したときです。値が返されます。しかし、Play フレームワークによって自動生成されるようにすると、値が返されません!
person
確かに、Play フレームワークはでアクセスできるゲッターを生成しましたperson.name
。
自動的に生成されるべきではありませんか?