-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
MongoDB에 컬렉션을 저장하기 위한 객체 클래스를 아래와 같이 정의하면 클래스 내에 정의한 타입과 동일하게 필드가 만들어진다.
data class MyCollection(
@Id
val id: String? = null,
val myField: String
)만약, 객체의 필드 타입과 디비의 필드 타입을 다르게 관리하고 싶다면 아래와 같은 방법을 사용할 수 있다.
예제) 객체에는 MyString Object 타입, 디비에는 String 타입으로 저장하기
- 객체 필드로 저장하고자 하는 타입 클래스와 같은 패키지 내에 Converter 정의하기
class MyString {
val value: String
@WritingConverter
class MyStringToStringConverter: Converter<MyString, String> {
override fun convert(source: MyString): String {}
}
@ReadingConverter
class StringToMyStringConverter: Converter<String, MyString> {
override fun convert(source: String): MyString {}
}
}- MongoCustomConversions 빈 등록하기
@Configuration
class MongoConfig {
@Bean
fun customConversions(): MongoCustomConversions {
return MongoCustomConversions(
listOf(
MyStringToStringConverter(),
StringToMyStringConverter()
)
)
}
}