SpringBoot 효율적인 Null 체크

gBoot 효율적인 Nu...

2024년 11월 24일
·
0개의 댓글
·

SpringBoot 효율적인 Null 체크

gBoot 효율적인 Nu...

2024년 11월 24일
·
0개의 댓글
·

SpringBoot 효율적인 Null 체크

gBoot 효율적인 Nu...

2024년 11월 24일
·
0개의 댓글
·

NPE 문제 해결

Java에서 NPE(...

2024년 8월 2일
·
0개의 댓글
·

소공전 457

Spring JPA를...

2024년 8월 2일
·
0개의 댓글
·

test

JPA를 사용하다...

2024년 8월 2일
·
0개의 댓글
·

Java NPE 문제

Java에서 NPE(...

2024년 8월 1일
·
0개의 댓글
·

코테 합격을 위해서

코딩테스트에 떨어졌다...

2024년 8월 1일
·
0개의 댓글
·

자바 NPE 문제 해결

Java에서 문자...

2024년 7월 31일
·
0개의 댓글
·

제목입니다.

# 이슈 정의 Python 코드를 작...

2024년 7월 1일
·
0개의 댓글
·

안녕하세요

string

2024년 6월 27일
·
0개의 댓글
·

test

string

2024년 6월 27일
·
0개의 댓글
·

test

string

2024년 6월 27일
·
0개의 댓글
·

test

string

2024년 6월 27일
·
0개의 댓글
·

test

string

2024년 6월 27일
·
0개의 댓글
·

test

string

2024년 6월 27일
·
0개의 댓글
·

[SpringBoot] @NoArgsConstructor 접근 레벨

# 이슈 정의 Spring JPA를 사용하면서 `@NoArgsConstructor(access = AccessLevel.PRIVATE)` 어노테이션을 사용한 경우, 'Class 'StoreEntity' should have [public, protected] no-arg constructor' 에러가 발생할 수 있다. 이 문제는 JPA가 엔티티 클래스를 프록시로 생성할 때 매개변수가 없는 생성자의 접근 레벨이 public 또는 protected여야 하기 때문이다. # issue example code ```java import lombok.NoArgsConstructor; import lombok.AccessLevel; import javax.persistence.Entity; import javax.persistence.Id; @Entity @NoArgsConstructor(access = AccessLevel.PRIVATE) public class StoreEntity { @Id private Long id; private String name; } ``` # 원인 추론 JPA는 엔티티 클래스를 프록시로 생성할 때 기본 생성자를 사용한다. 그러나 기본 생성자의 접근 레벨이 private인 경우, JPA는 해당 생성자에 접근할 수 없어 에러가 발생한다. 따라서 기본 생성자의 접근 레벨을 public 또는 protected로 설정해야 한다. # 해결 방법 기본 생성자의 접근 레벨을 private에서 protected로 변경한다. 이렇게 하면 JPA가 엔티티 클래스를 프록시로 생성할 수 있다. # solution example code ```java import lombok.NoArgsConstructor; import lombok.AccessLevel; import javax.persistence.Entity; import javax.persistence.Id; @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) public class StoreEntity { @Id private Long id; private String name; } ``` 이렇게 수정하면 JPA가 엔티티 클래스를 프록시로 생성할 때 문제가 발생하지 않는다. 엔티티 클래스는 매개변수가 없는 생성자의 접근 레벨이 public 또는 protected로 해야 한다는 점을 기억하자.

2024년 6월 7일
·
0개의 댓글
·