티스토리 뷰
jpa 엔티티 클래스에 @EqualsAndHashCode 연산을 사용하는 경우. IDEA에서 경고 메시지를 표시합니다.
Using @EqualsAndHashCode for JPA entities is not recommended. It can cause severe performance and memory consumption issues.
JPA 엔티티에 @EqualsAndHashCode를 사용하는 것은 권장되지 않습니다. 심각한 성능 및 메모리 소비 문제를 일으킬 수 있습니다.
JPA 엔티티에 @EqualsAndHashCode 주석을 사용할 수 있지만 IntelliJ IDEA는 성능 및 메모리 소비 문제를 일으킬 수 있으므로 사용하지 않는 것이 좋다는 경고 메시지를 표시합니다.
이 경고가 표시되는 이유는 @EqualsAndHashCode 어노테이션이 기본적으로 클래스의 모든 필드를 기반으로 equals() 및 hashCode() 메서드를 생성하기 때문입니다. JPA 엔티티의 경우 JPA가 동일성 확인 및 신원 추적에 사용되는 특정 필드 집합에 의존하기 때문에 문제가 발생할 수 있습니다.
특정 필드를 제외하도록 적절하게 구성하지 않고 JPA 엔터티 클래스에서 @EqualsAndHashCode를 사용하면 엔터티의 인스턴스를 유지, 업데이트 또는 삭제하려고 할 때 예기치 않은 동작이 발생할 수 있습니다. 또한 대규모 데이터 세트를 쿼리할 때 해시코드() 메서드가 계산 비용이 많이 들 수 있으므로 성능 문제가 발생할 수 있습니다.
이러한 문제를 방지하려면 일반적으로 JPA 엔티티 클래스에서 @EqualsAndHashCode를 사용하지 않거나 JPA가 동일성 확인 및 신원 추적에 사용하는 필드를 제외하도록 구성하는 것이 좋습니다. @EqualsAndHashCode.Include 어노테이션을 사용하여 생성된 메서드에 포함할 필드를 지정하고 onlyExplicitlyIncluded 매개 변수를 사용하여 해당 필드만 비교에 사용되도록 할 수 있습니다.
'framework > Spring' 카테고리의 다른 글
[Gradle, JAVA, SPRING] 웹개발에 필요한 최소한의 Gradle (2) | 2020.07.18 |
---|---|
Spring + Vault (0) | 2020.05.06 |
REST / RESTful API (0) | 2020.01.15 |
SPRING SECURITY + JWT 회원가입, 로그인 기능 구현 (16) | 2020.01.10 |
Thymeleaf 주석 (0) | 2019.05.28 |
- Total
- Today
- Yesterday
- 마르코프 연쇄
- 마르코프
- 디자인패턴
- markov chain
- 야근
- 자바스크립트개론
- 유지보수
- 자바스크립트 개론
- CONVENTIONS
- Count
- 문장 생성기
- Markov
- 클린코드
- 경고
- Spring in Action
- html
- 몰라서망신
- 코딩의 기술
- 전략패턴
- REST API
- 로그
- DP
- 동적계획법
- GROUP BY
- RESTful
- was
- restful api
- Warning
- java
- 크롬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |