I have a simple problem storing and retrieving an embedded collection of entity to mongo. I have checked theses question :
how to serialize class? and Mongodb saves list of object
what I understand is to save a list objects the class of that objects must extends ReflactionDBObject. This worked for saving the object, by retrieving it with the embedded collection does not work.
here a simple test show that retrieving embedded entities does not work !
@Test
  public void whatWasStoredAsEmbeddedCollectionIsRetrieved2() {
       BasicDBObject country = new BasicDBObject();
country.put("name", "Bulgaria");
List<City> cities = Lists.newArrayList(new City("Tarnovo"));
country.put("listOfCities", cities);
DBCollection collection = db().get().getCollection("test_Collection");
collection.save(country);
DBCursor object = collection.find(new BasicDBObject().append("name", "Bulgaria"));
DBObject returnedCity = object.next();
DBObject embeddedCities = (DBObject) returnedCity.get("listOfCities");
System.out.println(embeddedCities);
  }
Here is the City Class
class City extends ReflectionDBObject {
    String name;
    City() {
    }
    City(String name) {
      this.name = name;
    }
    public String getName() {
      return name;
    }
    @Override
    public boolean equals(Object o) {
      if (this == o) return true;
      if (!(o instanceof City)) return false;
      City city = (City) o;
      if (name != null ? !name.equals(city.name) : city.name != null) return false;
      return true;
    }
    @Override
    public int hashCode() {
      return name != null ? name.hashCode() : 0;
    }
    @Override
    public String toString() {
      return "City{" +
              "name='" + name + '\'' +
              '}';
    }
  }
The out put of the System.out.println statement is [ { "_id" :  null }] 
Now how can get back the embedded object and the embedded list in it ?