The invention discloses a data mapping method and system based on Hibernate, and the Hibernate based data mapping method includes step S1: acquiring native SQL and executing native SQL; step S2: initializing mapping class; step S3: in transformTuple method, a field name of a native SQL query is obtained through a data entity class. The object gets the entity class attribute name, loops to the field name of the native SQL query and the entity class attribute name, assigns properties to the field values of the field name of the native SQL query, maps the fields to the entity properties, and makes the mapping of the field and entity properties hidden in the mapping class; step S4: obtain the number through the mapping class. According to the object of the entity. The invention can make users do not need to consider how to map, and greatly simplifies the complexity of executing native SQL using Hibernate.
【技术实现步骤摘要】
基于Hibernate的数据映射方法及系统
本专利技术涉及计算机
,具体涉及一种基于Hibernate的数据映射方法及系统。
技术介绍
Hibernate是一个应用非常广泛的开源的数据持久层的框架,其核心思想是建立对象与数据库表的映射关系,使开发者可以使用对象的思维操作数据库。但是,Hibernate映射数据库方式不够灵活,与数据库表相对应的映射对象,其属性必须与数据库表一一对应。如果表与表之间关系复杂,关联的表比较多,对象中的映射较多,在构建映射对象时,而且即使是单个表的查询,也会查询关联映射的表,造成不必要的资源开销和降低查询效率。为了提高查询效率,降低资源开销,对于复杂的业务,当前的做法是,使用原生SQL进行查询,但这样一来,数据库表字段就不能直接映射到对象上了,对返回来的数据,要通过数据集下标与数据对象属性一一对应,容易出错,且复用率低。如果以后该多加一个属性或者删除一个,需要修改的地方就比较多了,这样可维护性就比较差。
技术实现思路
本专利技术的目的在于提供一种基于Hibernate的数据映射方法及系统,能够使用户不需要考虑如何去映射,简化利用Hibe ...
【技术保护点】
一种基于Hibernate的数据映射方法,其特征在于,包括:步骤S1:获取原生SQL,并执行原生SQL;步骤S2:初始化映射类,所述映射类继承于Hibernate的ResultTransformer,以利用其查询结果转换方法transformTuple,将原生SQL对应的实体类全名字符串传入所述映射类中,通过利用反射机制取得数据实体类对象;步骤S3:在transformTuple方法中,取得原生SQL查询的字段名,通过数据实体类对象获得实体类属性名,循环比对原生SQL查询的字段名和实体类属性名,将原生SQL查询的字段名的字段值赋予属性,完成字段与实体属性的映射,使字段和实体 ...
【技术特征摘要】
1.一种基于Hibernate的数据映射方法,其特征在于,包括:步骤S1:获取原生SQL,并执行原生SQL;步骤S2:初始化映射类,所述映射类继承于Hibernate的ResultTransformer,以利用其查询结果转换方法transformTuple,将原生SQL对应的实体类全名字符串传入所述映射类中,通过利用反射机制取得数据实体类对象;步骤S3:在transformTuple方法中,取得原生SQL查询的字段名,通过数据实体类对象获得实体类属性名,循环比对原生SQL查询的字段名和实体类属性名,将原生SQL查询的字段名的字段值赋予属性,完成字段与实体属性的映射,使字段和实体属性的映射被隐藏于所述映射类中;步骤S4:通过所述映射类获取数据实体对象。2.根据权利要求1所述的基于Hibernate的数据映射方法,其特征在于,在步骤S1中,通过Hibernate的createSQLQuery方法执行所述原生SQL。3.根据权利要求1所述的基于Hibernate的数据映射方法,其特征在于,在步骤S2中,将所述数据实体类全名字符串通过映射类构造函数传入到所述映射类中。4.根据权利要求1所述的基于Hibernate的数据映射方法,其特征在于,在步骤S3中,通过方法参数aliases取得原生SQL查询的字段名。5.一种...
【专利技术属性】
技术研发人员:刘抒平,李守刚,
申请(专利权)人:北京天健通泰科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。