一种基于JPA的自动化数据版本生成及应用的装置和方法制造方法及图纸

技术编号:29488623 阅读:20 留言:0更新日期:2021-07-30 19:00
本发明专利技术公开了一种基于JPA的自动化数据版本生成及应用的装置及方法,通过自动化的方式进行版本代码的生成、使用,定义数据版本的统一规范,保证结构统一。本发明专利技术的一种基于JPA的自动化数据版本生成及应用的装置及方法,可以对数据版本的使用做到统一入口和规范,并减少代码冗余,提高代码读性和功能的准确性,同时还能提高开发工程师对数据版本概念的理解能力。

【技术实现步骤摘要】
一种基于JPA的自动化数据版本生成及应用的装置和方法
本专利技术涉及数据库领域,尤其涉及一种数据版本实用规范,代码可读性和功能准确性好的基于JPA的自动化数据版本生成及应用的装置和方法。
技术介绍
JPA又称Springdatajpa,为JAVA持久层API,用来描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。数据版本设计为在数据库操作数据时,希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据。对于这种需求,可以使用保留历史数据或者使用版本来实现。现有技术中,通常实用mybatis的方式手工进行数据版本的代码编码,然而,开发人员对数据版本的理解不一致,实现方式无法统一;数据版本代码杂糅在普通代码一起,容易出错;数据版本及数据实体需要分别查询使用,代码可读性及可维护性差。因此,有必要提出一种改进以克服现有技术缺点。
技术实现思路
本专利技术的目的是解决现有技术中的问题,提供一种通过自动化的方式进行数据版本代码的生成、使用,定义数据版本的统一规范,保证结构统一的基于JPA的自动化数据版本生成及应用的装置和方法。本专利技术的技术方案是:一种基于JPA的自动化数据版本生成及应用的装置,包括:配置模块,所述配置模块用于配置数据实体和/或数据属性生成数据版本或空值覆盖;生成模块,所述生成模块用于系统初始化时对配置扫描的内容进行数据版本的CLASS生成;应用模块,所述应用模块用于通过JPA对数据版本进行数据操作。作为一种优选的技术方案,还包括关联模块,所述关联模块用于根据不同数据实体的关联关系自动生成关联数据版本。作为一种进一步优选的技术方案,所述配置模块、生成模块、应用模块及关联模块均为对应计算机可读指令,所述计算机可读指令存储于计算机可读介质内。本专利技术还提供了一种应用以上一种基于JPA的自动化数据版本生成及应用的装置的一种基于JPA的自动化数据版本生成及应用的方法,包括以下步骤:S1、建立数据版本配置:通过所述配置模块以创建注解的方式对数据版本进行配置,数据实体根据需求进行配置;S2、建立数据实体:将所有系统中的数据实体进行建立,对数据实体和数据属性进行数据版本配置的编写;S3、通过所述生成模块生成数据版本CLASS文件:对步骤S2中进行了数据版本配置的数据实体进行扫描,通过JAVA反射机制及文件操作自动生成数据版本对应的CLASS文件;若包括关联模块,所述关联模块根据是否配置关联,对关联的数据版本进行级联自动生成;S4、通过所述应用模块对数据版本进行应用;所述用户模块根据用户的数据操作自动对数据版本的数据进行增删改查,且记录每次用户填写的版本数据。作为一种优选的技术方案,所述步骤S3及步骤S4之间还包括以下步骤:基于JPA技术通过工厂模式建立数据版本的代理操作对象;在应用时,所述代理操作对象对生成的数据版本对象CLASS进行操作,得到数据版本的内容并进行相关应用。作为一种优选的技术方案,所述步骤S1内的创建注解需要通过工具类进行注解解析以找到指定的数据实体及数据属性。作为一种优选的技术方案,所述步骤S2内数据实体建立设置于com.telehot目录结构下。作为一种优选的技术方案,所述步骤S3、通过所述生成模块生成数据版本CLASS文件及步骤S4、通过所述应用模块对数据版本进行应用,均包括异常处理机制,所述异常处理机制包括异常操作,所述异常操作包括版本异常、版本CLASS未找到异常、无数据实体异常、关联属性未找到异常。作为一种优选的技术方案,所述步骤S3生成的数据版本CLASS文件与原数据实体的文件目录一致。作为一种进一步优选的技术方案,所述数据版本CLASS文件的文件名前缀与所述数据实体文件名一致;所述数据版本CLASS文件以DV结尾;所述数据版本CLASS文件内容包含数据配置中的全部内容,且添加数据版本相关的统一内容。本专利技术的一种基于JPA的自动化数据版本生成及应用的装置及方法,通过自动化的方式进行版本代码的生成、使用,定义数据版本的统一规范,保证结构统一。本专利技术的一种基于JPA的自动化数据版本生成及应用的装置及方法,可以对数据版本的使用做到统一入口和规范,并减少代码冗余,提高代码读性和功能的准确性,同时还能提高开发工程师对数据版本概念的理解能力。附图说明图1为本专利技术一种基于JPA的自动化数据版本生成及应用的装置具体实施方式框图;图2为一种基于JPA的自动化数据版本生成及应用的方法具体实施方式流程框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。如图1所示为本专利技术的一种基于JPA的自动化数据版本生成及应用的装置,包括:配置模块,所述配置模块用于配置数据实体和/或数据属性生成数据版本或空值覆盖。也即配置模块用于配置数据实体是否生成数据版本、数据属性是否生成数据版本及空值覆盖。生成模块,所述生成模块用于系统初始化时对配置扫描的内容进行数据版本的CLASS生成。生成模块通过注解的方式进行自动生成数据版本的CLASS,摒弃手工编写大量代码的方式,减少冗余,提高代码可读性和定义数据版本编写规范。应用模块,所述应用模块用于通过JPA对数据版本进行数据操作。也即应用模块用于对数据版本进行保存、更新、删除等数据操作。应用模块通本文档来自技高网...

