Estoy tratando de evitar la persistencia de algunos campos en mi POJO en MongoDB.
Lo intenté
1) Agregar @javax.persistence.Transient
en el campo.
2) Agregar @org.springframework.data.annotation.Transient
en el campo, incluso si no uso Spring en absoluto.
3) Hacer que el campo transient
Estoy usando Jakson como el ObjectMapper predeterminado de mongodb. y no estoy usando datos de Spring para interactuar con la base de datos
Pero sin suerte.
El problema es con javax.persistence.Transient
Pero este, que es una anotación JPA, no funcionará para MongoDB:
Si lo desea, puede usar la anotación Spring Framework @Transient. Documentación de primavera
import org.springframework.data.annotation.Transient;
Probé con Spring Framework, que funciona bien para mí.
ejemplo de muestra
@Transient private Integer age;
Si la solución anterior no funciona, es posible que haya un problema con MappingMongoConverter
mapeo basado en anotaciones solo funciona si está utilizando MappingMongoConverter ( Documentación ) como convertidor de respaldo para MongoTemplate
. Si no está configurando el convertidor, se usará un SimpleMongoConverter
de forma predeterminada que simplemente serializa objetos en Mongo sin mirar ninguna metainformación en absoluto.