有如下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") 顯示的指定它對應的屬性名。