亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringJPA repository nativeQuery如何自定義返回對象Projection

發布時間:2021-10-19 18:02:25 來源:億速云 閱讀:199 作者:柒染 欄目:大數據

SpringJPA repository nativeQuery如何自定義返回對象Projection ,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Spring JPA 封裝的一套CRUD的操作大大簡化了開發流程,提高了開發效率。但是不免會有一些特殊查詢,需要自己寫sql,返回自定義字段,需要用自定義的對象接收,有什么好的方法呢?

 通過網上查詢大多數其他人的解決方案,找到了官網對應的文檔:https://www.baeldung.com/spring-data-jpa-projections

簡單的來說就是 在repository 里邊自定義的方法 ,在需要用自定義對象接收時,需要接收對象問interface 類型,并且 里邊定義了所需要接收字段的get方法,比如需要接收name字段,需要定義 String getName(); 

@Repository
public interface ItemRepository extends JpaRepository<Item, Integer>{

    /**
     * 批量查詢用戶時間段內 總分
     */
    @Query(nativeQuery = true, value = "select user_info_id userId, sum(score_val) score FROM tb_item where is_del = 0 and `status` = 1 and user_info_id in (:userIds) and end_date BETWEEN :startDate and :endDate GROUP BY user_info_id")
    List<ItemProjection> sumUserScore(@Param("userIds") List<Integer> userIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
}

//自定義的接收對象
//ItemProjection:
public interface ItemProjection {
    Integer getUserId();
    BigDecimal getScore();
}

非常的清晰明了,這是網絡上最常用的,也是比較簡單的一種解決方案

當然了還有一種我自己的解決方案(至少我沒從網上搜到~_~)

就是自定義converter ,想使用什么接收就使用什么接收!因為這個方案是在 連一個interface都不想建的“懶惰”的程序員的吐槽下剛誕生不久,就不在這里說了。

關于SpringJPA repository nativeQuery如何自定義返回對象Projection 問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

搜索| 安龙县| 梓潼县| 阳山县| 潞西市| 延川县| 仲巴县| 黑水县| 南部县| 宜城市| 灵璧县| 襄垣县| 东兰县| 通化市| 余庆县| 巴彦县| 华蓥市| 同江市| 百色市| 肇东市| 凤山县| 临夏市| 陵川县| 长兴县| 宝兴县| 黄陵县| 房产| 伊金霍洛旗| 故城县| 泰安市| 沅陵县| 民乐县| 乌鲁木齐市| 金川县| 鄂州市| 古田县| 常州市| 化隆| 军事| 卢氏县| 怀仁县|