【发布时间】:2013-03-27 19:11:49
【问题描述】:
我是整个 JPA 方面的新手,所以我对处理 JPA 合并和持久化的最佳方式有很多疑问。
-
我有一个应该更新的用户对象(一些值,如日期和名称)。我必须先合并传递的对象还是找到新对象更安全?
目前我更新用户的代码如下所示:
public void updateUserName(User user, String name) { // maybe first merge it? user.setName(name); user.setChangeDate(new Date()); em.merge(user); }如何确定在调用更新方法之前用户没有被操纵?这样做是否更安全:
public void updateUserName(int userId, String name) { User user = em.getReference(User.class, userId); user.setName(name); user.setChangeDate(new Date()); em.merge(user); }也许其他解决方案?我观看了多个视频并看到了许多示例,但它们都不相同,没有人解释最佳做法是什么。
将孩子添加到关系中的最佳方法是什么?例如,我的用户对象连接到多个组。我应该为用户调用 JPA 处理程序并将新组添加到用户组列表中,还是应该在 so 组处理程序中使用持久性创建组并将其手动添加到我的用户对象?
希望这里有人有线索;)
【问题讨论】: