JPA
-
첫 사진부터 놀래켜드려서 죄송하구요 JPA에서 ID를 할당하는 방법이 여러가지가 있죠, 뭐 수동 할당, 자동 할당, IDENTITY, SEQUENCE, TABLE, AUTO 등이 있는데요 이거 잘 보지 않으면 진짜 헷갈립니다같이 한번 정리해보죠 스따뜨수동 할당수동 할당은 직접 ID를 채워 넣어주는 방식인데요, 한번 해보겠습니다@Entity@Getter@NoArgsConstructor@AllArgsConstructorpublic class Study { @Id private String id; private String name;} 이 엔티티를@Transactional@SpringBootTestpublic class StudyTest { @Autowired StudyReposit..
잘 보지 않으면 헷갈리는 ID 에 대한 고찰첫 사진부터 놀래켜드려서 죄송하구요 JPA에서 ID를 할당하는 방법이 여러가지가 있죠, 뭐 수동 할당, 자동 할당, IDENTITY, SEQUENCE, TABLE, AUTO 등이 있는데요 이거 잘 보지 않으면 진짜 헷갈립니다같이 한번 정리해보죠 스따뜨수동 할당수동 할당은 직접 ID를 채워 넣어주는 방식인데요, 한번 해보겠습니다@Entity@Getter@NoArgsConstructor@AllArgsConstructorpublic class Study { @Id private String id; private String name;} 이 엔티티를@Transactional@SpringBootTestpublic class StudyTest { @Autowired StudyReposit..
2025.08.15 -
N+1 문제 해결 후기두 엔티티 간에 영속성 전이가 제대로 이루어지려면?현재 진행하고 있는 개인 프로젝트에서 다음과 같이 엔티티들의 연관관계가 설정되어 있다. Member -- (OneToMany) -- History -- (OneToMany) -- Question dockerel.tistory.com 정확하게 반년 전에 N+1 문제를 맞닥뜨렸습니다이때 당황한 기억이 아니 그 당황했다기보다는 그 유명한 N+1 문제를 직접 겪었단 사실에 가슴이 두근두근 했던 기억이 나네요 반년이 지난 지금 저는 N+1 문제에 대해 얼마나 더 자세히 알게 됐을지 알아보겠습니다스따뜨 우선 N+1 문제의 정의는 그거죠JPA에서 연관 관계가 설정된 엔티티를 조회할 경우, 조회된 데이터 개수 N만큼 연관관계의 조회 쿼리가 추가로 ..
반년 만에 다시 이해한 N+1 문제N+1 문제 해결 후기두 엔티티 간에 영속성 전이가 제대로 이루어지려면?현재 진행하고 있는 개인 프로젝트에서 다음과 같이 엔티티들의 연관관계가 설정되어 있다. Member -- (OneToMany) -- History -- (OneToMany) -- Question dockerel.tistory.com 정확하게 반년 전에 N+1 문제를 맞닥뜨렸습니다이때 당황한 기억이 아니 그 당황했다기보다는 그 유명한 N+1 문제를 직접 겪었단 사실에 가슴이 두근두근 했던 기억이 나네요 반년이 지난 지금 저는 N+1 문제에 대해 얼마나 더 자세히 알게 됐을지 알아보겠습니다스따뜨 우선 N+1 문제의 정의는 그거죠JPA에서 연관 관계가 설정된 엔티티를 조회할 경우, 조회된 데이터 개수 N만큼 연관관계의 조회 쿼리가 추가로 ..
2025.08.06 -
두 엔티티 간에 영속성 전이가 제대로 이루어지려면?현재 진행하고 있는 개인 프로젝트에서 다음과 같이 엔티티들의 연관관계가 설정되어 있다. Member -- (OneToMany) -- History -- (OneToMany) -- Question 그리고 저장 및 테스트를 용이하게 하기 위해 Member에dockerel.tistory.com N+1 문제 해결 후기는 위 글과 이어집니다. 엔티티 영속성 전이 문제를 어찌어찌 해결한 후 한시름 놨다고 생각할 때쯤 쿼리 로그를 보니 뭔가 이상했다. 무수한 SELECT 요청이 날아가고 있었고, 딱 보자마자 N+1 문제라는 느낌이 확 왔다. 그런데 사실 그도 그럴 것이 기존에 멤버가 질문한 개수를 구하는 로직은 이렇게 작성되어 있었다. 멤버의 history를 구하..
N+1 문제 해결 후기두 엔티티 간에 영속성 전이가 제대로 이루어지려면?현재 진행하고 있는 개인 프로젝트에서 다음과 같이 엔티티들의 연관관계가 설정되어 있다. Member -- (OneToMany) -- History -- (OneToMany) -- Question 그리고 저장 및 테스트를 용이하게 하기 위해 Member에dockerel.tistory.com N+1 문제 해결 후기는 위 글과 이어집니다. 엔티티 영속성 전이 문제를 어찌어찌 해결한 후 한시름 놨다고 생각할 때쯤 쿼리 로그를 보니 뭔가 이상했다. 무수한 SELECT 요청이 날아가고 있었고, 딱 보자마자 N+1 문제라는 느낌이 확 왔다. 그런데 사실 그도 그럴 것이 기존에 멤버가 질문한 개수를 구하는 로직은 이렇게 작성되어 있었다. 멤버의 history를 구하..
2025.02.06