0

在我的个人资料课程中,我有

@OneToOne(cascade=CascadeType.PERSIST)
private ProfilePicture profilePic = null;

我更新 profilePic 的方法

public Profile updateUserProfilePic(Profile user) {
    EntityManager em = EMF.get().createEntityManager();
    em.getTransaction().begin();

    Profile userx = em.find(Profile.class, user.getEmailAddress());
    userx.setProfilePic( user.getProfilePic() );

    em.getTransaction().commit();
    em.close();
    return userx;
}

调用 updateUserProfilePic 时,它只是在数据存储中添加另一个 profilePic,它不会替换现有的 profilePic。我的实现是否正确?我想更新配置文件的 profilePic。

4

1 回答 1

1

“瞬态”是指不持久、不分离。

使用该版本的 GAE JPA,如果您希望它重用现有对象,则需要一个分离或托管对象。

使用谷歌插件的 v2 有一个持久性属性,允许合并具有“id”字段集的瞬态对象。

于 2012-05-19T05:00:01.543 回答