Spring Data MongoDB - MappingMongoConverter с пользовательскими конвертерами
-
26-12-2019 - |
Вопрос
У меня есть MongoTemplate с пользовательскими преобразователями отображения:
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
<constructor-arg name="mongoConverter" ref="mappingConverter"/>
</bean>
<mongo:mapping-converter id="mappingConverter" >
<mongo:custom-converters>
<mongo:converter>
<bean class="foo.bar.flap.MyCustomTypeToStringConverter"/>
</mongo:converter>
<mongo:converter>
<bean class="foo.bar.flap.MyOtherCustomTypeConverter"/>
</mongo:converter>
</mongo:custom-converters>
</mongo:mapping-converter>
Эта конфигурация, по-видимому, игнорирует аннотации JPA, такие как @Id и @Transient.
Согласно с этот пост от Оливера Гирке на весенних форумах, мне нужно использовать MappingMongoConverter, чтобы включить это.Однако, похоже, я не могу найти правильный синтаксис для объединения MappingMongoConverter с существующими пользовательскими конвертерами.
Кто-нибудь может привести мне пример?
Решение
Недостаточно информации.
Ваш <mongo:mapping-converter>
это правильно.
Сейчас мы не видим проблемы.
Обратите внимание, Оливер сделал комментарий для @Id
и @Transient
от org.springframework.data.annotation
, а не JPA.
Может быть, это вас смущает?
Просто измените аннотацию JPA на Spring Data, и у вас все заработает.