当前位置:  技术问答>java相关

EntityBean的select查询问题

    来源: 互联网  发布时间:2015-07-10

    本文导语:  一般的数据库查询放到EntityBean的finder方法里好还是用SessionBean? 用finder方法查询好像一条纪录就是用一个Bean表示,还会抛出CacheFullException! 大家都用什么方法查询数据库呢? | 1.远程对象和...

一般的数据库查询放到EntityBean的finder方法里好还是用SessionBean?
用finder方法查询好像一条纪录就是用一个Bean表示,还会抛出CacheFullException!
大家都用什么方法查询数据库呢?

|
1.远程对象和本地对象。Entity Bean是远程对象,而DAO是本地对象。因此对Entity Bean的访问速度要比对DAO的访问速度要低。 
2.容器管理的生命周期和客户管理的生命周期。Entity Bean的生命周期由容器管理,而DAO的生命周期由使用它的客户(一般是Session Bean)管理。在容器管理的生命周期中对Entity Bean的修改和实际数据库记录的更新分别有客户和容器完成,单个Entity Bean的修改性能要比单个DAO对象的修改高。在批量数据的处理上,由于DAO是一次性完成,性能比Entity Bean要好。 
3.Session Bean管理事务和Entity Bean管理事务。DAO的事务有客户(一般是Session Bean)负责,Entity Bean的事务由Entity Bean自身完成。Session Bean事务适合粗粒度的事务控制,而Entity Bean事务适合细粒度的控制。 
4.脏数据问题。一般来说我们采用value Object避免大量的琐碎的远程调用来获取数据,同时这也会给我们带来所谓的“脏数据”问题。在Entity Bean中可以使用Time Stamp来解决这个问题,但DAO看起来似乎难以解决。 
5.资源问题和激活/钝化瓶颈。大量的Entity Bean会消耗大量的资源,DAO同样如此。Entity Bean设计的目的不是为了操纵批量数据,而DAO是一般Java对象,可以这样使用。在Entity Bean或DAO对象数量巨大时,Entity Bean由容器管理其激活和钝化,以节省资源;而DAO对象需要自己设计这种机制,这是很困难的。同时管理DAO对象的Session Bean的激活和钝化过程会带来DAO对象的存储瓶颈,即在Session Bean的激活和钝化中,其所管理的DAO对象也要被写入外存储器。 
6.缓冲的实现。Entity Bean由容器实现缓冲(Cache),DAO对象本身很难实现缓冲机制。 
一般在只读的应用中使用DAO,而在创建和修改操作中使用Entity Bean。不建议使用Session Bean直接存取数据库的方式,应该对数据访问逻辑加

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sessionbean调用entitybean的时候还需要像Client一样远程调用对象吗??
  • 如何设置EntityBean中的Resource References这项
  • 请问谁知道:EntityBean的FindAll方法,如何使用?
  • jbuilder中开发EntityBean
  • 在jsp输入中文->servlet->Session Bean->EntityBean->Oracle就变成一堆?????号。
  • 谁能提供jb下做sessionbean调用entitybean的最简单的例子!
  • 多个数据表可不可以只生成一个entitybean?
  • 使用EntityBean将中文存入数据库时出现乱码,如何解决?
  • 关于另写一个SessionBean对用SessionBean封装的EntityBean的EJB的访问,急
  • 紧急呼救:手写entityBean用J2ee与Oracle数据库连接
  • 谁能提供给我一个sessionbean+entitybean的例子,jb做的,重分答谢
  • 很奇怪,我用jb+wls已经成功的发布过entitybean,我重新做一个的时候,deploy一个jar的时候什么反映都没有??
  • EntityBean怎样进行非主键的查询操作


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3