MongoDB - SpringBoot / "_class" 필드 제거
MongoDB - SpringBoot / "_class" 필드 제거
_class 필드
- Spring Data MongoD를 별다른 설정없이 사용하면 컬렉션에 객체를 저장할 때, 자동으로 객체의 Java 클래스 이름을 포함하고 있는
_class라는 필드가 추가되어 저장됨 - 역직렬화 정확성 확보 : 데이터를 조회할 때 다시 해당 클래스의 인스턴스로 역직렬화(deserialization) 하는데 사용됨
- 다형성 지원
{
"_id": ObjectId("..."),
"name": "Alice",
"_class": "com.example.User"
}
_class 필드 제외하고 저장하는 방법
1
2
3
4
5
6
7
8
9
10
@Bean
public MappingMongoConverter mappingMongoConverter(
MongoDatabaseFactory mongoDatabaseFactory,
MongoMappingContext mongoMappingContext
) {
DbRefResolver dbRefResolver = new DefaultDbRefResolver(mongoDatabaseFactory);
MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, mongoMappingContext);
converter.setTypeMapper(new DefaultMongoTypeMapper(null));
return converter;
}
This post is licensed under CC BY 4.0 by the author.