JPA
JPA란?
희구
2021. 7. 28. 16:42
과거에는 객체를 데이터베이스에 저장하려면 복잡하고 긴 코드를 한땀 한땀 작성해야했다.
후에 JdbcTemplate이나 Mybatis같은 SQL맵퍼가 등장해서 개발 코드는 많이 줄었지만 개발자가 sql은 직접 작성해야 했다.
JPA를 사용하면 sql조차도 직접 작성하지 않아도 된다.
JPA가 개발자 대신 적절한 sql을 생성하고 그것을 데이터베이스에 넣어서 객체를 저장하거나 불러오게 된다.
마치 자바컬렉션이 객체를 저장하고 조회하는 것 처럼 단순하게 JPA를 이용하면 된다는 것이다.
JPA가 실무에서 사용하기 어려운 이유!
- 처음 JPA나 스프링 데이터 JPA를 만나면?
- SQL 자동화, 수십줄의 코드가 한 두 줄로!
- 실무에 바로 도입하면?
-> 객체와 테이블을 올바르게 매칭하고 설계하는 방법을 모른다.
JPA에서 가장 중요 한 것은 객체와 테이블을 정확하게 매칭하고 설계하는 것이다
테이블이 한두개 있는 예제와 수십개가 있는 실무는 다르기 때문에 어렵다.
JPA 적용 사례
- 우아한형제들, 쿠팡, 카카오, 네이버 드읃ㅇ
- 조 단위의 거래금액이 발생하는 다양한 서비스에서 사용, 검증
- 최신 스프링 예제는 JPA기본 적용
- 자바 개발자에게 JPA는 기본 기술
- 토비의 스프링 이일민님도 JPA는 기본 적용