一种基于JPA的自动化数据版本生成及应用的装置和方法与流程

文档序号:26101561发布日期:2021-07-30 18:12阅读:76来源:国知局
一种基于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对数据版本进行数据操作。也即应用模块用于对数据版本进行保存、更新、删除等数据操作。应用模块通过接口读取数据实体和数据版本的信息,并得到版本比对结果,用于界面展示。

在实际应用中,由于数据实体之间存在关联关系,还可以根据实际需要设置关联模块,所述关联模块用于根据不同数据实体的关联关系自动生成关联数据版本。

在应用中,上述配置模块、生成模块、应用模块及关联模块均为对应计算机可读指令,计算机可读指令用于执行相关操作,以实现相关功能,计算机可读指令存储于计算机可读介质内。

如图2所示,本发明还公开了一种应用以上基于jpa的自动化数据版本生成及应用的装置的方法,包括以下步骤:

s1、建立数据版本配置:通过所述配置模块以创建注解的方式对数据版本进行配置,数据实体根据需求进行配置。也即通过创建注解的方式提供dventity、dvfield、dvignorenullfiled、dvrefield等对数据版本的配置。

s2、建立数据实体:将所有系统中的数据实体进行建立,对数据实体和数据属性进行数据版本配置的编写;

s3、通过所述生成模块生成数据版本class文件:对步骤s2中进行了数据版本配置的数据实体进行扫描,通过java反射机制及文件操作自动生成数据版本对应的class文件;若包括关联模块,所述关联模块根据是否配置关联,对关联的数据版本进行级联自动生成。系统初始化时,扫描配置包对所有进行了数据版本配置的数据实体进行生成操作,通过java反射机制及文件操作自动生成数据版本对应的class。生成模块工作的同时,若存在关联模块,所述关联模块会根据是否配置关联,对关联的数据版本进行级联自动生成,保证各级关联版本的一致性。

s4、通过所述应用模块对数据版本进行应用;所述用户模块根据用户的数据操作自动对数据版本的数据进行增删改查,保证与数据实体的数据一致性,且记录每次用户填写的版本数据达到记录历史的效果。

在实际应用中,步骤s3与步骤s4之间还包括以下步骤:基于jpa技术,通过工厂模式建立了数据版本的代理操作对象,在应用时,代理操作对象对生成的数据版本对象class进行操作,得到数据版本的内容,并进行相关应用。

为了便于实施,作为优选方案,步骤s1内的创建注解需要通过工具类进行注解解析以便于找到指定的数据实体及数据属性。

为了功能实现及便于管理,步骤s2内数据实体建立设置于com.telehot目录结构下。

为了保证功能实现,需要增加异常处理机制。所述步骤s3、通过所述生成模块生成数据版本class文件及步骤s4、通过所述应用模块对数据版本进行应用,均包括异常处理机制,所述异常处理机制包括异常操作,所述异常操作包括版本异常、版本class未找到异常、无数据实体异常、关联属性未找到异常。也即,步骤s3和s4内生成和应用时,定义了版本异常、版本class未找到异常、无数据实体异常、关联属性未找到异常等异常操作,用于对生成和应用操作进行异常处理机制。

步骤s3输出的文件为class文件,且与原数据实体的文件目录一致,以保证数据实体与数据版本的对应关系。为了进一步保证数据实体与数据版本的统一对应,所述数据版本class文件的文件名前缀与所述数据实体文件名一致;所述数据版本class文件以dv结尾;所述数据版本class文件内容包含数据配置中的全部内容,且添加数据版本相关的统一内容。

本发明的一种基于jpa的自动化数据版本生成及应用的装置及方法,通过自动化的方式进行版本代码的生成、使用,定义数据版本的统一规范,保证结构统一。本发明的一种基于jpa的自动化数据版本生成及应用的装置及方法,可以对数据版本的使用做到统一入口和规范,并减少代码冗余,提高代码读性和功能的准确性,同时还能提高开发工程师对数据版本概念的理解能力。

综上所述仅为本发明较佳的实施例,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化及修饰,皆应属于本发明的技术范畴。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1