• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

private 기본 생성자

22.06.20 17:33 작성 조회수 342

1


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

안녕하세요 영한님!
@Entity를 사용하는 클래스는 public 또는 protected 기본 생성자가 필수라고 하여 테스트를 해보았습니다
 
1. 기본 생성자를 선언하지 않는 경우
2. private 기본 생성자를 선언하는 경우
 
헌데 둘 다 테스트 통과가 되는 현상을 발견했습니다🤔
1의 경우에는 기본 생성자 선언을 생략하면 자바에서 자동으로 만들어주는 것으로 알아서 그러려니 했는데 2의 경우에는 왜 되는걸까요... ?_?
 
 
참고로 제 개발 환경은 아래와 같습니다
작업 환경이 조금씩 달라야 공부가 될 것 같아서 한두개 건들다보니 너무 많이 달라졌네요😂
 
- Java 11
- Gradle
- hibernate 5.4.13.Final
- h2 1.4.199
 
현재 예상하는 원인으로는
1. Java 또는 hibernate 버전이 업데이트 되며 개선된 사항이다
2. persistence.xml에서 직접 Visitor를 class로 등록해준 것과 관련이 있다
3. reflection할 때 기본 생성자가 아닌 다른 생성자를 이용할 수 있다.
 
등이 있는데 어떤 방식으로 문제를 접근해야할지 난감해 질문 남깁니다

답변 1

답변을 작성해보세요.

2

David님의 프로필

David

2022.06.20

안녕하세요. yeonLog님, 공식 서포터즈 David입니다.

아래 링크를 참고해주세요.

(첫번째 답변만 참고) https://www.inflearn.com/questions/105043

https://stackoverflow.com/a/57095264/10709777

감사합니다.

yeon님의 프로필

yeon

질문자

2022.06.20

아! 질문을 다 찾아본줄 알았는데 이미 유사한 내용이 있었군요

감사합니다 :)