将对象局部属性更新到关系数据库的方法及装置制造方法及图纸

技术编号:2919058 阅读:295 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种将对象局部属性更新到关系数据库的方法及装置,所述方法包括:创建需要更新局部属性的对象;为所述对象的标识及所述对象中需要更新的属性赋值;将所述对象及其属性信息转换为对象关系数据库映射工具能够识别的脚本;利用所述对象关系数据库映射工具将所述脚本中的信息持久化到所述关系数据库中。所述装置包括:对象关系数据库映射单元,对象生成单元,对象信息转换单元。利用本发明专利技术,可以简单、有效地实现对关系数据库中数据对象部分属性的更新。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,具体涉及一种在对象/关系数据库映射中,将对象局部属性更新到关系数据库的方法及装置
技术介绍
O/R-Mapping(对象/关系数据库映射)集成了面向对象和关系型数据库的映射转换,使我们在开发数据库应用时能享受到面向对象设计的好处。目前实现O/R-MAPPING的工具和方案很多,如Hibernate,TopLink,iBatis。利用这些工具,可以自动完成数据对象和关系数据库中数据表之间的映射,即提供了将一个数据对象持久化到关系数据库中的解决方案。在对象持久化的过程中,有时候用户只想更新数据对象的部分属性。对于这种需求,目前业界各种O/R MAPPING工具中给出几种解决方案,具体有以下处理模式1.通过编写类似SQL(Structured Query Language,结构式询问语言)语句中的update处理脚本,用户把自己想要更新的几个属性,写成类似SQL语句的脚本,交给O/R MAPPING工具来处理。通过O/R MAPPING工具映射翻译成真正的数据库的SQL语句,并交给数据库执行,比如Hibernate的HQL(一种面向对象的查询语言),Oracle的TopLink采用XQuery等。这种处理模式由于采用了一种类似SQL语句update脚本的处理模式,这就需要用户首先必须熟悉这种语句脚本的写法,而且由于通过脚本方式来实现,因此当对象的一些属性发生变化后,需要在程序中修改这些脚本,因而给用户开发程序带来一定的成本和复杂性。另外,由于这种脚本的特殊性(与具体工具紧密相关,是非通用的脚本),不便于程序移植和升级;同时由于这种脚本通常和后台的存储有较大的关联,因而也在一定程度上偏离了使用O/RMAPPING工具的初衷。2.首先利用O/R MAPPING工具将该数据对象查询出来,这样数据对象的各个属性都有值,然后再重新赋值给需要更新的数据对象的属性,赋值完成后再通过O/R MAPPING工具持久化到数据库中。由于一个对象传递给O/R MAPPING工具进行持久化的时候,O/RMAPPING处理工具无法知道该对象的哪些属性应该更新,哪些不应该更新,因此,在只需要更新一个对象中的部分属性时,就必须将该对象检索或刷新出来,这样就要多增加了一个查询动作,对系统性能会有比较严重的影响。
技术实现思路
本专利技术实施例提供一种将对象局部属性更新到关系数据库的方法及装置,以简单有效地实现对数据对象部分数据的更新,方便应用程序的开发和程序升级。本专利技术实施例提供的一种将对象局部属性更新到关系数据库的方法,包括创建需要更新部分属性的对象;为所述对象中需要更新的属性赋值;将所述对象及其属性信息转换为对象关系数据库映射工具能够识别的脚本;利用所述对象关系数据库映射工具将所述脚本中的信息持久化到所述关系数据库中。本专利技术实施例提供的另一种将对象局部属性更新到关系数据库的方法,包括创建需要更新部分属性的对象;为所述对象中需要更新的属性赋值;将所述对象及其属性信息转换为所述关系数据库能够识别的SQL语句;执行所述SQL语句,完成所述关系数据库中数据对象部分属性的更新。本专利技术实施例提供的一种将对象局部属性更新到关系数据库的装置,包括对象关系数据库映射单元,用于根据描述数据对象属性的脚本将数据对象持久化到所述关系数据库中;对象生成单元,用于创建需要更新部分属性的对象及其属性信息;对象信息转换单元,用于将所述对象及其属性信息转换为对象关系数据库映射工具能够识别的脚本,并将所述脚本提交给所述对象关系数据库映射单元。本专利技术实施例提供的另一种将对象局部属性更新到关系数据库的装置,包括对象生成单元,用于创建需要更新部分属性的对象及其属性信息;对象信息转换单元,用于将所述对象及其属性信息转换为所述关系数据库能够识别的SQL语句,并将SQL语句提交给所述关系数据库。由以上本专利技术实施例提供的技术方案可以看出,在对关系数据库中的对象进行部分属性更新时,只需创建一个对应的对象,并对该对象中需要更新的属性赋值,然后将该对象及其属性信息转换为对象关系数据库映射工具能够识别的脚本,借助对象关系数据库映射工具将所述脚本中的信息持久化到所述关系数据库中;或者将该对象及其属性信息直接转换为关系数据库能够识别的SQL语句,由关系数据库根据所述SQL语句执行更新过程,从而实现了对关系数据库中对象属性的部分更新,避免了查询对象的所有属性对系统产生的影响。利用本专利技术实施例提供的装置,可以使用户在更新一个对象的部分属性时不需要再编写复杂的脚本或SQL语句,只需要直接创建一个对象,赋值该对象的关键标识和需要更新的属性,即可直接更新该对象的属性。附图说明图1是本专利技术方法第一实施例的流程图;图2是本专利技术方法第二实施例的流程图;图3是本专利技术装置第一实施例的原理框图; 图4是本专利技术装置第二实施例的原理框图;图5是本专利技术装置第三实施例的原理框图;图6是本专利技术装置第四实施例的原理框图。具体实施例方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和实施方式对本专利技术作进一步的详细说明。参照图1,图1是本专利技术将对象局部属性更新到关系数据库的方法第一实施例的流程,包括以下步骤步骤101,创建需要更新部分属性的对象。比如,需要更新的对象为“Student”,包括以下属性Student ID、学生的姓名、学生的性别、学生的班级、学生的年龄。此时需要创建一个和该对象相同的空对象,也就是说,该对象中的各属性值还未被赋值。步骤102,为该对象中需要更新的属性赋值。首先,要为该对象的标识,即Student ID赋值,如果需要更新的属性有学生的班级和学生的年龄,则还需要为这两个属性赋值。可以利用对象的set方法为需要更新的属性赋值。步骤103,将该对象及其需要变更的属性信息记录下来,然后转换为对象关系数据库映射工具能够识别的脚本。由于实现O/R MAPPING的工具很多,比如Hibernate,TopLink,iBatis等,因此,可以建立适用于这些对象关系数据库映射工具的对象属性与脚本语句的映射逻辑关系,在建立了新的对象并对其需要更新的属性赋值后,就可以提取出该对象及其属性信息,并依照该映射逻辑关系将其转换为相应的对象关系数据库映射工具能够识别的脚本。步骤104,利用对象关系数据库映射工具将脚本中的信息更新到关系数据库中。当然,在进行关系数据库中对象部分属性更新时,也可以不借助于对象关系数据库映射工具,而是向用户提供对象属性与关系数据库能够识别的SQL语句的映射逻辑关系,根据该映射逻辑关系将需要更新的对象及其属性信息转换为关系数据库的SQL语句,通过关系数据库提供的数据操作接口执行这些SQL语句,完成对该对象部分属性的更新。参照图2,图2是本专利技术将对象局部属性更新到关系数据库的方法第二实施例的流程,包括以下步骤步骤201,创建需要更新部分属性的对象。步骤202,为该对象中需要更新的属性赋值。步骤203,将该对象及其属性信息转换为关系数据库能够识别的SQL语句。同样,由于关系数据库可以通过不同的语言来建立,比如,Java、vc、vb等编程语言。因此,可以建立支持不同语言关系数据库的对象属性与SQL语句的映射逻辑关系,在建立了新的对象并对其需要更新的属性赋值后,就可以提取本文档来自技高网
...

【技术保护点】
一种将对象局部属性更新到关系数据库的方法,其特征在于,所述方法包括:创建需要更新部分属性的对象;为所述对象中需要更新的属性赋值;将所述对象及其属性信息转换为对象关系数据库映射工具能够识别的脚本;利用所述对象关 系数据库映射工具将所述脚本中的信息持久化到所述关系数据库中。

【技术特征摘要】

【专利技术属性】
技术研发人员:李光明唐永华
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1