Вот простой pojo:
public class Description {
private String code;
private String name;
private String norwegian;
private String english;
}
И, пожалуйста, посмотрите следующий код, чтобы применить upsert
к MongoDb через Spring MongoTemplate:
Query query = new Query(Criteria.where("code").is(description.getCode()));
Update update = new Update().set("name", description.getName()).set("norwegian", description.getNorwegian()).set("english", description.getEnglish());
mongoTemplate.upsert(query, update, "descriptions");
Строка для создания объекта Update
указывает каждое поле класса Item
вручную.
Но если мой объект Item
изменится, мой слой Дао сломается.
Итак, есть ли способ избежать этого, чтобы все поля из моего класса Item
автоматически применялись к обновлению?
E.g.
Update update = new Update().fromObject(item);
Обратите внимание, что мой pojo не расширяет DBObject
.