1、EJB有哪几种模式?
2、在Entity Bean中如果有很多数据,如何解决速度问题?
3、事务要么执行完成,要么没执行完成,停电了,该怎么回滚?
4、二个进程操作同一数据,当一个进程失败后,该怎么回滚?
5、如何使代码访问不同的数据库?以上问题感觉有很大难度,能回答一个算一个,非常感谢!

解决方案 »

  1.   

    3. 没有 commit 的话,是不会执行的~
    4. 另一进程回退
    5. 可以用数据链路,如: select * from scott.emp@另一个库;
      

  2.   

    to: chanet(牧师) 能把第5个问题说清楚点吗?谢谢!
      

  3.   

    5. 用的是Oracle 的数据链路功能。
    如: 建好一个链路 host2(连到 Oradb2)
    然后在 Oradb1 的数据库用 select * from scott.emp@host2 语句~
                                                    -------
                                                    Oradb2 的数据库
      

  4.   

    1.EJB分为有状态BEAN,无状态BEAN,实体BEAN,消息驱动BEAN
       --有状态BEAN是可以在EJB层保存客户的一些状态,无状态不行
      --消息驱动BEAN是指MSMQ这种方式的应用,收到消息后响应。
      --实体BEAN还可以分为CMP,BMP CMP是容器管理的BEAN,BMP是自已管理的BEAN.
       CMP使用起来更简单。
    2.EJB服务器不是将所有的数据映射成实体BEAN的,你应用的时候,如果是产生报表的程序可直接使用SQL来统计,还有实体BEAN做成只能是local方式。不允许远程访问。
    3.停电了之后,本身事务未完成,下次启动时数据库会自动回滚,最好服务器配有UPS
    4.二个进程使用的是不同的连接,数据库不可能实现这一模式。
    5.使用XA就可以做到这一点,并且可以使几个数据库的操作保持一致性。
      

  5.   

    to tyrone98(林林) :
    请问你回答的第3问里的UPS是什么?第5问里的XA是什么?