🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

워밍업 클럽 3주차 후기 BE

워밍업 클럽 3주차 후기 BE

이번 주 공부한 내용은 크게 JPA 사용법과 예제 적용으로, 과제를 통해 JPA의 숙련도를 익히는 과정을 거쳤습니다.

Entity를 활용해 어노테이션이 붙은 파일은 DB의 컬럼과 1:1로 매칭됩니다.

위와 같이 Entity를 만들고 JpaRepository를 상속받는 인터페이스와 연결하면 쿼리를 직접 String으로 작성하지 않아도 DB에 접근할 수 있습니다.

예) findAllByAgeBetween(int startAge, int endAge);

이는 SELECT * FROM user WHERE age BETWEEN ? AND ?;와 같습니다.

이처럼 카멜케이스의 각 단어가 쿼리로 변환되어 기존의 JdbcRepository 역할을 대체하는 점이 마법처럼 느껴졌습니다. 또한, 코드를 작성하는 것이 더 수월하고 효율적이라는 생각이 들었습니다.

하지만 이번 주 학습 내용이 저에게는 가장 어려웠습니다. 도메인 클래스의 정확한 용도를 알아야 했고, JPA 방식으로 변환하면서 기존의 예제 코드가 많이 대체되어 처음 강의를 볼 때는 이해가 잘 되지 않는 부분이 많았습니다. Entity 클래스를 만들고 repository 인터페이스를 통해 함수를 만드는 것이 상당히 생소하게 느껴졌습니다.

그러나 과제를 수행하며 JPA를 적용하고 요구사항을 추가해가면서 자연스럽게 이해할 수 있었습니다.

다만, 과제를 만드는 과정에서 카멜케이스로 만든 클래스명과 컬럼명이 Entity 클래스와 매칭될 때 스네이크 케이스로 인식되어 오류가 발생하거나, yml 파일에서 컬럼명을 만들 때 컬럼명이 스네이크 케이스로 만들어져 업데이트되는 문제 때문에 반나절을 허비한 것이 개인적으로 아쉬웠습니다.

드디어 JPA를 사용할 수 있게 되면서, Jdbc로 만들었던 코드를 JPA로 바꾸는 과정을 통해 나도 서버를 만들 수 있다는 자신감을 가질 수 있었습니다.

댓글을 작성해보세요.

채널톡 아이콘