corin
70
2021-11-14 15:27:28
5
976

백엔드 스프링부트 + JPA 독학 질문드립니다


백엔드 독학을 위해 강의를 찾아봤습니다. 네이버 부스트캠프 백엔드강좌랑 유튜브 강의 둘 중에 하나로 들을 생각인데요. 

그런데 네이버는 스프링부트만 있고 유튜브 강좌는 스프링부트에 JPA를 같이 가르치는 것 같더라고요.

초심자한테는 JPA가 많이 어려울 수 있다고 해서 어떤 강의를 들을지 고민입니다. 현업에서 많이 사용된다면 JPA도 공부할 생각이 있는데 또 다른 곳에서 들어보니까 숙련도 때문인지 JPA는 스타트업 아니면 별로 사용을 안한다고 해서요...


긴 글 읽어주셔서 감사합니다. 


 

0
  • 댓글 5

  • WCODE
    208
    2021-11-14 16:48:51

    JPA 인강은 인프런에 김영한님꺼 보시면 되고,

    책도 JPA 김영한님의 "자바 ORM 표준 JPA 프로그래밍" 책 보시면 됩니다.

    책이 출간된지 꽤 되긴했는데 지금도 국내 서적중에 JPA 책 추천해달라고 하면 이 책만이 거론됩니다.

    간단한 CRUD 만드는데 JPA 쓰면 엄청나게 생산성이 높습니다.

    좀 복잡하게 사용하는부분에서는 오히려 mybatis가 더 나을수도 있어요.

    JPA는 개념이 안잡혀있으면 Join 하는것부터 꼬이거나 N+1 문제 등 처리해줘야 할 부분이 꽤 있습니다.

    복잡한 부분은 또 QueryDSL을 사용해야하는데 그 부분이 러닝커브가 꽤 높은걸로 알고 있습니다.

    JPA 사용하면 페이징 처리하는부분도 엄청 간단하게 처리(그냥 페이지번호랑 한 페이지에 몇개의 컨텐츠

    를 뿌려지는지만 파라미터로 넘겨주면 알아서 페이징 처리된 Json 데이터를 넘겨줌)되고, 꽤나 장점이 많

    습니다. 배워놓고 쓸모없단 소리는 안나올 기술이에요.


  • 건빵즙
    188
    2021-11-14 17:39:55
    입문이시면 JPA보다는 SQL 위주로 먼저 공부하시고, JPA를 보시는 것을 추천해요. 결국 JPA가 자동으로 쿼리를 생성해주는 것이니, 생성된 쿼리를 이해할 수 있어야 하고, 그렇다면 더 JPA를 효과적으로 사용할 수 있으실거에요.
  • 제타건담
    8k
    2021-11-14 18:22:10

    JPA 의 경우 SQL 관련 프로그래밍에 대한 이해가 없으면 어렵습니다..SQL Mapper 기반인 mybatis 를 이용한 공부를 먼저 진행하세요..앞으로는 점점 바뀌어는 가겠지만 현재는 JPA를 이용하는 프로젝트가 많지는 않습니다..대신 mybatis가 많죠..이거 먼저 알아두시고 JPA 넘어가시는걸 추천합니다..

  • 장독깨기
    4k
    2021-11-14 18:47:26

    저도 sql 을 먼저 하는 걸 추천합니다.

    데이터베이스를 어느 정도 이해하고 난 후에 JPA 하더라도 충분하고 더 잘 이해할 수 있을 겁니다.

    JPA 먼저 하면 엉뚱한 곳에서 헤맬수 있습니다.

  • corin
    70
    2021-11-15 16:15:07

    답변 감사합니다! 

  • 로그인을 하시면 댓글을 등록할 수 있습니다.