Spring Data JPA 从入门到精通~定义查询方法的配置方法

定义查询方法的配置方法

由于 Spring JPA Repository 的实现原理是采用动态代理的机制,所以我们介绍两种定义查询方法,从方法名称中可以指定特定用于存储的查询和更新,或通过使用 @Query 手动定义的查询,取决于实际对数据的操作,只需要实体 Repository 继承 Spring Data Common 里面的 Repository 接口即可,就像前面我们讲的一样。如果你想有其他更多默认通用方法的实现,可以选择 JpaRepository、PagingAndSortingRepository、CrudRepository 等接口,也可以直接继承我们后面要介绍的 JpaSpecificationExecutor、QueryByExampleExecutor,QuerydslPredicateExecutor 和自定义 Response,都可以达到同样的效果。

如果不想扩展 Spring 数据接口,还可以使用它来注解存储库接口 @RepositoryDefinition,扩展 CrudRepository 公开了一套完整的方法来操纵实体。如果希望对所暴露的方法有选择性,只需将要暴露的方法复制 CrudRepository 到域库中即可,其实也是自定义 Repository 的一种。

示例:选择性地暴露CRUD方法

@NoRepositoryBeaninterface
MyBaseRepository<T, ID extends Serializable> extends Repository<T, ID> {T findOne(ID id); T save(T entity);
}
interface UserRepository extends MyBaseRepository<User, Long> {User findByEmailAddress(EmailAddress emailAddress);
}

在此实例中,您为所有域存储库定义了一个公共基础接口,并将其暴露出来,findOne(…) 和 save(…) 这些方法将由 Spring Data 路由到你提供的 MyBaseRepository 的基本 Repository 实现中。在 JPA 的默认情况下,SimpleJpaRepository 作为上面两个接口的实现类,所以 UserRepository 现在将能够保存用户,并通过 ID 查找单个,以及触发查询以 Users 通过其电子邮件地址查找。

综上所述,得出以下两单:

  • MyRepository Extends Repository 接口就可以实现 Defining Query Methods 的功能。
  • 继承其他 Repository 的子接口,或者自定义子接口,可以选择性的暴漏 SimpleJpaRepository 里面已经实现的基础公用方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

socket的长连接、短连接、半包、粘包与分包

socket的半包&#xff0c;粘包与分包的问题和处理代码&#xff1a;http://blog.csdn.net/qq_16112417/article/details/50392463 知乎关于长连接和短连接&#xff1a;https://www.zhihu.com/search?typecontent&q长连接%20短连接 TCP网络通讯如何解决分包粘包问题&#…

在Windows2003server上安装msn9.0以上版本的解决办法

方法一&#xff1a; 最近windows 强制升级了msn 9的版本。导致我在windows2003下的msn又一次需要剥离出msi文件才能安装了。在网上逛了一圈发现了如下方法&#xff0c;这里分享下&#xff0c;同时&#xff0c;也感谢作者的详细步骤。 2003SERVER版安装MSN 9.0&#xff08;版本2…

oracle exec编译失效,编译oracle失效的函数、存储过程、视图等

进行oracle开发时常常为不时失效的存储过程&#xff0c;函数等苦恼&#xff0c;于是下决心解决这个问题&#xff0c;东查西找&#xff0c;找到一个好东东&#xff0c;在基础上又修改了一下,问题终于被我解决了。1。建立一个存储过程CREATE OR REPLACE PROCEDURE TIMER_AUTO_REC…

2018年中国人工智能行业研究报告|附下载

来源&#xff1a;网络大数据、艾瑞咨询广义人工智能指通过计算机实现人的头脑思维所产生的效果&#xff0c;是对能够从环境中获取感知并执行行动的智能体的描述和构建;相对狭义的人工智能包括人工智能产业(包含技术、算法、应用等多方面的价值体系)、人工智能技术(包括凡是使用…

浅谈基于TCP和UDP的协议设计

From&#xff1a;http://blog.sina.com.cn/s/blog_48d4cf2d0101859x.html 一个基于TCP/WebSockets的超级精简的长连接消息协议&#xff1a;https://studygolang.com/articles/10506 github 上 一个简单的消息协议&#xff1a;https://github.com/acrazing/stmp google prot…

Spring Data JPA 从入门到精通~方法的查询策略设置

方法的查询策略设置 通过下面的命令来配置方法的查询策略&#xff1a; EnableJpaRepositories(queryLookupStrategy QueryLookupStrategy.Key.CREATE_IF_NOT_FOUND) 其中&#xff0c;QueryLookupStrategy.Key 的值一共就三个&#xff1a; Create&#xff1a;直接根据方法名…

IE6下PNG图片透明效果(PNG图片做背景也可以)

懒人萱在这里保证发的文章都是高质量的经过测试的JS代码&#xff0c;而且IE6、IE7和火狐都兼容的&#xff0c;希望大家多多关注我的帖子&#xff0c;我会把我的经验都共享出来哦&#xff01;  懒人萱在寻找PNG图片透明效果的JS特效代码的时候&#xff0c;发现大部分的效果只能…

oracle数据块调用存储过程,VC调用存储过程的通用方法(ORACLE篇)

