Spring Data JPA 从入门到精通~@Modifying修改查询

学习思路一样,我们先看源码:

public @interface Modifying {
//如果配置了一级缓存,这个时候用clearAutomatically=true,就会刷新hibernate的一级缓存了, 不然你在同一接口中,更新一个对象,接着查询这个对象,那么你查出来的这个对象还是之前的没有更新之前的状态。这个比较适合老Hibernate的开发的程序员。boolean clearAutomatically() default false;
}

可以通过在 @Modifying 注解实现只需要参数绑定的 update 查询的执行,我们来看个例子根据 lastName 更新 firstname 并且返回更新条数如下:

@Modifying
@Query("update User u set u.firstname = ?1 where u.lastname = ?2")
int setFixedFirstnameFor(String firstname, String lastname);

简单的针对某些特定属性的更新,也可以直接用基类里面提供的通用 save 来做更新(即继承 CrudRepository 接口)。

还有第三种方法就是自定义 Repository 使用 EntityManager 来进行更新操作。

对删除操作的支持如下:

interface UserRepository extends Repository<User, Long> {void deleteByRoleId(long roleId);@Modifying@Query("delete from User u where user.role.id = ?1")void deleteInBulkByRoleId(long roleId);
}

所以现在我们一共有四种方式来做更新操作:

  • 通过方法表达式(method name query),上篇内容已介绍;
  • 还有一种就是 @Modifying 注解;
  • @Query 注解也可以做到;
  • 继承 CrudRepository 接口。

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

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

相关文章

java volatile修饰引用_关于volatile修饰引用类型的疑惑

volatile修饰引用类型能否保证可见性似乎一直没有一个定论&#xff0c;有的书中说仅能保证引用本身的可见性&#xff0c;下面用两段代码来验证&#xff1a;流程基本为一个线程死循环读取某个引用类型的某个变量的值&#xff0c;另一个线程修改这个值&#xff0c;观察线程是否结…

gridview 简单的分页

allowpaging 设为 true 然后 后台代码为&#xff1a; protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex e.NewPageIndex; Get_Gridview(); } Get_Gridview();是绑定gridview 的方法 转载于:https…

西人马聂泳忠:打造机器神经系统,成为中国的特斯拉

作者&#xff1a;于绍洋 来源&#xff1a;投资家网经常穿梭于几个城市&#xff0c;一手拉着行李箱&#xff0c;一手忙于回复工作上的事务&#xff0c;这可能已经成为西人马FATRI&#xff08;下称&#xff0c;西人马&#xff09;创始人聂泳忠博士的日常状态。他给人的第一印象…

Linux dd 命令

From&#xff1a;http://www.cnblogs.com/jikexianfeng/p/6103500.html Linux/UNIX: 使用 dd 命令创建 1GB 大小的二进制&#xff1a;http://www.linuxidc.com/Linux/2014-12/110147.htm 菜鸟教程 Linux dd命令&#xff1a;http://www.runoob.com/linux/linux-comm-dd.html …

Ubuntu 20.04 (Focal Fossa) 上安装RabbitMQ和Erlang,并配置管理员,并且修改数据目录

本脚本适用于在Ubuntu 20.04 (Focal Fossa) 上在线快速安装RabbitMQ和Erlang。 快速安装脚本&#xff1a; #!/bin/shsudo apt-get install curl gnupg apt-transport-https -y## Team RabbitMQs main signing key curl -1sLf "https://keys.openpgp.org/vks/v1/by-finge…

javascript indexOf函数

使用方法&#xff1a;strObj.indexOf(str,startIndex[可选]) 程序代码 其中strObj是必选项。String 对象或文字。 str是必选项。要在 String 对象中查找的子字符串。 startIndex是可选项。该整数值指出在 String 对象内开始查找的位置&#xff0c;从0开始。如果省略&#xff0c…

Spring Data JPA 从入门到精通~@Procedure 储存过程的查询方法

我们通过 Procedure 来介绍一下&#xff0c;JPA 对储存过程的支持。 &#xff08;1&#xff09;Procedure 源码如下&#xff1a; public interface Procedure {// 数据库里面储存过程的名称String value() default "";// 数据库里面储存过程的名称String procedure…

Nature 首度揭示大脑传递信息的真正逻辑

