使用JPA中@Query 注解实现update 操作

简介: spring使用jpa进行update操作主要有两种方式:1、调用保存实体的方法1)保存一个实体:repository.save(T entity)2)保存多个实体:repository.save(Iterable entities)3)保存并立即刷新一个实体:repository.

spring使用jpa进行update操作主要有两种方式:

1、调用保存实体的方法

1)保存一个实体:repository.save(T entity)

2)保存多个实体:repository.save(Iterable<T> entities)

3)保存并立即刷新一个实体:repository.saveAndFlush(T entity)

注:若是更改,entity中必须设置了主键字段,不然不能对应上数据库中的记录,变成新增(数据库自动生成主键)或报错(数据库不自动生成主键)了

2、@Query注解,自己写JPQL语句

使用JPA中@Query 注解实现update 操作,代码如下:
@Transactional
@Modifying(clearAutomatically = true)
 @Query(value = "update StockOut sc set sc.receivedPersonId=?1,sc.receivedPerson=?2,sc.receivedDate=?3 where stockOutCode=?4")
 int receipt(Long uid,  String uname, Date createDate, String soCode);
备注:
1.更新StockOut表下一些字段, 这里使用了不是原生的sql语句,所以不要加nativeQuery = true
2.@Transactional 注解用于提交事务,若没有带上这句,会报事务异常提示。
3.@Modifying(clearAutomatically = true) 自动清除实体里保存的数据。
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
1月前
|
SQL Java 数据库连接
Mybatis的<insert>,<update>,<delete>标签用法
这篇文章详细讲解了Mybatis中<insert>, <update>, <delete>标签的使用方法,并提供了示例代码来展示如何执行数据库的增删改操作。
27 0
|
3月前
|
Java 数据库连接 应用服务中间件
MybatisPlus-标准CRUD制作,新增boolean save(T t),删除 ~ delete(int id),修改 ~ update(T t),根据id查询,T getById....
MybatisPlus-标准CRUD制作,新增boolean save(T t),删除 ~ delete(int id),修改 ~ update(T t),根据id查询,T getById....
|
6月前
|
SQL Java 关系型数据库
jdbc(insert,update,,create,以及各个类详解)
jdbc(insert,update,,create,以及各个类详解)
|
11月前
|
SQL Java 关系型数据库
h2下update set字段重复处理拦截器
h2下update set字段重复处理拦截器
65 0
[已解决]SpringDataJPA+Hibernate在执行executeUpdate()的时候报错 Executing an update/delete query
[已解决]SpringDataJPA+Hibernate在执行executeUpdate()的时候报错 Executing an update/delete query
|
SQL 关系型数据库 数据库
如何实现update select 语句
​ 这次的文章出现也是因为这样一个类似的需求,个人需要把一个30万行(后续会发文介绍常见的处理手段)的数据文件入库,同时需要将部分字段迁移到另一张表,两个表之间通过两个字段进行and匹配。
195 0
|
SQL 数据库 数据库管理
sql数据定义语句(cascade,set,null,no action的区别)
sql数据定义语句(cascade,set,null,no action的区别)
271 0
|
Java
JPA:@Modifying注解(UPDATE或者DELETE)
JPA:@Modifying注解(UPDATE或者DELETE)
874 0