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

SpringDataJpa寫原生sql遇到的問題及解決

 更新時間:2021年11月22日 11:26:34   作者:Irelia520  
這篇文章主要介紹了SpringDataJpa寫原生sql遇到的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringDataJpa寫原生sql遇到的問題

@Repository
public interface EduCourseDao extends JpaRepository<EduCourse,Long>, JpaSpecificationExecutor<EduCourse> {
    //根據(jù)課程id查詢課程的確認(rèn)信息
    @Query(value = "SELECT ec.id,ec.title,ec.price,ec.lesson_num, " +
            "ecd.description, " +
            "es1.title AS oneSubject, " +
            "es2.title AS twoSubject " +
            "FROM edu_course ec LEFT JOIN edu_course_description ecd ON ec.id=ecd.id " +
            "LEFT JOIN edu_teacher et ON ec.teacher_id=et.id " +
            "LEFT JOIN edu_subject es1 ON ec.subject_parent_id=es1.id " +
            "LEFT JOIN edu_subject es2 ON ec.subject_id=es2.id " +
            "WHERE ec.id=?1 ",nativeQuery = true)
    List< Map<String,Object>> findPublishInfoById(String id);

}

因?yàn)樯婕暗狡渌恚苑祷仡愋褪褂肔ist< Map<String,Object>> ,而不是用原先定義的vo類

每行最后的,與 " 之間要有一個空格,不然報錯。

Spring data jpa 自定義SQL語句遇到錯誤

Not supported for DML operations

今天在自定義一個Update語句時運(yùn)行遇到一個錯誤,顯示Not supported for DML operations 也就是說不支持DML操作。

我的UserRepository是繼承的PagingAndSortingRepository接口,在看了JPA的文檔之后,發(fā)現(xiàn)此接口不支持update事務(wù),所以需要在注解上添加@Modifying。

原文如下:

3.3.7. Modifying queries

All the sections above describe how to declare queries to access a given entity or collection of entities.Of course you can add custom modifying behaviour by using facilities described in Customimplementations for Spring Data repositories. As this approach is feasible for comprehensive customfunctionality, you can achieve the execution of modifying queries that actually only need parameterbinding by annotating the query method with @Modifying:

Example 45. Declaring manipulating queries

@Modifying
@Query("update User u set u.firstname = ?1 where u.lastname = ?2")
int setFixedFirstnameFor(String firstname, String lastname);
This will trigger the query annotated to the method as updating query instead of a selecting one. As theEntityManager might contain outdated entities after the execution of the modifying query, we do notautomatically clear it (see JavaDoc of EntityManager.clear() for details) since this will effectively dropall non-flushed changes still pending in the EntityManager. If you wish the EntityManager to be clearedautomatically you can set @Modifying annotation's clearAutomatically attribute to true.

以下是我的源碼:

@Modifying
@Query("update User u set u.u_name=?2,u.u_sex=?3,u.u_date = ?4,u.u_minzu = ?5,u.u_area=?6,u.u_country=?7 where u.u_id =?1")
public void updateUserById(String u_id,String u_name,String u_sex,
                               String u_date, String u_minzu,String u_area,
                               String u_country);

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

相關(guān)文章

  • java文件下載設(shè)置中文名稱的實(shí)例(response.addHeader)

    java文件下載設(shè)置中文名稱的實(shí)例(response.addHeader)

    下面小編就為大家分享一篇java文件下載設(shè)置中文名稱的實(shí)例(response.addHeader),具有很好的參考價值,希望對大家有所幫助
    2017-12-12
  • SpringBoot中使用Servlet的兩種方式小結(jié)

    SpringBoot中使用Servlet的兩種方式小結(jié)

    這篇文章主要介紹了SpringBoot中使用Servlet的兩種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java使用poi獲取不到docx表格中書簽的問題及解決

    Java使用poi獲取不到docx表格中書簽的問題及解決

    這篇文章主要介紹了Java使用poi獲取不到docx表格中書簽的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • SpringBoot項目導(dǎo)入外部jar包的詳細(xì)指南

    SpringBoot項目導(dǎo)入外部jar包的詳細(xì)指南

    在開發(fā)SpringBoot項目時,我們經(jīng)常需要引入一些外部的jar包來增強(qiáng)項目的功能,這些jar包可能不是Maven中央倉庫中的,或者我們想要使用特定版本的jar包,本文將詳細(xì)介紹如何在SpringBoot項目中導(dǎo)入外部jar包,需要的朋友可以參考下
    2024-10-10
  • RocketMQ?源碼分析Broker消息刷盤服務(wù)

    RocketMQ?源碼分析Broker消息刷盤服務(wù)

    這篇文章主要為大家介紹了RocketMQ?源碼分析Broker消息刷盤服務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • JPA?查詢原生SQL轉(zhuǎn)換VO對象方式

    JPA?查詢原生SQL轉(zhuǎn)換VO對象方式

    這篇文章主要介紹了JPA?查詢原生SQL轉(zhuǎn)換VO對象方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot integration實(shí)現(xiàn)分布式鎖的示例詳解

    SpringBoot integration實(shí)現(xiàn)分布式鎖的示例詳解

    常規(guī)項目都是采用Redission來實(shí)現(xiàn)分布式鎖,進(jìn)行分布式系統(tǒng)中資源競爭加鎖操作,偶然發(fā)現(xiàn)SpringBoot中的integration也實(shí)現(xiàn)多種載體的分布式鎖控制,下面我們就來看看具體實(shí)現(xiàn)方法吧
    2023-12-12
  • Springboot全局異常捕獲及try catch區(qū)別解析

    Springboot全局異常捕獲及try catch區(qū)別解析

    這篇文章主要介紹了Springboot全局異常捕獲及try catch區(qū)別解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • MyBatisPlus批量添加的優(yōu)化與報錯解決

    MyBatisPlus批量添加的優(yōu)化與報錯解決

    MybatisPlus是一個高效的java持久層框架,它在Mybatis的基礎(chǔ)上增加了一些便捷的功能,提供了更加易用的API,可以大幅度提高開發(fā)效率,這篇文章主要給大家介紹了關(guān)于MyBatisPlus批量添加的優(yōu)化與報錯解決的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • MyBatis中?@Mapper?和?@MapperScan?的區(qū)別與使用解析

    MyBatis中?@Mapper?和?@MapperScan?的區(qū)別與使用解析

    本文介紹了SpringBoot中MyBatis的兩個常用注解:@Mapper和@MapperScan,@Mapper用于標(biāo)記單個Mapper接口,而@MapperScan用于批量掃描指定包下的所有Mapper接口,兩者都有各自適用的場景,選擇合適的注解可以提高開發(fā)效率并使代碼更加簡潔,感興趣的朋友一起看看吧
    2025-01-01

最新評論

噶尔县| 潜江市| 贵阳市| 增城市| 永福县| 桐梓县| 沂南县| 外汇| 邮箱| 汉川市| 平顶山市| 冕宁县| 五河县| 邮箱| 贵阳市| 耿马| 阳春市| 靖边县| 安顺市| 克拉玛依市| 利津县| 尼勒克县| 宜宾县| 平乐县| 刚察县| 鹿泉市| 贵溪市| 鄂州市| 通许县| 广州市| 江山市| 黄山市| 曲沃县| 泾源县| 河源市| 清苑县| 行唐县| 桂东县| 文登市| 西城区| 富民县|