최대 절전 모드는 필드 또는 속성 액세스 전략을 지원하는 ORM 프레임 워크입니다. 그러나 생성자 기반 매핑을 지원하지 않습니다. -같은 몇 가지 문제 때문에
1º 클래스에 생성자가 많으면 어떻게 되나요 ?
public class Person {
private String name;
private Integer age;
public Person(String name, Integer age) { ... }
public Person(String name) { ... }
public Person(Integer age) { ... }
}
보시다시피, Hibernate는 어떤 생성자가 호출되어야 하는지를 추측 할 수 없기 때문에 불일치 문제를 다룹니다. 예를 들어 저장된 Person 객체를 검색해야한다고 가정합니다.
Person person = (Person) session.get(Person.class, <IDENTIFIER>);
Person 객체를 검색하기 위해 Hibernate는 어떤 생성자를 호출해야합니까? 보이니?
2º 마지막으로 리플렉션을 사용하여 Hibernate는 인수가 없는 생성자를 통해 클래스를 인스턴스화 할 수 있습니다. 그래서 전화 할 때
Person person = (Person) session.get(Person.class, <IDENTIFIER>);
Hibernate는 다음과 같이 Person 객체를 인스턴스화합니다.
Person.class.newInstance();
API 문서에 따르면
클래스는 마치 새로운 빈 인수 목록이 표현식에
이야기의 교훈
Person.class.newInstance();
비슷하다
new Person();
다른 건
The no-argument constructor is a requirement
틀린 주장 , 그리고 이것이 사실인지 의문을 갖지 않고 그 이유를 설명하는 모든 답변 (상금을받은 수락 된 답변 포함) 이 잘못된 것 입니다. 이 답변보기 : stackoverflow.com/a/29433238/773113