2

Objectify フレームワークを使用すると、Google データストアとのやり取りが簡単になります。エンティティを ofy().save() できるかどうかを知りたいのですが、データベースで null 以外の値のみを変更します。

エンティティの新しいインスタンスを作成し、そのすべての属性値にアクセスできないため (データは POST から取得され、リレーション キーのようなものが欠落しています)、受信した属性を保存/編集するだけでした (SQL のように)アップデート)。

使用してみ@IgnoreSave(IfNull.class)ましたが、保存して保存したエントリを確認すると、そのsave()時点で設定されていなかった属性がnullに設定され、他のエンティティとの関係が失われます。

4

1 に答える 1

1

あなたが正しく理解している場合、すでに保存されているエンティティ A があります。A (Ab としましょう) の属性を何かに変更したいが、他のすべては同じままにしますか? あなたがすべきことは、ofy().get(A) で、Ab を変更してから save(A) です。

(コンストラクターから) 新しいエンティティ A を作成すると、そのエンティティは現在保存されているエンティティを上書きします。

于 2012-11-26T17:12:41.070 に答える