인프런 커뮤니티 질문&답변

다뮤 (탈퇴)님의 프로필 이미지
다뮤 (탈퇴)

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

JPA

JPA가 Mybatis를 완벽히 대체 가능한가요?

작성

·

897

2

주니어 개발자로 현재 SI업체에서 근무하고 있는데, 개발시 Mybatis를 사용합니다. 

강의를 듣고 간단하게 JPA를 적용해서 샘플 프로젝트정도를 만들어 보았는데 개인적으로는 매우 마음에 들어서 프로젝트에도 한번 써보고 싶어서 사수에게 건의 하였으나 JPA는 간단한 CRUD에는 좋은데 실제 프로젝트에서는 통계등을 조회해야하는데 매우 많은 조인들이 들어가고 sql 쿼리만 수백줄이 되는데, 이런걸 JPA가 대체하기 어렵다. 라는 답변을 받아서 문의 드립니다. 

근데 생각해보면 좀 이상한게 해외에서는 JPA가 더 많이 사용된다는데 해외에는 차트같은게 없나..? 싶은 생각이 들더라구요. 그래서 JPA가 mybatis를 완벽히 대체가 가능한건지, 아니면 둘을 병행해서 써야 하는건지 궁금합니다.

답변 1

11

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 다뮤님

JPA를 공부해보시면 어떤 부분까지 가능하고 어떤 부분에서 한계가 있는지 이해하실 수 있을거에요.

처음 JPA 구현체를 만든 게빈킹도 100% SQL을 모두 대체하려고 만들지는 않았습니다.

JPA를 실무에서 사용하더라도 약 5% ~ 10% 정도의 쿼리는 SQL을 사용해야 합니다.

저의 경우에도 매우 복잡한 쿼리는 SQL을 직접 사용하기도 합니다. 특히 통계성 쿼리의 경우 그렇습니다.

JPA를 사용하는 프로젝트들은 JPA를 기본으로 하고 JPA로 할 수 없는 상황에 SQL을 가끔 함께 사용하는 것으로 이해하시면 됩니다.

감사합니다.

다뮤 (탈퇴)님의 프로필 이미지
다뮤 (탈퇴)

작성한 질문수

질문하기