0

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);です (メソッド パラメーターとして指定)。

4

1 に答える 1