私は 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エンティティモデルとビューで使用したいモデルがほとんどの場合まったく同じであることを考えると、 PageBean?
JPAエンティティおよびJSFモデルBeanと同じBeanを使用しないでください(JSFはJPAに影響を与える可能性のあるゲッターを繰り返し呼び出すため)をどこかで読みましたが、この種の回避に役立つより簡単な方法がないかどうか疑問に思いますコードの複製。特に、大規模なモデルを持つアプリケーションを持っていて、多くの場合、ビュー Bean に特別なものを必要としない場合、これは非常に面倒になる可能性があります。