0
我在playOrm映射实体,其具有大量的属性,如出生日期,类别等等如果id相同,NoSqlEntityManager.put会更新吗?
假设我用NoSqlEntityManager.put保存在卡桑德拉这个实体在第一时间。我写道:
NoSqlEntityManager em =...;
Entity e = new Entity();
entity.id = 123
entity.birthDate = 20121212
em.put(e);
之后,一段时间后,我做了以下内容:
NoSqlEntityManager em =...;
Entity e = new Entity();
entity.id = 123
entity.categories = {"cat1", "cat2", "cat3"};
em.put(e);
将在卡桑德拉发生什么?一个新的实体将被创建?或者旧的会更新(可取的)? 如果更新,将在我的第二次写入中删除birthDate? (不希望的)
我认为在该领域的属性将是一个外观极好的开端。 – mvallebr
我现在还没有NoSqlIndexable在这个实体中,但将来肯定有 – mvallebr
任何最终的解决方案都会涉及到在put操作中传递一些东西来描述哪些字段应该更新以及哪些字段不应该,如果在极端情况下需要。但是,对于我的情况,我认为使用em.put(e,false)给出的解决方案就足够了。非常感谢,顺便说一下:D – mvallebr