一个EntityBean描述一个持久存储备的商业对象。
EntityBean和会话Bean有很多不同之处。EntityBean是持久性的,允许共享访问,拥有主键并且会参与和其他EntityBean的关联。
持久性
因为EntityBean的状态保存在存储设备中,所以它具有持久性。持久性是指EntityBean的状态跨越应用程序和J2EE服务器处理过程的生存期,就是说应用程序结束或者服务器终止EntityBean的状态仍然保留。如果你是用数据库,你就是在使用持久性数据。数据库中的数据是持久性的,应为就算你关闭数据库服务器或者相应的应用程序,他们仍然是存在的。
EntityBean有两种持久性管理机制:BMP(bean-managed persistence Bean管理的持久性)和CMP(container-managed persistence 容器管理的持久性)。对于BMP,必须在EntityBean中手工编写访问数据库的代码。对于CMP,容器会自动生成访问数据库的代码,为开发者节省了为数据库访问编码。详细信息在下节容器管理的持久性中介绍。
主键
每一个EntityBean实例都有一个唯一对象标识。例如一个特定的EntityBean实例可能用一个特定的数字来标识。这个唯一标识就是主键,可以让客户端找到对应的EntityBean实例。
何时需要EntityBean
☆ Bean代表一个商务实体而不是一个过程。例如表示信用卡的CreditCardEJB要做成EntityBean,而信用卡核实的VerifierEJB就只能做成会话Bean。
☆ Bean的状态是需要持久存储的。如果Bean的实力结束了或者J2EE服务器关闭,它的状态依然存在,只是回到向数据库这样的存储设备睡觉去了。