【技术保护点】
1.一种基于JPA的自动化数据版本生成及应用的装置,其特征在于,包括:/n配置模块,所述配置模块用于配置数据实体和/或数据属性生成数据版本或空值覆盖;/n生成模块,所述生成模块用于系统初始化时对配置扫描的内容进行数据版本的CLASS生成;/n应用模块,所述应用模块用于通过JPA对数据版本进行数据操作。/n

【技术特征摘要】
1.一种基于JPA的自动化数据版本生成及应用的装置,其特征在于,包括:
配置模块,所述配置模块用于配置数据实体和/或数据属性生成数据版本或空值覆盖;
生成模块,所述生成模块用于系统初始化时对配置扫描的内容进行数据版本的CLASS生成;
应用模块,所述应用模块用于通过JPA对数据版本进行数据操作。


2.根据权利要求1所述的一种基于JPA的自动化数据版本生成及应用的装置,其特征在于:还包括关联模块,所述关联模块用于根据不同数据实体的关联关系自动生成关联数据版本。


3.根据权利要求2所述的一种基于JPA的自动化数据版本生成及应用的装置,其特征在于:所述配置模块、生成模块、应用模块及关联模块均为对应计算机可读指令,所述计算机可读指令存储于计算机可读介质内。


4.一种应用权利要求1至3任一权利要求所述的一种基于JPA的自动化数据版本生成及应用的装置的方法,其特征在于:包括以下步骤:
S1、建立数据版本配置:通过所述配置模块以创建注解的方式对数据版本进行配置,数据实体根据需求进行配置;
S2、建立数据实体:将所有系统中的数据实体进行建立,对数据实体和数据属性进行数据版本配置的编写;
S3、通过所述生成模块生成数据版本CLASS文件:对步骤S2中进行了数据版本配置的数据实体进行扫描,通过JAVA反射机制及文件操作自动生成数据版本对应的CLASS文件;若包括关联模块,所述关联模块根据是否配置关联,对关联的数据版本进行级联自动生成;
S4、通过所述应用模块对数据版本进行应用;所述用户模块根据用户的数据操作自动对数据版本的数据进行增删改查,且记录每次用户填写的版本数据。

【专利技术属性】
技术研发人员:钟俊郑金新孙朝辉
申请(专利权)人:上海天好信息技术股份有限公司
类型:发明
国别省市:上海;31

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

1