发明名称 |
一种基于J2EE的数据持久化方法及系统 |
摘要 |
本发明公开了一种基于J2EE的数据持久化方法和系统,其方法包括:1)用与底层数据库相关的注释语言对待持久化的Java类进行映射元数据标记;2)构建待持久化Java类对象,对对象的属性值进行赋值;3)构建Java实体对象查询树;4)以创建的待持久化Java类对象和Java实体对象查询树为参数,调用持久化接口进行持久化操作。系统包括数据类型适配器、查询语言解析器和操作语言解析器。本发明的方法和系统解决了Java实体对象与底层数据库的“阻抗不匹配”,屏蔽了异构数据库对信息系统所提供接口的差异,不依赖于任何脚本语言,整个过程完全是Java接口调用,降低了持久化层的开发难度。 |
申请公布号 |
CN101980213B |
申请公布日期 |
2012.09.19 |
申请号 |
CN201010562533.0 |
申请日期 |
2010.11.23 |
申请人 |
中国科学院软件研究所 |
发明人 |
王帅;屈夏;杨燕;钟华 |
分类号 |
G06F17/30(2006.01)I;G06F9/44(2006.01)I |
主分类号 |
G06F17/30(2006.01)I |
代理机构 |
北京君尚知识产权代理事务所(普通合伙) 11200 |
代理人 |
冯艺东 |
主权项 |
一种基于J2EE的数据持久化方法,包括下列步骤:1)用与底层数据库相关的注释语言对待持久化的Java类进行映射元数据标记;2)构建待持久化Java类对象,对对象的属性值进行赋值;3)构建Java实体对象查询树;4)以创建的待持久化Java类对象和Java实体对象查询树为参数,调用持久化接口进行持久化操作;所述注释语言将Java实体对象中的结构和字段与底层数据库的相关结构和字段进行一一映射,消除所述结构和字段间的数据结构不匹配;所述持久化操作为:A、从待持久化Java类提供的数据读取接口,读取Java实体对象数据域的值,将所述值转换为底层数据库数据要求的类型和格式;B、将Java实体对象查询树解析为与底层数据库相对应的数据查询约束语句;C、根据所调用的持久化接口类型,和第A、B步生成的结果按照底层数据库操作语言要求生成数据库操作语句;D、以C步骤生成的数据库操作语句为参数,调用底层数据库的标准接口,进行数据操作;所述持久化接口包括isObjectExist接口、saveObject接口、loadObject接口、getObjects接口、updateObject接口和deleteObject接口,其中,isObjectExist接口判断待持久化Java类对象是否已经存在;saveObject接口保存待持久化Java类对象到数据库中;loadObject接口从数据库中读取一个满足约束条件的对象;getObjects接口从数据库中读取所有满足约束条件的对象;updateObject接口将数据库中满足约束条件的对象进行更新;deleteObject接口从数据库中删除符合约束条件的对象。 |
地址 |
100190 北京市海淀区中关村南四街4号 |