Spring 데이터의 MongoTemplate을 사용하고 있습니다. mongoDB에 성공적으로 저장하는 클래스가 있습니다. find 메소드를 사용하여 저장된 객체를 검색하려고하면 MongoTemplate이 클래스의 멤버 중 하나의 존재하지 않는 기본 생성자를 호출하려고하기 때문에 NoSuchMethodException이 발생합니다.Spring MongoTemplate이 최종 멤버로 객체를 deserialize 할 수 있도록 힌트를 사용자 정의하거나 제공합니다.
멤버에는 최종 멤버가있는 최종 클래스이기 때문에 기본 생성자가 없습니다. 두 개의 생성자가 있습니다. 첫 번째 매개 변수는 모든 관련 값을 매개 변수로 사용합니다. 두 번째는 Map을 받아들이고 Jackson이이 클래스로 "훌륭하게"플레이 할 수있게 해주는 @JsonCreator 주석이 있습니다.
어떻게 MongoTemplate에서 클래스를 deserialize 할 수 있습니까?
도움이 될만한 특수 효과가 있습니까? 관련 클래스를 처리하기 위해 MongoTemplate에 일종의 특수 deserialization 개체를 전달할 수 있습니까? MongoTemplate에 Jackson이하는 것과 같은 방식으로 매개 변수를 보내도록 요청할 수 있습니까?
예 @PersistenceConstructor 주석이 내 문제를 해결했습니다. 감사. –