我们对于大脑的理解还停留在极为初步的阶段&#xff08;图片来源&#xff1a;Pixabay&#xff09;来源&#xff1a;生物360摘要&#xff1a;我们过去对于大脑处理信息的理解&#xff0c;其实是非常片面和不准确的。今日&#xff0c;一项重量级的研究刊登在了最新一期的《自然》…

Linux 用户 和 用户组 管理 (添加、删除、修改)及说明

From&#xff1a;http://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html 鸟哥官网 Linux 帐号管理与 ACL 权限设定&#xff1a;http://linux.vbird.org/linux_basic/0410accountmanager.php 鸟哥官网&#xff08;简体中文&#xff09;&#xff1a;http://cn.linux.…

java+long是什么_Java中long的模运算符是什么? - java

如何在Java中找到两个长数值的模(&#xff05;)&#xff1f;我的代码说“整数太大”&#xff0c;后面跟我要修改的数字。我尝试将其强制转换很长时间&#xff0c;但没有成功。我是否必须将其转换为BigInteger并使用剩下的方法&#xff1f;谢谢。参考方案%运算符确实可以工作很长…

发现一个奇怪的问题: 不能把文件取名为 con

在 XP 系统下不能建立叫 con 的文件! 不知其他朋友也是这样? 转载于:https://www.cnblogs.com/del/archive/2009/04/26/1444175.html

IBM Watson将成为失败的投资?分析师眼里, IBM AI过度乐观, 夸大宣传

来源&#xff1a;36Kr 作者&#xff1a;石筱玉IBM Watson是在医疗领域最早布局的AI之一。在36Kr此前的盘点中&#xff0c;我们也知道Watson希望参与患者诊疗中的每一个步骤&#xff1a;导医用智能音箱、Watson诊断工具、住院看护辅助&#xff0c;还有病患心理疏导……Watson已…

Spring Data JPA 从入门到精通~@NamedQueries预定义查询

这种是预定义查询的一种形式 &#xff08;1&#xff09;在 Entity 下增加 NamedQuery 定义。 public interface NamedQuery {//query的名称&#xff0c;规则&#xff1a;实体.方法名&#xff1b;String name();//具体的JPQL查询语法String query(); } 需要注意&#xff0c;这…

jsp+servlet+java 实现统计在线人数

首先&#xff1a;jsp ----------------------------index.jsp 我要现在index.jsp 写一段 JavaScript <html> <head> <script type"text/javascript"> window.onbeforeunload function() //author: meizz { var n window.event.screenX - …

linux 文件系统详解

From&#xff1a;http://soysauce93.blog.51cto.com/7589461/1715655 From&#xff1a;http://blog.csdn.net/new0801/article/details/63687127 Linux 的虚拟文件系统(强烈推荐)&#xff1a;http://blog.csdn.net/heikefangxian23/article/details/51579971 鸟哥 Linux 磁盘…

国际互联网协会(ISOC)提出未来互联网十项原则

来源&#xff1a;腾讯研究院此前&#xff0c;国际互联网协会&#xff08;Internet Society&#xff0c;简称ISOC&#xff09;发布了题为《通往数字化未来之路&#xff08;Paths to Our Digital Future&#xff09;》的报告&#xff0c;就数字化未来的道路进行了探索。ISOC认为&…

不错的html学习网址。

http://htmlplayground.com/ 转载于:https://www.cnblogs.com/techfootsprints/archive/2009/04/28/1445774.html

Spring Data JPA 从入门到精通~javax.persistence概况介绍

虽然 Spring Data JPA 已经对数据的操作封装的很好了&#xff0c;约定大于配置的思想&#xff0c;帮我们默认了很多东西。JPA&#xff08;Java 持久性 API&#xff09;是存储业务实体关联的实体的来源&#xff0c;它显示了如何定义一个面向普通 Java 对象&#xff08;POJO&…

java equals 判断空_Java 判断字符串是否为空的三种方法与性能分析

[java中判断字符串是否为数字的三种方法 1>用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i str.length();--i>0;){ if (!CharactJava 判断字符串是否为空的三种方法与性能分析Java编程过程中经常会涉及到判断空字符串的问题&#x…

Linux安装配置类似mac下的docky

百度经验&#xff1a;ubuntu安装配置类似mac下的docky 亲手打造自己的Linux桌面环境&#xff1a;http://os.51cto.com/art/201510/493896_all.htm Dock是一种图形用户界面元素&#xff0c;允许用户一键访问常用的应用程序&#xff0c;在应用程序之间快速切换&#xff0c;以及…