最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot-JPA刪除不成功,只執(zhí)行了查詢語(yǔ)句問(wèn)題

 更新時(shí)間:2021年12月03日 11:31:10   作者:青梅竹馬丨兩小無(wú)猜  
這篇文章主要介紹了SpringBoot-JPA刪除不成功,只執(zhí)行了查詢語(yǔ)句問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot-JPA刪除不成功,只執(zhí)行了查詢語(yǔ)句

今天使用JPA自定義了一個(gè)刪除方法deleteByUserIdAndCommentId發(fā)現(xiàn)并沒(méi)有刪除掉對(duì)應(yīng)的數(shù)據(jù),只執(zhí)行了查詢語(yǔ)句

Hibernate: select good0_.id as id1_6_, good0_.commentId as commenti2_6_, good0_.userId as userid3_6_ from tbl_good good0_ where good0_.userId=? and good0_.commentId=?

解決方法

在刪除方法前加注解@Transactional即可

再次執(zhí)行時(shí)會(huì)正常執(zhí)行

Hibernate: select good0_.id as id1_6_, good0_.commentId as commenti2_6_, good0_.userId as userid3_6_ from tbl_good good0_ where good0_.userId=? and good0_.commentId=?
Hibernate: delete from tbl_good where id=?
Hibernate: select comment0_.id as id1_3_0_, comment0_.articleId as articlei2_3_0_, comment0_.ccomment as ccomment3_3_0_, comment0_.goodNum as goodnum4_3_0_, comment0_.userId as userid5_3_0_, comment0_.userType as usertype6_3_0_ from tbl_comment comment0_ where comment0_.id=?

JPA中使用delete踩坑記錄

今天寫(xiě)新模塊的一個(gè)刪除功能,測(cè)試的時(shí)候出了幾個(gè)問(wèn)題。

原代碼:

@Query("delete from PrivateMessageEntity ae " +
       "where ((ae.sendId=?1 and ae.receiveId=?2)or(ae.sendId=?2 and ae.receiveId=?1)) " +
       "and ae.deleted=?3")
    int deleteDetailPrivateLetterList(Long sendId, Long receiveId, Boolean deleted);

測(cè)試時(shí)報(bào)錯(cuò),大概是sql有問(wèn)題

于是乎我把該hql語(yǔ)句轉(zhuǎn)成sql語(yǔ)句去navicat上執(zhí)行了一遍,報(bào)錯(cuò)顯示sql語(yǔ)法有誤。

根據(jù)指示的錯(cuò)誤起始位置,懷疑是別名問(wèn)題,查了一下,sql的delete在使用別名時(shí) 在 delete 與from 之間的表別名不可省略

正確sql如下:

delete a.* from tb_table a   
where a.id=1;

修改之后的代碼如下:

    @Query(value = "delete ae.* from tb_zone_private_message ae " +
            "where ((ae.sendId=?1 and ae.receiveId=?2)or(ae.sendId=?2 and ae.receiveId=?1)) " +
            "and ae.deleted=?3",nativeQuery = true)
    int deleteDetailPrivateLetterList(Long sendId, Long receiveId, Boolean deleted);

這下看起來(lái)沒(méi)問(wèn)題了,測(cè)試了一遍又報(bào)錯(cuò)了。

復(fù)制報(bào)錯(cuò)信息又去查了一下,發(fā)現(xiàn)對(duì)于執(zhí)行update和delete語(yǔ)句需要添加@Modifying注解。

修改后代碼如下:

    @Modifying
    @Query(value = "delete ae.* from tb_zone_private_message ae " +
            "where ((ae.sendId=?1 and ae.receiveId=?2)or(ae.sendId=?2 and ae.receiveId=?1)) " +
            "and ae.deleted=?3",nativeQuery = true)
    @Transactional
    int deleteDetailPrivateLetterList(Long sendId, Long receiveId, Boolean deleted);

測(cè)試一遍,刪除成功。

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

