私は最近 JSF の勉強を始めましたが、エンティティを Controller Managed Bean に含める次の 2 つの方法に出くわしました。1 つはエンティティを として直接注入する方法で、もう 1 つManagedBean
は で初期化されるインスタンス変数としてエンティティを非管理対象 Bean として使用する方法@PostConstruct
です。
ある方法または別の方法の利点/欠点は何ですか? 2 番目は通常「正しい方法」として示されますが、維持するのはより複雑なようです。
非管理エンティティ
@Entity
public class Book {
//...attributes
}
@ManagedBean
public class BookController {
private Book book;
@PostConstruct
public void init() {
book = new Book();
}
}
管理対象エンティティ
@Entity
@ManagedBean
public class Book implements Serializable {
//...attributes
}
@ManagedBean
public class BookController {
@ManagedProperty(name="#{customer}")
private Book book;
}