注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Java >> JavaXML >> XMLBeans >> Java正文

JavaBeans:游离实体

文章来源:希赛网 作者:佚名 更新时间:2008-8-23 14:40:20 【 】 【加入收藏

  当transaction scope persistence context或extended persistence context结束之后,实体的实例就会不受托管而处于游离状态。游离实体的一个值得注意的特征是,它可以被序列化并通过网络发送给远程客户端。客户端可以修改这些经过序列化的对象实例,并将它们发送回服务器,服务器再将客户端的修改重新合并到数据库中。

  这与EJB 2.1的实体模型有很大的不同。在EJB 2.1中,实体是始终受容器管理的,使用entity bean的应用程序总要带一个指向entity bean的代理(译注:proxy,即远程接口或本地接口);而在EJB 3.0中,你是直接与普通Java类的具体实例打交道的。对于EJB 2.1的开发人员而言,上述做法乍一看会觉得有些不适应,因为他们已经习惯了容器来为实体打点一切。不过,一旦你熟悉了新的EJB 3.0实体模型,就会发现,你的应用程序代码将大幅缩减,并且更易于管理。

  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());
    }
  }

  在客户端对entity bean进行远程方法调用需要较大的系统开销。如果客户端必须通过调用getFirstName(),getLastName()等一系列方法才能获得用于显示的客户相关信息,那么性能将变得不堪重负。这便是Value Object模式的由来。而EJB 3.0中,由于持久对象在脱离persistence context之后将自动变成值对象,因此也就没必要再使用该模式了。

  • 上一篇Java:

  • 下一篇Java:
  • 最 新 热 门
     Flash、HTML、Ajax 谁将赢得Web应用之战
     超越XML和JSON:YAML,Java开发人员的新选择
     优秀Java程序员必须了解的GC工作原理
     Java 6 RowSet 使用完全剖析
     pureQuery带注释的方法风格简介
     面向Java开发人员的Scala指南: 实现继承
     Java 6中的性能优化
     Java实现Windows的dir命令
     Java标准类库提供的容器总结
     在Tomcat上开发Web应用如何保证兼容性
    最 新 推 荐
     用Eclipse进行XML开发
     JavaBeans:创建一个新的Cabin实体
     JavaBeans :创建客户端应用
     JavaBeans:开发Session Bean
     JavaBeans:Bean容器的规约
     JavaBeans:游离实体
     Java中关于XML的API惊鸿一瞥
     通过JOX轻松实现JavaBeans与XML的相互转换
     JAVA中用XML实现INI文件格式的解决方案
     Scala 和XML以及简化XML处理
    相 关 文 章

    Flash、HTML、Ajax 谁将赢得Web应用之战
    超越XML和JSON:YAML,Java开发人员的新选择
    优秀Java程序员必须了解的GC工作原理
    Java 6 RowSet 使用完全剖析
    面向Java开发人员的Scala指南: 实现继承
    Java 6中的性能优化
    Java实现Windows的dir命令
    Java标准类库提供的容器总结
    在Eclipse中用Java实现百灵报表(BIRT)的事件…
    使用CommonNavigator开发资源管理器--模型篇

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用