spring data jpa的update操作


簡介

 使用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 i                is Java.lang.IllegalArgumentException: Name must not be null or empty! 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM