Spring Data MongoDB - 使用自定义转换器MappingMongoConverter

时间:2014-04-14 13:27:12

标签: spring mongodb spring-data spring-data-mongodb

我有一个带有自定义映射转换器的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。

根据Oliver Gierke在Spring论坛上的this post,我需要使用MappingMongoConverter来启用它。但是,我似乎无法找到将MappingMongoConverter与现有自定义转换器结合使用的正确语法。

有人能指点我的榜样吗?

1 个答案:

答案 0 :(得分:2)

信息不足。

您的<mongo:mapping-converter>是正确的。

我们现在没有看到问题。

请注意,Oliver对来自@Id的{​​{1}}和@Transient发表评论,而不是JPA。

也许这对你来说很困惑?

只需将JPA注释更改为Spring Data,您就可以使用它。