2011-01-28 154 views
1

请分享你对这种事情鉴于目前我测试了:在层之间传递实体对象?

  1. 有我JSF托管bean
  2. 结合的实体的属性给JSF表单元素,如输入文本,组合内的JPA实体,例如,甚至可以为实体的详细对象列表创建数据表。
  3. 让服务对象处理实体,也就是实体对象本身,也许还有一些简单的变量/对象
  4. 该服务将执行一些基本的验证或简单的过程,并将实体对象传递给DAO层要坚持
  5. 而JSF视图将反映在分离实体

是这种解决方案与通过实体层之间的好不好?因为我习惯在webapp中使用'变量'(在struts 1中使用基于地图的formbean),但是我已经读过关于将实体对象转换为其他格式的信息,但我不确定它是干什么用的?

如果定义实体之间的关系,我们可以把它绑定到JSF组件,因此基于渲染和填充实体的属性。

回答

2

是的,这是完全正常的,实际上推荐的方式做到这一点现在。

这个“将实体对象转换成其他格式”可能是指Data Transfer Object模式,在注解之前的糟糕的旧时代,实体类通常必须从某些特定于框架的基类继承,经过字节码操作或被EJB容器实现为代理对象。

这种实体对象要么不可能序列或包含比实际实体的数据更状态,因此当串行化会浪费很多的空间。因此,如果您想要有单独的应用服务器层,则必须使用DTO模式才能与Web层有效地进行通信。

+0

我做同样的事情。这对我来说很有用。 – 2011-01-29 03:01:00