在我的个人资料班中,我有
@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。
答案 0 :(得分:1)
“瞬态”意味着不持久而不分离。
使用该版本的GAE JPA,如果您希望重用现有对象,则需要在其中使用分离或托管对象。
使用Googles插件的v2,有一个持久性属性,允许合并设置了“id”字段的瞬态对象。