01. 강좌 소개

김성수·2023년 1월 22일
0

⚡ 생각대로 살지 않으면 사는대로 생각한다.
⚡ 나는 어차피 잘 될 놈이다. 이미 잘 되고 있고, 계속해서 잘 되고 있다.


JPA(Java Persistence API)

과거에는 객체를 데이터베이스에 저장하려면, 복잡한 JDBC API와 SQL을 직접 작성해야만 했었다.

그리고,

JdbcTemplate이나, MyBatis같은 SQL매퍼가 등장해서 개발코드는 많이 줄었다. 하지만 여전히 SQL문은 직접 짜야했었다.

그러나,

JPA가 나오면서 SQL문을 개발자가 직접 작성할 필요가 없게 되었다.

JPA를 사용하게 되면, 개발자가 코드를 작성할 때, JPA가 개발자 대신에 적절한 SQL을 생성하고, DB에 실행을 하여 데이터를 불러오거나, 조회를 할 수 있게 되었다.

JPA를 사용하면 생산성, 유지보수성 측면에서 SQL을 직접 작성하는 방법과는 확연히 차이가 난다.

그러나 JPA를 실무에서 바로 사용하는 게 만만치 않다.
코드 한 두줄만, 추가하면 다 되는 거 같지만 그렇지않다..

  • 예제들은 보통 테이블이 한 두개로 단순함
  • 실무는 수십개 이상의 복잡한 객체와 테이블 사용

왜 실무에서 바로 사용하지 못 할까?

1. 객체와 테이블을 올바르게 매핑하고 설계하는 방법을 모르기 때문이다.

  • 실무는 테이블이 한 두개가 아니다. 못 해도 수십, 수백개 이상의 테이블이 복잡하게 얽혀있다.

강의 목표 1. 객체와 테이블 설계 매핑

  • 객체와 테이블을 제대로 설계하고 매핑하는 방법
  • 기본 키와 외래 키 매핑
  • 1:N, N:1, 1:1 N:M매핑
  • 실무 노하우 + 성능까지 고려
  • 어떠한 복잡한 시스템도 JPA로 설계 가능

객체와 테이블을 올바르게 매핑하고 설계하는 방법을 모르는 부분으로 인해서, 위와 같은 강의 목표를 설정했다고 한다.

2. JPA의 내부 동작 방식을 이해하지 못 했기 때문이다.

  • 내부 동작 방식을 이해하지 못 해서 JPA가 잘 안 된다고, 그리고 삽질하는 여러 개발자분들을 봤다고 한다.

강의 목표 2. JPA 내부 동작 방식 이해

  • JPA의 내부 동작 방식을 이해하지 못하고 사용
  • JPA 내부 동작 방식을 그림과 코드로 자세히 설명
  • JPA가 어떤 SQL을 만들어 내는지 이해(중요)
  • JPA가 언제 SQL을 실행하는지 이해(중요)

내부 동작 방식을 이해하지 못 했기 때문에, 위와 같은 강의목표를 설정했다고 했다.
그리고 끝에 (중요)라고 되어있는 부분은 직접 중요하다고 언급한 부분이다..
(내 입장에선 다 궁금하다..ㅎ)


-끝-

profile
쌩수 Git >> https://github.com/SsangSoo?tab=repositories

0개의 댓글