首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用JPA中@Query 注解实现update 操作

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

作者头像
hbbliyong
发布2018-03-06 12:45:23
发布2018-03-06 12:45:23
2.7K0
举报
文章被收录于专栏:hbbliyonghbbliyong

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 操作,代码如下:

代码语言:javascript
复制
@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) 自动清除实体里保存的数据。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • spring使用jpa进行update操作主要有两种方式:
    • 1、调用保存实体的方法
    • 2、@Query注解,自己写JPQL语句
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档