spring boot

Java

JPA LAZY 로딩 완벽 정리 – 왜 써야 하고, 언제 터지는지, 실무에서 안전하게 쓰는 방법

JPA를 공부하다 보면 반드시 마주치는 개념이 있다.바로 LAZY 로딩이다. 처음에는 단순히“지연 로딩? 나중에 가져오는 건가?”정도로 이해하고 넘어가기 쉽다. 그런데 실무에서는 이거 하나 때문에성능이 10배 이상 차이 나기도 하고장애까지 이어지는 경우도 많다. 그래서 이번 글에서는개념 → 동작 원리 → 실무 문제 → 해결 방법까지한 번에 정리해보려고 한다. 1. LAZY 로딩이란 무엇인가LAZY 로딩은 말 그대로필요할 때까지 데이터를 조회하지 않는 방식이다. 예를 들어, 회원(User)과 주문(Order)이 있다고 가정해보자.@ManyToOne(fetch = FetchType.LAZY)private User user;이렇게 설정하면, Order를 조회할 때 User는 가져오지 않는다.실제로 user를 ..

Java

JPA란 무엇인가? 개념부터 실무에서 왜 쓰는지까지 쉽게 정리

개발 공부를 하다 보면 한 번쯤은 반드시 마주치는 단어가 있다.바로 JPA다. 처음 이걸 접했을 때 솔직히 이런 생각이 들었다.“SQL 쓰면 되는데 왜 굳이 이걸 써야 하지?” 그런데 조금만 깊이 들어가 보면,이건 단순한 라이브러리가 아니라개발 방식 자체를 바꾸는 기술이라는 걸 알게 된다. 특히 Spring Boot 기반으로 백엔드를 개발한다면JPA는 선택이 아니라 거의 필수에 가깝다. 1. JPA를 한 문장으로 정리하면JPA는 자바 객체와 데이터베이스를 연결해주는 기술이다. 조금 더 풀어서 말하면,SQL을 직접 작성하지 않고도객체를 통해 데이터를 저장하고 조회할 수 있게 해준다. 예를 들어 기존 방식이라면:SELECT * FROM user WHERE id = 1;JPA를 사용하면 이렇게 바뀐다.User..

Coding_Slowly
'spring boot' 태그의 글 목록