【技术实现步骤摘要】
一种跨平台、多语言的ORM服务框架解决方案
[0001]本专利技术属于计算机
,尤其涉及一种跨平台、多语言的ORM服务框架解决方案。
技术介绍
[0002]ORM是对象关系映射(Object
‑
Relational Mapping)的简称,是一种编程技术,通常在OOP(Object
‑
Oriented Programming)面向对象编程的时候,为了解决对象的持久化到数据库的操作更简便,并且不破坏OOP编程范式的规范而存在的一种编程思想框架。其目标是将面向对象的数据模型和关系数据库之间进行映射,使得程序可以像操作对象的常规方式一样操作对象的持久化到数据库,而不需要直接编写SQL语句。
[0003]各个公司IT选择的ORM框架都各不相同,大多数因为开发语言的基础,在可选的几个框架中选用一个进行使用。当公司多个业务本身就是多种语言的时候,那么就可能出现一家公司会使用2种或者更多种ORM框架的情况。
[0004]例如某公司财务系统,一部分是使用Java Web技术,一部分业务使用C#.NET技术,那么就可能存在即使用Java Hibernate又用C#的Entity Framework这两个ORM框架。甚至还会有前端javascript、python后端脚本、rust、scala等的业务也要用,导致选用的ORM框架越来越多;
[0005]由于引入的ORM框架多了,对技术人员的学习、开发、维护、升级成本都变得高了;各种ORM框架的配置细节不一样,功能特点不一样 ...
【技术保护点】
【技术特征摘要】
1.一种跨平台、多语言的ORM服务框架解决方案,其特征在于,包括以下步骤:步骤S1:gRPC定义生成不同语言版本的客户端client,gRPC对于服务端的接口定义生成不同语言的客户端代码;步骤S2:对于步骤S1中不同语言的客户端代码,创建对应的客户端,针对不同客户端语言封装thin wrapper轻量客户端;步骤S3:使用gRPC的message指令定义表结构,生成语言的类,并将类对象操作当做表记录对象;步骤S4:使用gRPC的service rpc指令定义ORM操作接口所必需的数据结构;步骤S5:使用gRPC的service rpc指令定义ORM的操作接口;步骤S6:对表数据的CRUD进行操作。2.如权利要求1所述的一种跨平台、多语言的ORM服务框架解决方案,其特征在于,所述步骤S4具体如下:步骤S41:gRPC使用message指令定义数据库连接Connection数据结构,结构体中包含数据库连接的唯一编号、用户名、密码、访问的数据库名称和访问的数据库实例地址url;步骤S42:gRPC使用message指令定义数据库操作会话Session数据结构,结构体中包含会话唯一编号、会话的可选配置属性Map<属性名,属性值>集合;步骤S43:gRPC使用message指令定义一个事务实例Transaction数据结构,结构体中包含事务唯一编号,事务的可选设置参数Map<参数名,参数值>集合;步骤S44:gRPC使用message指令定义统一的错误KiError数据结构,结构体包含错误码、状态码和错误信息描述。3.如权利要求1所述的一种跨平台、多语言的ORM服务框架解决方案,其特征在于,所述步骤S5包括以下步骤:步骤S50:gRPC使用service rpc指令来定义打开数据库会话openSession操作,该操作参数为Connection连接对象,表示访问的是对应连接所描述地址的数据库,返回值就是一个会话Session实例,会话Session保存了当前会话的编号和一些会话属性;步骤S51:gRPC使用service rpc指令来定义关闭数据库会话closeSession操作,该操作参数传入Session会话对象,表示关闭的是Session所描述的会话编号对应的会话内容,操作的返回值是KiError错误码,若关闭会话报错,则会返回错误,否则错误码为空;步骤S52:gRPC使用Service rpc指令来定义开始事务beginTransaction操作,该操作传入参数是Session对象,表示在这个会话上开启一个事务,操作的返回值就是一个Transaction事务实例对象,用于表示这个事务上下文信息;步骤S53:gRPC使用Service rpc指令来定义提交事务commitTransaction操作,该操作传入的参数是Transaction事务对象,表示把这个事务所关联的系列操作作为一个事务提交,该操作的返回值是KiError统一错误码,表示事务提交是否正确;步骤S54:gRPC使用Service rpc指令来定义回滚事务rollbackTransaction操作,该操作传入的参数是Transaction事务对象,表示把这个事务所关联的系列操作回滚,操作的返回值是KiError,表示是否回滚成功;步骤S55:gRPC使用Service rpc指令来定义关闭事务closeTransaction操作,表示关闭此事务的操作,释放此事务相关的资源,该操作的返回值是KiError表示是否关闭成功。
4.如权利要求3所述的一种跨平台、多语言的ORM服务框架解决方案,其特征在于,所述步骤S5还包括以下步骤步骤S56:gRPC使用Service rpc指令来...
【专利技术属性】
技术研发人员:韦振源,王刚,
申请(专利权)人:上海恩毕可施科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。