spring使用jpa进行update操作
2017-05-13 12:10
477 查看
spring使用jpa进行update操作主要有两种方式:
1、调用保存实体的方法
1)保存一个实体:repository.save(T entity)
2)保存多个实体:repository.save(Iterable<T> entities)
3)保存并立即刷新一个实体:repository.saveAndFlush(T entity)
注:若是更改,entity中必须设置了主键字段,不然不能对应上数据库中的记录,变成新增(数据库自动生成主键)或报错(数据库不自动生成主键)了
2、@Query注解,自己写JPQL语句
例:
@Modifying
@Query("update ShopCoupon sc set sc.deleted = true where sc.id in :ids")
public void deleteByIds(@Param(value = "ids") List<String> ids);
注:
1)update或delete时必须使用@Modifying对方法进行注解,才能使得ORM知道现在要执行的是写操作
2)有时候不加@Param注解参数,可能会报如下异常:
org.springframework.dao.InvalidDataAccessApiUsageException: Name must not be null or empty!; nested exception is java.lang.IllegalArgumentException: Name must not be null or empty!
3)当使用集合作为条件时,可参考此处的ids
1、调用保存实体的方法
1)保存一个实体:repository.save(T entity)
2)保存多个实体:repository.save(Iterable<T> entities)
3)保存并立即刷新一个实体:repository.saveAndFlush(T entity)
注:若是更改,entity中必须设置了主键字段,不然不能对应上数据库中的记录,变成新增(数据库自动生成主键)或报错(数据库不自动生成主键)了
2、@Query注解,自己写JPQL语句
例:
@Modifying
@Query("update ShopCoupon sc set sc.deleted = true where sc.id in :ids")
public void deleteByIds(@Param(value = "ids") List<String> ids);
注:
1)update或delete时必须使用@Modifying对方法进行注解,才能使得ORM知道现在要执行的是写操作
2)有时候不加@Param注解参数,可能会报如下异常:
org.springframework.dao.InvalidDataAccessApiUsageException: Name must not be null or empty!; nested exception is java.lang.IllegalArgumentException: Name must not be null or empty!
3)当使用集合作为条件时,可参考此处的ids
相关文章推荐
- spring使用jpa进行update/delete操作
- Springboot 之 使用JPA进行分页操作
- 关于Jpa使用Update方法进行更新操作,却没有同步到数据库的原因
- SpringBoot中连接MYSQL数据库,并使用JPA进行数据库的相关操作
- 使用spring-data-jpa的JpaRepository来进行类的db操作(配置)
- SpringBoot中连接MYSQL数据库,并使用JPA进行数据库的相关操作
- spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误
- Spring中使用HibernateTemplate来进行数据库操作
- Spring中使用HibernateDaoSupport来进行数据库的操作
- JPA学习笔记---JPA数据的操作:增加,删除,修改,获取,使用JPQL进行查询
- day03-spring与数据库操作的框架解析即dataSource的获取(JDBC)、使用spring中已经有的事务进行JDBC操作
- 使用spring-data-redis进行对redis的操作,封装的一些操作方法
- Oracle中用一条SQL语句直接进行Insert/Update的操作--merge into的使用
- 给Java开发者的Play Framework(2.4)介绍 Part2:使用Play,Spring,JPA进行开发
- Spring的JdbcTemplate使用update或insert操作的三种使用例子
- 通过Spring使用JPA进行数据访问
- spring data jpa使用懒操作
- C#使用Tableadapter进行update,Insert的操作
- Spring中使用getSession()与通过HibernateTemplate进行数据操作的差别
- SpringBoot使用JPA操作数据库