[問題] 初學spring boot

看板java作者 (Z)時間7年前 (2017/06/15 22:48), 編輯推噓2(2011)
留言13則, 3人參與, 最新討論串1/1
各位好 目前在自學spring boot 這是我使用的第一個framework 覺得真的很方便,一下子就可以輕易寫出一個HELLO WORLD 但在往深探索發現與DB關聯的便利性好像沒有想像中的便利 舉例來說,現在都會實作一個JPA 使用findOne、save、findByKey之類的方法 幾乎不用寫什麼SQL語法 但往往實作上真的能夠導入嗎? 像簡單的SELECT 可能我有一張TABLE 裡面有30個欄位 我可能某個功能只要取其中三個欄位,但使用findOne 便會全部撈出 跟我以往學的觀念很不一樣,盡量不用下『selct *』 而如果搭配@Query 回傳又是一個Object的陣列,裡面也沒有key value的概念 再者Spring 也幫我控制connection 但往往實作中,我可能要一個transaction中,塞四五張table 最後無誤再一起commit 或者一個method需要開兩次connection,在spring data jpa中 好像都沒有這麼便利的去控制 想請問是我學習的方向有誤嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.166.8 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1497538121.A.328.html

06/15 23:18, , 1F
@Query可以直接把結果塞到指定的類別
06/15 23:18, 1F

06/15 23:19, , 2F
放在同個method再加@Transactional就會是個transaction
06/15 23:19, 2F

06/15 23:31, , 3F
是說你覺得JPA(或是任何ORM)彈性不夠可以不要用,這不是
06/15 23:31, 3F

06/15 23:32, , 4F
spring的核心,spring只是提供當你想用時方便接上的方法
06/15 23:32, 4F

06/17 11:17, , 5F
@Query(SELECT s.n1, s.n2 FROM some s Where c:=c)
06/17 11:17, 5F

06/17 11:19, , 6F
回傳都是你所建立的Entity啊 如果你回傳很多值不就是
06/17 11:19, 6F

06/17 11:19, , 7F
List<Object>啊 然後再去操作物件啊~~~
06/17 11:19, 7F

06/17 11:21, , 8F
Spring Data Jpa 把一些常用的DB操作做了封裝 但本質還是
06/17 11:21, 8F

06/17 11:21, , 9F
Jpa所以如果想要深入了解的話,還是要去看看hibernate的
06/17 11:21, 9F

06/17 11:22, , 10F
的文件,如果覺得Jpa很彆扭,有jdbctemplate,jooq,mybaits
06/17 11:22, 10F

06/17 11:23, , 11F
等東東可以試試看
06/17 11:23, 11F

07/07 12:15, , 12F
基本方法是方便你使用 但客製化還是得自己來啊
07/07 12:15, 12F

07/07 12:16, , 13F
可以搭配Creteria api、Specification、...之類的一起服用
07/07 12:16, 13F
文章代碼(AID): #1PGfv9Ce (java)