J2EE中 实体BEAN和会话BEAN的区别

    一个session bean 代表与客户程序的一个短暂的会话,而且可能执行数据库读写操作。一个session bean 可能会自己调用JDBC ,或者它可能使用entity bean 来完成此种调用。在后者这种情况下,这个session bean 是该entity bean 的客户。一个session bean 的域包含会话状态,而且是短暂的。如果服务器或者客户程序崩溃,该session bean 就丢失了。这种模式通常被用于像PL/SQL 这样的数据库程序设计语言上 。
    一个entity bean 代表一个数据库中的数据及作用于该数据的方法。在一个关系型数据库中的雇员信息表中,每一行都有一个bean 来代表。entity beans 是事务的,并且是长寿命的。只要数据留在数据库中,entity bean 就存在。这个模式可以被很容易地用于关系型数据库,而不仅限于对象数据库。
    Session beans 可以是有状态的,也可以是无状态的。
    一个有状态的session bean 包含代表客户程序的会话状态。该会话状态是该session bean 实例的域值加上这些域值所引用到的所有对象。有状态session beans 并不代表在一个持久数据存储中的数据,但是,它可以代表客户程序访问和更新数据。
    无状态session beans 没有用于某个特定客户程序的任何状态信息。它们通常被用于提供不保持任何特定状态的服务器端行为。无状态session beans 要求更少的系统资源。一个提供一种一般服务,或用于表示被存储的数据的一个被共享的视图的业务对象是无状态session bean的一个例子。


原文链接: http://blog.csdn.net/arui319/article/details/340424

你可能感兴趣的:(J2EE中 实体BEAN和会话BEAN的区别)