高分相問:關與entity bean 的幾個問題
1.entity bean 存在的意義在那裡,也就是說同直接寫sql 腳本相比它的優勢在那裡?
2.table中的每條紀錄是否對應著一個entity bean 的 instance,如果我有1萬條紀錄是否表示在ejb container中有1萬個instance呢?
3.entity bean 如果實現多表操作,在sql 腳本中的光連條件在entity bean 中如何實現呢?
請各位ejb高手回答在下的疑問,必定給分!
一、EJB的好处:
EJB 组件使编写应用程序更为简单。尽管 EJB 体系结构复杂,但应用程序开发人员一般都不必再编写用于访问系统服务的代码。一种称为 EJB 容器的系统组件使系统服务可用于 EJB 组件的任务。
服务器端商务逻辑可以移植。除了 Java 语言固有的可移植性外,EJB 体系结构还在 bean 和支持该 bean 的容器之间提供了一套标准化的应用程序编程接口。这使开发人员能够将 bean 从一种操作环境移植到另一种操作环境,而无须重新编写其源代码。
可以从现有的软件组件装配出服务器端应用程序,这与从现有的 Java bean 可以装配出客户端应用程序一样,从而使软件能够重用。
EJB 体系结构内置了对典型企业级系统服务的支持,包括分布式对象、事务处理、数据库、安全和全局命名。
多家 IT 供应商都采纳 EJB 体系结构,这是由于有这样的承诺:客户将能够 从选定的供应商那里选购软件组件,如 EJB 组件、容器及 EJB 服务器;也由于承诺了不同供应商的产品,只要符合 EJB 体系结构,就都是可互操作的。
用 EJB 组件构建的应用程序可以从一个服务器移植到另一个服务器,从而支持可伸缩性,这是因为在 EJB 模型中,各个软件组件都是严格分离的。
EJB 体系结构能保障原有的 IT 投资,这是通过允许将现有的信息系统和资产“包裹”在这些应用程序中,而不要求客户更换现有技术。事实上,在关系数据库中存储数据的企业已经有了一套已有雏形的实体 bean,正等着通过 EJB 外壳去访问。
二、About session beans 和Entity beans:
Session beans代表在一个会话中的一个客户端执行的特定的业务任务。它们可以是有状态的,也可以是无状态的,但不是持久的。当客户端完成了一个session beans的调用时,该bean就消失了。
Entity beans表示一个数据存储(通常是关系型数据库)中的业务对象。对象的持久性--载入和保存对象--可以是bean管理的,也可以是容器管理的。Entity beans不仅仅是长驻内存的数据对象,它还拥有其代表业务对象行为的方法。Entity beans可以被多个客户端调用。按照定义,Entity beans是持久的。
其实,我的理解如同COM或DCOM一样,有定义好的接口,你的任务就是实现这些接口。
三、问题对照:
1、使用Entity beans可以使对于数据库的管理交给容器去管理,我们不需要直接参与。对于一个大型的系统这一点是很重要的,分工明细是关键的。
2、按照定义是这样的,Entity Beans是会存在那么多。
3、如果你正在写EJB的东西,那么我建议,对于单表的Inert、Update、Delete请使用Entity beans.如果涉及到多表的查询,请在你的体系中加入Dao,使用JOdbc来连接数据库,进行查询。
4、规则就是规则,有了就要遵守,被什么好讲的。
OK!说了这么多,希望对你有帮助。