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