相關(guān)文章

  • java實(shí)現(xiàn)2048小游戲

    java實(shí)現(xiàn)2048小游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)2048小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • springboot啟動(dòng)不了也不報(bào)錯(cuò)的問(wèn)題及解決

    springboot啟動(dòng)不了也不報(bào)錯(cuò)的問(wèn)題及解決

    這篇文章主要介紹了springboot啟動(dòng)不了也不報(bào)錯(cuò)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • SpringMVC解析JSON請(qǐng)求數(shù)據(jù)問(wèn)題解析

    SpringMVC解析JSON請(qǐng)求數(shù)據(jù)問(wèn)題解析

    這篇文章主要介紹了SpringMVC解析JSON請(qǐng)求數(shù)據(jù)問(wèn)題解析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • java 增強(qiáng)型for循環(huán)語(yǔ)法詳解

    java 增強(qiáng)型for循環(huán)語(yǔ)法詳解

    增強(qiáng)型 for 循環(huán)(也稱為 “for-each” 循環(huán))是 Java 從 JDK 5 開(kāi)始引入的一種便捷循環(huán)語(yǔ)法,旨在簡(jiǎn)化對(duì)數(shù)組或集合類的迭代操作,這篇文章主要介紹了java 增強(qiáng)型for循環(huán) 詳解,需要的朋友可以參考下
    2025-04-04
  • java中MVC模式與三層架構(gòu)

    java中MVC模式與三層架構(gòu)

    這篇文章主要讓我們理解MVC模式和三層架構(gòu)的基礎(chǔ)知識(shí),有興趣的同學(xué)可以閱讀,借鑒參考一下
    2023-03-03
  • Java實(shí)現(xiàn)線程同步方法及原理詳解

    Java實(shí)現(xiàn)線程同步方法及原理詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)線程同步方法及原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 使用Nacos作為配置中心的命名空間、配置分組

    使用Nacos作為配置中心的命名空間、配置分組

    文章詳細(xì)介紹了Spring Cloud Config配置中心的命名空間、配置集、配置集ID、配置分組以及如何在微服務(wù)中加載和使用這些配置,通過(guò)配置中心,可以實(shí)現(xiàn)配置隔離和集中管理,簡(jiǎn)化微服務(wù)的配置維護(hù)
    2024-12-12
  • 總結(jié)Java常用的時(shí)間相關(guān)轉(zhuǎn)化

    總結(jié)Java常用的時(shí)間相關(guān)轉(zhuǎn)化

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java常用的時(shí)間相關(guān)轉(zhuǎn)化展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • java 通過(guò)cmd 調(diào)用命令啟動(dòng)tomcat的操作

    java 通過(guò)cmd 調(diào)用命令啟動(dòng)tomcat的操作

    這篇文章主要介紹了java 通過(guò)cmd 調(diào)用命令啟動(dòng)tomcat的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • springboot配置Hikari連接池方式

    springboot配置Hikari連接池方式

    本文介紹了在Springboot中配置Hikari連接池的具體參數(shù)和設(shè)置,涵蓋了autoCommit, connectionTimeout, idleTimeout, maxLifetime, minimumIdle, maximumPoolSize等關(guān)鍵配置項(xiàng),并提供了它們的默認(rèn)值、描述和條件下的重置規(guī)則
    2024-09-09

最新評(píng)論

达尔| 乡宁县| 顺昌县| 京山县| 吕梁市| 蓬溪县| 嘉兴市| 汕头市| 西畴县| 麦盖提县| 德清县| 新丰县| 荣昌县| 湘西| 新营市| 陇西县| 图们市| 九台市| 张家口市| 阿城市| 治县。| 鄢陵县| 古丈县| 全南县| 正镶白旗| 普洱| 梁河县| 隆回县| 虞城县| 奉新县| 棋牌| 万宁市| 马鞍山市| 额尔古纳市| 高雄市| 禹州市| 肃北| 麻阳| 新晃| 盐山县| 灵山县|