17、实体 Bean 的诞生与实现

实体 Bean 的诞生与实现

在开发中,实体 Bean 是一个重要的概念。客户端通过客户端视图(由组件接口和主接口组成)与实体 Bean 进行交互。一个活跃的实体 Bean 在容器中代表一个特定的实体并为客户端服务。那么,实体 Bean 是如何产生并达到这一阶段的呢?这涉及到两个参与者:Bean 开发者和 EJB 容器。

1. 实体 Bean 的持久性

实体 Bean 的一个显著特性是持久性,这源于它代表持久存储中的一个实体。只要实体存在于数据库中,即使服务器关闭、崩溃或发生类似事件,实体 Bean 也会持续存在。如果实体从数据库中移除,相应的实体 Bean 就会“死亡”,即使实例本身可能只是返回到池中。

1.1 实体与实体 Bean 的同步

由于数据库中的实体和 Bean 实例中代表该实体的持久字段需要保持同步,因此会出现同步问题。例如,若数据库中的实体字段值被手动更改或被其他应用程序更改,实体 Bean 的状态就会过时,直到数据库中的更改传播到 Bean 中。反之亦然,如果客户端更改了实体 Bean 的状态,在更改传播到数据库之前访问该实体的任何应用程序都将处理过时的实体。

容器通过以下方式实现同步:
- 在 Bean 开始执行可能与 Bean 状态交互的业务方法之前,必须从数据库加载最新的实体。
- 当客户端与 Bean 交互以可能更改其状态时,不允许任何人访问数据库中的实体。
- 一旦客户端完成与 Bean 状态的交互,在将实体提供给其他部分之前,必须使用 Bean 中持久字段的当前值更新数据库中的实体。

容器使用事务来实现同步。当客户端调用业务方法时,容器通过请求数据库锁定实体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值