Google App Engine アプリには、次のモデルがあります。
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Message {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
private Date timestamp;
@Persistent
private String text;
@Unowned
@Persistent(defaultFetchGroup = "true")
private User sender;
...
}
@Unowned
ユーザーはメッセージから独立して存在できるため、モデルには送信者との関係があります。
私がやりたいのは、Message
オブジェクトを部分的なUser
オブジェクトで永続化することです (たとえば、ユーザー ID とユーザー名を保存することにのみ関心があります)。私のエンドポイント クラスではメッセージを問題なく保存していますが、関係に特定のユーザーのすべてのフィールドを含めない場合、ユーザー オブジェクトは不足しているフィールドで更新されます (たとえば、問題のユーザーはパスワードを持っていないなど)。 .)。元のオブジェクトを「壊す」ことなく、私が望むものを達成する最良の方法は何ですか?
PS 私のエンドポイントの方法はとてもシンプルです。基本的には、メッセージを呼び出すだけpm.makePersistent(message);
です (メソッド パラメーターとして指定)。