[問題] 初學spring boot

作者: HAUCCUHA (最強酸民)   2017-06-15 22:48:38
各位好
目前在自學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中
好像都沒有這麼便利的去控制
想請問是我學習的方向有誤嗎?
作者: ssccg (23)   2017-06-15 23:18:00
@Query可以直接把結果塞到指定的類別[email protected]是說你覺得JPA(或是任何ORM)彈性不夠可以不要用,這不是spring的核心,spring只是提供當你想用時方便接上的方法
作者: Rougun (Rougun)   2017-06-17 11:17:00
@Query(SELECT s.n1, s.n2 FROM some s Where c:=c)回傳都是你所建立的Entity啊 如果你回傳很多值不就是List<Object>啊 然後再去操作物件啊~~~Spring Data Jpa 把一些常用的DB操作做了封裝 但本質還是Jpa所以如果想要深入了解的話,還是要去看看hibernate的的文件,如果覺得Jpa很彆扭,有jdbctemplate,jooq,mybaits等東東可以試試看
作者: luoqr (.....)   2017-07-07 12:15:00
基本方法是方便你使用 但客製化還是得自己來啊可以搭配Creteria api、Specification、...之類的一起服用

Links booklink

Contact Us: admin [ a t ] ucptt.com