我是 JSF 的新手,想知道我是否做对了。假设我有一个简单的 CMS,可以编写页面。
首先,我定义了一个名为 Page 的 JPA 实体:
@Entity
public class Page {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column
private Long id;
@Column private String title;
@Column private String content;
// getters & setters ...
}
然后我想在视图中创建Page-s。为此,看起来我需要某种页面 bean。现在我处理了这样的事情:
@Model
public class PageBean {
private Page page = new Page();
public String getTitle() {
return page.getTitle();
}
public void setTitle(String title) {
page.setTitle(title);
}
// rest of properties & getters & setters ...
public void save() {
// persist using EntityManager
}
}
我的问题是以下一个:鉴于我的 JPA 实体模型和我想在视图中使用的模型大部分时间完全相同,有没有办法避免必须在页面豆?
我在某处读到你不应该使用与 JPA 实体和 JSF 模型 bean 相同的 bean(因为 JSF 会重复调用可能影响 JPA 的 getter),但我想知道是否没有更简单的方法可以帮助避免这种代码重复。尤其是当您的应用程序具有大型模型并且在许多情况下不需要视图 bean 中的任何特殊内容时,看起来这会变得非常麻烦。