EJB技术的数据库应用 - 编程入门网
} catch (Exception ex) {
throw new EJBException("ejbFindByPrimaryKey: " + ex.getMessage()); }
if (result) {
return primaryKey;
}
else {
throw new ObjectNotFoundException ("Row for id " + primaryKey + " not found.");
}
}
ejbFindByPrimaryKey 方法以 primaryKey 作为参数并返回它的值。 注意: 1.只有 EJB 容器可以调用ejbFindByPrimaryKey,而客户端不能直接调用 ejbFindByPrimaryKey 方法,客户端只能调用在 home 接口中定义的 findByPrimaryKey。 2.在 entity bean 类中开发人员必须实现ejbFindByPrimaryKey 方法。 3.一个 finder 方法的名字必须以 ejbFind 作为前缀。 4.返回值必须是主键或者是一个主键的集合。 throw 子句可以包含 javax.ejb.FinderException,和其他别的例外处理例程。如果一个finder 方法只要求返回唯一一个主键,如果主键不存在,则应该执行 javax.ejb.ObjectNotFoundException,ObjectNotFoundException 是FoundException的一个子类;如果 finder 方法要求返回的是一个主键的集合,则应该执行 FinderException 来处理。 业务处理方法 业务处理方法包含想在 Entity Bean 中实现的业务处理逻辑。通常业务处理方法不存取数据库,这允许开发人员可以把业务处理逻辑从数据库存取中独立出来。 在 AccountEJB entity bean 中包含下面的业务处理方法:
AccountClient 程序中调用业务处理方法:
注意: 1、业务处理方法的名称不能和 EJB 体系中定义的方法的名称冲突,其他的要求和 entity bean 和 sesson bean 中其它方法的要求相同。 2、可以在throw 子句中包含应用程序定义的例外处理例程,如 debit 方法执行InsufficientBalanceException。为了识别系统级错误,业务处理逻辑应该调用 javax.ejb.EJBException。 下面是对 AccountEJB 类中存取数据库的总结: 因为业务处理方法中不需要存取数据库,所以在 AccountEJB 类中的业务处理方法没有存取数据库。但业务处理方法可以通过 EJB 容器调用 ejbStore 来修改实例变量。当然开发人员也可以在 AccountEJB 类的业务处理方法中存取数据库,这依赖于应用程序的具体要求,在存取数据库之前必须连接数据库。 EJB技术的数据库应用(5)时间:2010-12-20Home 接口(Interface) 在home 接口中定义让客户端创建和查找 entity bean 的方法。Account Home 接口如下:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |