【发布时间】:2013-05-19 10:00:37
【问题描述】:
我最近开始学习 JSF,偶然发现了以下两种将实体包含到 Controller Managed bean 中的方法。一种是直接将实体注入为ManagedBean,另一种是将实体作为非托管bean 简单地作为在@PostConstruct 初始化的实例变量。
一种或另一种方式的优点/缺点是什么?第二种通常显示为“正确的方式”,但似乎维护起来更复杂。
非托管实体
@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;
}
【问题讨论】:
标签: jsf entity managed-bean