隨筆-95  評論-31  文章-10  trackbacks-0
          spring data jpa也知道自己復雜查詢應付不了,所以給了nativeQuery=true的方式,也就是原生sql查詢

          問題:
          1:如果用jpql方式查詢并且@Query的查詢語句只查詢某幾個屬性字段
               eg:  select u.userName,u.password,u.email from UserInfo u  如果是這種方式,那么返回值就是List<Object[]>,而不是List<UserInfo> 
               eg:  select u from UserInfo u  如果是這種方式,那么返回值就是List<UserInfo>
               
               so 很藍瘦香菇!!~

          所以復雜查詢,就使用nativeQuery=true,直接寫原生sql,并且返回值能直接映射成List<UserInfo> 而不是List<Object[]>

          2:數據分組并獲取每組最新時間的那條記錄,思路:
             1) 首先select *,max(createTime) from A  group by name,(這個時候name已經做了分組,同時攜帶最新時間,剩下要做的就是級聯查詢,讓時間等于最新時間,name等于不同組的name)  
             2) 其次select a.* from A  a inner join  (select *,max(createTime)  i_createTime from A  group by name) result  where  a.name=result.name  and a.createTime=result.i_createTime 
             3) 完成分組查詢!

          將以上sql粘帖到@Query(value="",nativeQuery=true)里面,返回值就能正常返回List<泛型>
          posted on 2017-11-17 00:50 朔望魔刃 閱讀(1113) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 遂平县| 徐州市| 蓬溪县| 进贤县| 岗巴县| 白河县| 河北区| 屏东市| 哈巴河县| 虎林市| 桃园市| 红河县| 德兴市| 林西县| 荆州市| 扎鲁特旗| 巫溪县| 铁岭市| 兴安县| 盐山县| 荆州市| 青铜峡市| 新昌县| 阳信县| 游戏| 浮山县| 沅江市| 镇安县| 平罗县| 呼和浩特市| 南开区| 白沙| 邯郸市| 正蓝旗| 任丘市| 民丰县| 庄河市| 麻江县| 确山县| 普兰店市| 昌黎县|