使用JPA中@Query 注解实现update 操作
2017-08-30 13:46
543 查看
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) 自动清除实体里保存的数据。
相关文章推荐
- 使用JPA中@Query 注解实现update 操作
- 使用JPA中@Query 注解实现update 操作
- 使用JPA中@Query 注解实现update 操作
- 使用JPA中@Query 注解实现update 操作方法(必看)
- Hibernate中JPA的简单使用,实现简单的对表的增删改查操作
- JavaBean 实现Mysql数据库操作(Query、Insert、Delete、Update)
- 关于使用JPA中@Query注解传递表名/视图名参数的问题
- 使用 hibernate SQLQuery 实现动态表 操作
- 使用MyBatis对表执行CRUD操作——基于注解的实现
- SpringData JPA @query注解使用原生代码报错问题
- SpringBoot使用Spring-Data-Jpa实现CRUD操作
- spring使用jpa进行update操作
- 两种使用Spring JdbcTemplate实现update或insert操作
- 关于Jpa使用Update方法进行更新操作,却没有同步到数据库的原因
- MyBatis第二讲学习笔记 ,使用MyBatis对表执行增删改查操作——基于注解的实现
- jpa学习5--spring data jpa 中的JpaRepository 使用 @Query 注解
- JavaBean 实现Mysql数据库操作(Query、Insert、Delete、Update)
- 数据库表的自增ID createDate和updateDate 用JPA注解代替触发器实现
- 使用MyBatis对表执行增删改查操作——基于注解的实现
- SpringData 学习(4)—— 使用 @Query 注解实现查询