Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们正在用 Morphia 映射 Mongo。Morphia 有许多优化,允许文档中的更新仅应用于更改的字段。
很感激,但此刻,我需要未优化的案例。我只想保存一个实体,而不用担心哪些字段发生了变化。
当然,我可以简单地调用 save(),但这会调用生命周期方法,就好像我在创建一个新对象一样。
也许这就是答案:save() 并让我的生命周期方法足够聪明,以检测这是“重新保存”而不是创建新实体。
如果有更好的方法,我当然会很高兴听到它。
我的 prepersist 看起来像这样:
@PrePersist public void prePersist() { creationDate = (creationDate == null) ? new Date() : creationDate; lastChange = (lastChange == null) ? creationDate : new Date(); }
如果你想检查一个实体是否已经被持久化,我可能会检查id空值,因为它是在第一次保存时自动生成的。
id