MongoDB避免在POJO - Java中持久化某些字段

时间:2017-01-30 08:43:49

标签: java mongodb

我试图避免将我的POJO中的某些字段保存到MongoDB中。

我试过

1)在字段上添加@javax.persistence.Transient

2)在字段上添加@org.springframework.data.annotation.Transient 即使我根本不使用弹簧。

3)制作字段transient

我使用Jakson作为mongodb的默认ObjectMapper。我没有使用Spring数据与数据库进行交互

但没有运气。

1 个答案:

答案 0 :(得分:0)

问题出在javax.persistence.Transient但是这个是JPA注释,不适用于MongoDB:

如果需要,可以使用Spring框架@Transient注释。 Spring Documentation

import org.springframework.data.annotation.Transient;

我尝试使用Spring框架,这对我来说很好。

  

示例示例

@Transient
    private Integer age;

如果上述解决方案无效,则可能存在MappingMongoConverter的问题 仅当您使用MappingMongoConverter(Documentation)作为MongoTemplate的后备转换器时,基于注释的映射才有效。如果您没有配置转换器,默认情况下将使用SimpleMongoConverter,只需将对象序列化为Mongo,而无需查看任何元信息。