使用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) 自动清除实体里保存的数据。
目录
相关文章
|
4月前
|
Java 数据库连接
Hibernate query.list()
在Hibernate中,用hql语句查询实体类,采用List方法的返回结果为一个List,该List中封装的对象分为以下三种情况。
|
4月前
|
SQL Java 关系型数据库
h2下update set字段重复处理拦截器
h2下update set字段重复处理拦截器
20 0
|
7月前
|
SQL Java
[已解决]SpringDataJPA+Hibernate在执行executeUpdate()的时候报错 Executing an update/delete query
[已解决]SpringDataJPA+Hibernate在执行executeUpdate()的时候报错 Executing an update/delete query
|
11月前
|
SQL 数据库 数据库管理
sql数据定义语句(cascade,set,null,no action的区别)
sql数据定义语句(cascade,set,null,no action的区别)
221 0
|
开发者 Python
Update 方法的使用 | 学习笔记
快速学习 Update 方法的使用
100 0
|
Java
JPA:@Modifying注解(UPDATE或者DELETE)
JPA:@Modifying注解(UPDATE或者DELETE)
737 0
|
SQL Java Spring
spring data jpa @Query注解中delete语句报错
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81666533 spr...
1824 0
JPA 执行update/delete query 需要加上事务
Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.
2446 0