看板 java 關於我們 聯絡資訊
各位好 目前在自學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
ssccg: @Query可以直接把結果塞到指定的類別 06/15 23:18
ssccg: 放在同個method再加@Transactional就會是個transaction 06/15 23:19
ssccg: 是說你覺得JPA(或是任何ORM)彈性不夠可以不要用,這不是 06/15 23:31
ssccg: spring的核心,spring只是提供當你想用時方便接上的方法 06/15 23:32
Rougun: @Query(SELECT s.n1, s.n2 FROM some s Where c:=c) 06/17 11:17
Rougun: 回傳都是你所建立的Entity啊 如果你回傳很多值不就是 06/17 11:19
Rougun: List<Object>啊 然後再去操作物件啊~~~ 06/17 11:19
Rougun: Spring Data Jpa 把一些常用的DB操作做了封裝 但本質還是 06/17 11:21
Rougun: Jpa所以如果想要深入了解的話,還是要去看看hibernate的 06/17 11:21
Rougun: 的文件,如果覺得Jpa很彆扭,有jdbctemplate,jooq,mybaits 06/17 11:22
Rougun: 等東東可以試試看 06/17 11:23
luoqr: 基本方法是方便你使用 但客製化還是得自己來啊 07/07 12:15
luoqr: 可以搭配Creteria api、Specification、...之類的一起服用 07/07 12:16