作者HAUCCUHA (Z)
看板java
標題[問題] 初學spring boot
時間Thu Jun 15 22:48:38 2017
各位好
目前在自學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://webptt.com/m.aspx?n=bbs/java/M.1497538121.A.328.html
1F:→ ssccg: @Query可以直接把結果塞到指定的類別 06/15 23:18
2F:→ ssccg: 放在同個method再加@Transactional就會是個transaction 06/15 23:19
3F:→ ssccg: 是說你覺得JPA(或是任何ORM)彈性不夠可以不要用,這不是 06/15 23:31
4F:→ ssccg: spring的核心,spring只是提供當你想用時方便接上的方法 06/15 23:32
5F:推 Rougun: @Query(SELECT s.n1, s.n2 FROM some s Where c:=c) 06/17 11:17
6F:→ Rougun: 回傳都是你所建立的Entity啊 如果你回傳很多值不就是 06/17 11:19
7F:→ Rougun: List<Object>啊 然後再去操作物件啊~~~ 06/17 11:19
8F:→ Rougun: Spring Data Jpa 把一些常用的DB操作做了封裝 但本質還是 06/17 11:21
9F:→ Rougun: Jpa所以如果想要深入了解的話,還是要去看看hibernate的 06/17 11:21
10F:→ Rougun: 的文件,如果覺得Jpa很彆扭,有jdbctemplate,jooq,mybaits 06/17 11:22
11F:→ Rougun: 等東東可以試試看 06/17 11:23
12F:推 luoqr: 基本方法是方便你使用 但客製化還是得自己來啊 07/07 12:15
13F:→ luoqr: 可以搭配Creteria api、Specification、...之類的一起服用 07/07 12:16