先对上一篇调用SQLServer的存储过程作一点补充&#xff0c;就是如果存储过程里有Insert,update,delete等操作&#xff0c;最后返回结果集&#xff0c;按示例代码有可能得不到数据&#xff0c;因为返回的数据有可能不在第一个结果集&#xff0c;需要进行遍历&#xff1a;long ln…

不用地图如何导航?DeepMind提出新型双路径强化学习「智能体」架构

来源&#xff1a;deepmind、arXiv作者&#xff1a;Piotr Mirowski、Matthew Koichi Grimes、Mateusz Malinowski、Karl Moritz Hermann、Keith Anderson、Denis Teplyashin、Karen Simonyan、Koray Kavukcuoglu、Andrew Zisserman、Raia Hadsell「雷克世界」编译&#xff1a;嗯…

C 和 C++ 宏 详解

From&#xff1a;https://www.cnblogs.com/njczy2010/p/5773061.html C中的预编译宏详解&#xff1a;http://www.cppblog.com/bellgrade/archive/2010/03/18/110030.html C语言的宏总结&#xff1a;http://blog.csdn.net/pirlck/article/details/51254590 C 语言中的 宏定义…

常用代码生成工具介绍

1&#xff1a;CodeSmith工具优点&#xff1a;支持模板类&#xff0c;可扩展强。建议使用。目前公认的最强大的代码生成工具&#xff0c;支持各种语言。可以和开发环境无缝集成。例如&#xff1a;Vs2008等。缺点&#xff1a;不免费&#xff0c;最新的可破解版本为4.0.2&#xff…

Spring Data JPA 从入门到精通~查询方法的创建

查询方法的创建 内部基础架构中有个根据方法名的查询生成器机制&#xff0c;对于在存储库的实体上构建约束查询很有用&#xff0c;该机制方法的前缀 find…By、read…By、query…By、count…By 和 get…By 从所述方法和开始分析它的其余部分&#xff08;实体里面的字段&#x…

oracle表参数,Oracle 表的创建 及相关参数

1、创建表完整语法CREATE TABLE [schema.]table(column datatype [, column datatype] … )[TABLESPACE tablespace][PCTFREE integer][PCTUSED integer][INITRANS integer][MAXTRANS integer][STORAGE storage-clause][LOGGING | NOLOGGING][CACHE | NOCACHE] ];说明&#xff…

人工智能在能源行业的5个应用

作者&#xff1a;CB Insights . 来源&#xff1a;CometLabs摘要&#xff1a;自2012年以来&#xff0c;把人工智能和能源产业放在一起进行报道的新闻开始增多。本文简要描述了人工智能在能源行业的5个应用方向&#xff0c;及对应的案例。能源行业会产生大量的数据。为了将这些数…

fork vfork exit _exit (转)

原文地址&#xff1a;http://hi.baidu.com/ikaruga11/blog/item/fb6d75725a8d8d148701b080.htmlAPUE上的一个例子&#xff1a;example1 (forkt.c ):#include<stdlib.h>#include<unistd.h>#include<stdio.h>#include<sys/types.h>int glob 5;int main(…

VMware 安装 win7、win10、MAC 和网络模式VMnet0、VMnet1、VMnet8解释

VMware虚拟机安装ghost win7系统方法&#xff1a;http://www.xitongcheng.com/jiaocheng/xtazjc_article_15314.html VMWare14 安装Mac OS系统&#xff08;图解&#xff09;&#xff1a;http://blog.csdn.net/u011415782/article/details/78505422 虚拟机&#xff08;VMware …

Spring Data JPA 从入门到精通~关键字列表

注意除了 find 的前缀之外&#xff0c;我们查看 PartTree 的源码&#xff0c;还有如下几种前缀&#xff1a; private static final String QUERY_PATTERN "find|read|get|query|stream"; private static final String COUNT_PATTERN "count"; private s…

当科学遇上众包:9个值得关注的前沿科技算力众包平台

来源&#xff1a; 资本实验室 . 作者&#xff1a;李鑫找到癌症治疗的方法&#xff0c;预测气候的变化&#xff0c;追踪可能与地球相撞的小行星……甚至预测地震&#xff0c;我们每天都面临着各种世界性难题。如果你想参与解决这些难题&#xff0c;公民科学应用将让你发挥作用…

oracle数据库配置助手来初始化参数,使用服务器参数文件(SPFILE)管理初始化参数...

传统上&#xff0c;Oracle数据库的初始化参数存储在文本初始化参数文件中。为了更好的可管理性&#xff0c;您可以选择在二进制服务器参数文件中维护初始化参数&#xff0c;该文件在数据库启动和关闭期间保持不变。本节介绍服务器参数文件&#xff0c;并介绍如何使用任何一种存…

为脚本语言平反-JavaScript篇(3)

http://blog.csdn.net/aimingoo/archive/2009/09/08/4532496.aspx &#xff08;书接上回&#xff0c;继续&#xff01;&#xff09; 五、这个DSL框架有什么问题&#xff1f; 有什么问题吗&#xff1f;有一点&#xff0c;并不严重。比如说&#xff0c;我们在Env中声明了一些属性…