[질문 템플릿]
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할 때 기본 생성자가 아닌 다른 생성자를 이용할 수 있다.
등이 있는데 어떤 방식으로 문제를 접근해야할지 난감해 질문 남깁니다
아! 질문을 다 찾아본줄 알았는데 이미 유사한 내용이 있었군요
감사합니다 :)