spring-data-mongodb关于id的坑


有如下Mongo记录:

 

在Java中对应2个类来表示此结构:

 

 

public class SG_IMAGERELATION {  
    @Id
    private String id;
    private int gisId;
    private List<SG_IMAGE> images;
}
public class SG_IMAGE {

   private String id;
    private String fileName;
    private String smallPic;
    private String sgjd;
    private String address;
    private String uploadDate;
    private double lng;
    private double lat;
    private String pstatus;

    //get set 略
}
最后通过 
SG_IMAGERELATION relation=mongoTemplate2.findOne(mongoQuery, SG_IMAGERELATION.class,collectionName)
结果是relation.images下面的元素,id值都取不到,查了一下springdata文档,原来是id这个字段的问题,在java class中增加一个id属性,它会自动映射成"_id",如果数据库中本来就是id,那么就读不到了

解决方法是在id字段上加上注解
@Field("id") 显示的指定它对应的属性名。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM