[DB 모르는 백엔드 탈출기 Ep.0] JPA가 다 해주는 거 아니었나요?
·
DB 모르는 백엔드 탈출기
1. 들어가며“나는 백엔드 개발자인데… DB를 잘 몰랐다.” 아니, 정확히 말하자면 “몰라도 된다”고 생각했다. Spring Boot를 쓰면 JPA가 알아서 다 해주는 줄 알았다.Entity만 잘 만들면 쿼리가 자동으로 나가고,CRUD는 그냥 되며,join도 fetch 하나면 다 해결되는 줄 알았다. …정확히 말하면그게 해결되는 건지조차 잘 몰랐다.2. 문제 발생 어느 순간부터 이상한 일들이 생기기 시작했다. ❌ 객체는 참조로 연결되어 있는데, DB에서는 join이 필요하다는 말이 이해되지 않았다.❌ @OneToMany를 썼더니 insert가 두 번 나간다는 말도 처음엔 무슨 말인지 감이 오지 않았다.❌ select 한 번 날렸을 뿐인데 콘솔에는 수십 줄의 쿼리가 쏟아졌다.❌ flush, commit, ..