【技术实现步骤摘要】
本专利技术涉及现代企业应用软件数据持久层,尤其是基于动态代理技术的数据访问对象模式的实现方法。
技术介绍
许多真实的企业应用程序需要在一定程度上使用持久性数据。对于许多应用程序,持久性存储是使用不同的机制实现的,并且用来访问这些不同的持久性存储机制的API也有很大的不同。数据是任何计算机应用程序最重要的方面。计算机应用程序的核心是使某人或另一个计算机系统能够访问其数据。在企业环境中,数据不仅必须是可访问的(即,与用户界面连接并按一系列业务规则管理),而且还必须是持久的。持久数据存储就是即使在服务器崩溃的情况下仍能存在的数据存储。持久数据存在于应用程序的活动内存之外,通常在数据库或平面文件系统中。虽然持久数据被读入瞬时存储器以供使用或修改,但它始终被写到外部数据存储中以长期存储。美国国家标准与技术研究所(The United States National Institute of Standards and Technology)定义了三种级别的持久数据部分持久数据是一种仅允许对最新版本更新的持久数据结构。持久数据是一种保留其旧版本的数据结构;即,以前版本和当前版本都可能被查询。完全持久数据是一种维护其数据的所有版本并允许对这些版本更新的持久数据结构。大多数业务应用程序至少提供部分持久数据。这种类型的持久性在事务中期或者甚至在请求中期出现系统故障时容易遭破坏,这会导致数据不完整且常常遭毁坏。另一方面,在持久数据实现中,对系统中断或故障以“回滚(rollback)”回应,数据状态被回滚到上一个已知的良好配置。持久数据实现在企业体系结构和数据库管理系统(D ...
【技术保护点】
基于动态代理的数据访问对象模式的实现方法,由DAO一个定义了相关对象数据库操作的接口:所有需要的CRUD(Create,Read,Update,Delete)方法,通过主键查询相关域对象的方法及查询所有相关域对象的方法使用Java动态代理方法,以一种通用的机制实现数据存取即DAO实现,结合代码生成工具提供与业务绑定的DAO接口,解除了数据持久层与业务逻辑之间的耦合;采用的面向对象的设计,而数据库的关系模式与对象之间存在一个结构上的断层,由在数据库与域对象层加入一个转换层,即使用数据访问对象(DAO)模式层,在DAO的具体实现上采用了开源对象关系映射工具Hibernate,由DAO层来负责与映射工具Hibernate的API交互,使程序的其他部分与对Hibernate的直接操作分离开来,在需要的时候替换掉映射工具Hibernate而改用其他方案来实现;采用了开源对象关系映射工具Hibernate的方法是:采用了一个统一入口来根据不同的域对象产生相应DAO接口的实现。这个统一入口就是IDaoFactory,这个方法接受一个域对象Class作为输入参数,通过java动态代理机制生成并返回这个 ...
【技术特征摘要】
1.基于动态代理的数据访问对象模式的实现方法,由DAO一个定义了相关对象数据库操作的接口所有需要的CRUD(Create,Read,Update,Delete)方法,通过主键查询相关域对象的方法及查询所有相关域对象的方法使用Java动态代理方法,以一种通用的机制实现数据存取即DAO实现,结合代码生成工具提供与业务绑定的DAO接口,解除了数据持久层与业务逻辑之间的耦合;采用的面向对象的设计,而数据库的关系模式与对象之间存在一个结构上的断层,由在数据库与域对象层加入一个转换层,即使用数据访问对象(DAO)模式层,在DAO的具体实现上采用了开源对象关系映射工具Hibernate,由DAO层来负责与映射工具Hibernate的API交互,使程序的其他部分与对Hibernate的直接操作分离开来,在需要的时候替换掉映射工具Hibernate而改用其他方案来实现;采用了开源对象关系映射工具Hibernate的方法是采用了一个统一入口来根据不同的域对象产生相应DAO接口的实现。这个统一入口就是IDaoFactory,这个方法接受一个域对象Class作为输入参数,通过java动态代理机制生成并返回这个域对象DAO的一个实现。2.根据权利要求1所述的基于动态代理的数据访问对象模式的实现方法,其特征是统一入口来根据不同的域对象产生相应DAO接口的实现,统一入口IDaoFactory的定义如下public interface IDaoFactory{Object getDao(Class daoInterface);}这个接口的实现是DaoFactory。3.根据权利要求1所述的基于动态代理的数据访问对象模式的实现方法,其特征是编写DAO接口的方法是包括了一个DAO接口代码生成工具,将Alarm领域类作为此工具的输入,输出既是DAO接口文件,这里的名称是IAlarmDao.java,此文件包含接口IAlarmDao接口,代码如下public interface IAlarmDao{public Object add(Alarm alarm)throws PersistenceException;publi...
【专利技术属性】
技术研发人员:吴旻哲,黄小新,宋海华,
申请(专利权)人:南京联创科技股份有限公司,
类型:发明
国别省市:84[中国|南京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。