[发明专利]Spring data JPA实现动态查询的方法在审

专利信息
申请号: 201410077357.X 申请日: 2014-03-04
公开(公告)号: CN103870555A 公开(公告)日: 2014-06-18
发明(设计)人: 逯利军;钱培专;汪金忠;林强;李克民;宋聚平;卢天华 申请(专利权)人: 赛特斯信息科技股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 上海智信专利代理有限公司 31002 代理人: 王洁;郑暄
地址: 210042 江苏省南京*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: spring data jpa 实现 动态 查询 方法
【权利要求书】:

1.一种Spring data JPA实现动态查询的方法,其特征在于,所述的方法包括以下步骤:

(1)采用基于Spring FactoryBean创建的动态查询确认类判断被调用的接口方法是否需要进行动态查询,如果是,则继续步骤(3),否则,继续步骤(2);

(2)采用原Spring data框架处理该被调用的接口方法,然后结束退出;

(3)采用基于Spring FactoryBean创建的动态JPA查询类创建动态查询语句;

(4)所述的动态JPA查询类将所述的动态查询语句发送至JPA框架;

(5)所述的动态JPA查询类将JPA框架的查询结果转换成指定类型的返回对象。

2.根据权利要求1所述的Spring data JPA实现动态查询的方法,其特征在于,所述的判断被调用的接口方法是否需要进行动态查询,具体为:

判断被调用的接口方法是否进行了动态JPA查询类的注解。

3.根据权利要求1所述的Spring data JPA实现动态查询的方法,其特征在于,所述的动态JPA查询类创建动态查询语句,具体为:

(31)所述的动态JPA查询类根据接口方法中的参数定义以及进行接口方法调用的实际传递参数值创建动态查询语句中的条件语句。

4.根据权利要求3所述的Spring data JPA实现动态查询的方法,其特征在于,所述的根据接口方法中的参数定义以及进行接口方法调用的实际传递参数值创建动态查询语句中的条件语句,包括以下步骤:

(311)判断所述的接口方法的实际传递参数值是否为空值,如果是,则继续步骤(312),否则继续步骤(315);

(312)判断该实际传递参数是否有默认值,如果是,则继续步骤(313),否则继续步骤(314);

(313)将该默认值的条件加入到动态查询语句中的条件语句中;

(314)将该实际传递参数对应的查询条件忽略;

(315)判断该接口方法中是否有该实际传递参数的动态注解定义,如果是,则继续步骤(316);

(316)将该接口方法的条件加入到动态查询语句中的条件语句中。

5.根据权利要求3所述的Spring data JPA实现动态查询的方法,其特征在于,所述的步骤(31)和(4)之间,还包括以下步骤:

(32)所述的动态JPA查询类根据接口方法中定义的JPA查询结果返回类型创建动态查询语句中的选择部分。

6.根据权利要求5所述的Spring data JPA实现动态查询的方法,其特征在于,所述的动态JPA查询类将JPA框架的查询结果转换成指定类型的返回对象,具体为:

所述的动态JPA查询类根据接口方法中定义的JPA查询结果返回类型将JPA框架的查询结果转换成指定类型的POJO对象。

7.根据权利要求3所述的Spring data JPA实现动态查询的方法,其特征在于,所述的步骤(31)和(4)之间,还包括以下步骤:

(33)所述的动态JPA查询类根据接口方法定义中是否有Pageable或Sort类型的参数以及对应的实际传递参数值是否为空对动态查询语句中的条件语句进行排序。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赛特斯信息科技股份有限公司,未经赛特斯信息科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410077357.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top