モルフォとモンゴをマッピングしています。 Morphiaには、ドキュメント内の更新を変更されたフィールドにのみ適用できるようにするための多くの最適化機能があります。Morphiaを使用してMongoのすべてのフィールドを簡単に更新できますか?
これは分かりますが、この時点では、最適化されていないケースが必要です。私は、エンティティを保存して、どのフィールドが変更されたか心配しないようにしたいだけです。
もちろん、私は単にsave()を呼び出すことができますが、これは、私が新しいオブジェクトを作成しているかのようにライフサイクルメソッドを呼び出します。
おそらく、答えは:save()であり、私のライフサイクルメソッドをスマートにして、これが新しいエンティティの作成ではなく「再保存」であることを検出できるようにします。
もっと良いアプローチがあれば、私はそれについて聞いていただければ幸いです。あなたはエンティティがすでに永続化されているかどうかを確認したい場合は、それが最初のセーブに自動生成されるよう
@PrePersist
public void prePersist() {
creationDate = (creationDate == null) ? new Date() : creationDate;
lastChange = (lastChange == null) ? creationDate : new Date();
}
、私はおそらくnull値のためid
を確認したい:
興味のあること:ライフサイクルメソッドを呼び出すのはなぜそんなに問題なのですか? – xeraa
そうではありません。しかし、フレームワークがどのように動作するかを考え始めるたびに、私はそれを正しく使用しているかどうかを確かめます。 –