分类:
2008-09-10 10:07:34
当transaction scope persistence context或extended persistence context结束之后,实体的实例就会不受托管而处于游离状态。游离实体的一个值得注意的特征是,它可以被序列化并通过网络发送给远程客户端。客户端可以修改这些经过序列化的对象实例,并将它们发送回,再将客户端的修改重新合并到数据库中。
EJB 2.1的代码中时常使用Value Object模式(也被称为Data Transfer Objects)。该模式的主要思想是:让entity bean暴露一个方法,该方法将bean的全部状态复制到一个对象中,此对象可以被序列化到远程客户端(比如Swing应用程序),以供远程客户端访问。
// EJB 2.1 entity bean 类
public class CustomerBean implements javax.ejb.EntityBean {
CustomerValueObject getCustomerVO() {
return new CustomerValueObject(getFirstName(), getLastName(),
getStreet(), getCity(), getState, getZip());
}
}