일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ElasticSearch
- 코딩테스트
- 스프링
- 알고리즘
- 김영한
- 이펙티브 자바
- 티스토리챌린지
- 이펙티브자바
- Effective Java 3
- 엘라스틱서치
- Sort
- kubernetes
- 스프링 핵심원리
- 카카오
- 자바스크립트
- 자바
- 예제로 배우는 스프링 입문
- Spring
- effectivejava
- Effective Java
- 스프링부트
- k8s
- 스프링핵심원리
- 오블완
- 이차전지관련주
- 클린아키텍처
- 카카오 면접
- 알고리즘정렬
- java
- JavaScript
- Today
- Total
목록jpa (2)
Kim-Baek 개발자 이야기
JPA(Java Persistence API)를 사용하면서 종종 마주하게 되는 N+1 문제에 대해 친절하고 상세하게 설명드리겠습니다. 이 문제는 특히 성능 최적화가 중요한 애플리케이션에서 자주 언급되며, 이해하고 해결하는 것이 중요한 부분입니다.📌 N+1 문제란?N+1 문제는 데이터베이스에 접근할 때 발생하는 성능 이슈 가운데 하나로, 주로 ORM(Object-Relational Mapping) 프레임워크를 사용할 때 나타납니다. 이 문제는 다음과 같은 형태로 발생합니다:N개의 쿼리 + 1개의 메인 쿼리가 실행됩니다.즉, 첫 번째 메인 쿼리가 실행된 후, 각 결과에 대해 추가적인 N개의 쿼리가 발생하게 됩니다.이로 인해 데이터베이스에 불필요하게 많은 요청이 발생하고, 애플리케이션의 성능이 저하될 수 있..
Jpa를 사용하다가, entity를 repository를 통해서 삭제했는데 DB에 값이 남아있고 삭제가 되지 않는 경우가 있다. 어떤 경우인지 우선 살펴보겠다. 첫 번째로 유저 엔티티이다. @Entity public class Users implements Serializable { @Id @GeneratedValue private long id; private String name; @OneToMany(mappedBy = "user", fetch = FetchType.EAGER, cascade = {CascadeType.ALL}) private Set userRoleUser; // GETTERS AND SETTERS } 두 번째로 유저 롤 엔티티이다. @Entity public class UserRol..