Enterprise JavaBean笔记:Domain Object

Plux posted @ 2012年11月24日 13:54 in Default with tags EJB , 2287 阅读

首先解释一下DO的意思:Domain Object,域对象,在某一个范围(域)内有效的对象。

之所以设置DO,是因为Entity bean在远程传输(RMI)的过程中会舍弃信息(那些由EntityManager控制的信息会在RMI传输后丢失),从而使得部分方法失效。

如 果探究过Entity Bean的OneToMany、ManyToMany模型的Lazy fetch机制的话,就会发现,这些方法是受EntityManager控制的,只有在需要调用的时候才会有内容(即再向服务器发送请求获取内容)。如果 经过RMI后,Entity Bean不再受EntityManager控制,那么Lazy fetch机制将失效(对应的方法返回的结果是未知的,也就是说Entity Bean的部分方法也失效了。为了避免使得Entity Bean失效,设置一个轻量级的DO来代替Entity Bean,保证DO的方法都是可用的。

因此,每个Entity Bean可能会有多个DO,用来对应不同的功能,有些DO预先获取了lazy fetch的列表,有些则不,充分发挥lazy fetch需要才调用的效果。

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter