亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring data jpa @Query update的坑及解決

 更新時間:2022年02月24日 10:36:25   作者:某Zz  
這篇文章主要介紹了Spring data jpa @Query update的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring data jpa @Query update的坑

jpa默認(rèn)只有save(Entity)方法,如果數(shù)據(jù)庫中沒有記錄就新增,如果數(shù)據(jù)庫中有記錄就更新記錄。

如果要手動添加update(Entity)方法,

可以參考這個例子

?@Modifying
?@Query(value = "UPDATE SmallFileEntity s SET s.length = '#{entity.getLength()}' , s.modificationTime = '#{entity.getModificationTime()}', s.accessTime = '#{entity.getAccessTime()}' WHERE s.autoId = '#{entity.getAutoId()}' ", nativeQuery = false)
?void updateLengthAndModificationTimeAndAccessTime(SmallFileEntity entity);

上例的重點是將EL表達式用單括號括起來。

EL表達式中是可以書寫java語句的,在@Query注解中,EL表達式可以取到參數(shù)列表中的對象。

實在不行的話,就nativeQuery = true。

Spring data jpa的update操作

使用jpa進行update操作主要有兩種方式:

1、調(diào)用保存實體的方法

1)保存一個實體:repository.save(T entity)

2)保存多個實體:repository.save(Iterable<T> entities)

3)保存并立即刷新一個實體:repository.saveAndFlush(T entity)

注:若是更改,entity中必須設(shè)置了主鍵字段,不然不能對應(yīng)上數(shù)據(jù)庫中的記錄,變成新增(數(shù)據(jù)庫自動生成主鍵)或報錯(數(shù)據(jù)庫不自動生成主鍵)了

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知道現(xiàn)在要執(zhí)行的是寫操作

2)有時候不加@Param注解參數(shù),可能會報如下異常:

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! 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • log4j2 RollingRandomAccessFile配置過程

    log4j2 RollingRandomAccessFile配置過程

    這篇文章主要介紹了log4j2 RollingRandomAccessFile配置過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 詳解Spring緩存注解@Cacheable,@CachePut , @CacheEvict使用

    詳解Spring緩存注解@Cacheable,@CachePut , @CacheEvict使用

    這篇文章主要介紹了詳解Spring緩存注解@Cacheable,@CachePut , @CacheEvict使用,非常具有實用價值,需要的朋友可以參考下
    2017-05-05
  • SpringBoot中@RestControllerAdvice @ExceptionHandler異常統(tǒng)一處理類失效原因分析

    SpringBoot中@RestControllerAdvice @ExceptionHandler異常統(tǒng)一處

    這篇文章主要介紹了SpringBoot中@RestControllerAdvice @ExceptionHandler異常統(tǒng)一處理類失效原因,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Jackson反序列化@JsonFormat 不生效的解決方案

    Jackson反序列化@JsonFormat 不生效的解決方案

    這篇文章主要介紹了Jackson反序列化@JsonFormat 不生效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • MyBatis-plus 模糊查詢的使用

    MyBatis-plus 模糊查詢的使用

    這篇文章主要介紹了MyBatis-plus 模糊查詢的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java幾個重要的關(guān)鍵字詳析

    Java幾個重要的關(guān)鍵字詳析

    這篇文章主要介紹了Java幾個重要的關(guān)鍵字詳析,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考一下,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-07-07
  • Mybatis學(xué)習(xí)筆記之動態(tài)SQL揭秘

    Mybatis學(xué)習(xí)筆記之動態(tài)SQL揭秘

    這篇文章主要給大家介紹了關(guān)于Mybatis學(xué)習(xí)筆記之動態(tài)SQL的相關(guān)資料,小編覺得挺不錯的,對大家學(xué)習(xí)或者使用Mybatis會有一定的幫助,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Springboot中的@ComponentScan注解使用解析

    Springboot中的@ComponentScan注解使用解析

    這篇文章主要介紹了Springboot中的@ComponentScan注解使用解析,@ComponentScan用于類或接口上主要是指定掃描路徑,spring會把指定路徑下帶有指定注解的類注冊到IOC容器中,需要的朋友可以參考下
    2024-01-01
  • jsp、struts、spring、mybatis實現(xiàn)前端頁面功能模塊化拆分的方案

    jsp、struts、spring、mybatis實現(xiàn)前端頁面功能模塊化拆分的方案

    這篇文章主要介紹了 jsp、struts、spring、mybatis實現(xiàn)前端頁面功能模塊化拆分的方案,非常不錯,需要的朋友參考下
    2017-01-01
  • java調(diào)用Oracle存儲過程的方法實例

    java調(diào)用Oracle存儲過程的方法實例

    這篇文章介紹了java調(diào)用Oracle存儲過程的方法實例,有需要的朋友可以參考一下
    2013-09-09

最新評論