hibernate跟新方法选择

二当家的黑板报 2014-07-31 03:49:36
我想将修改过的对象A跟新到数据库里面,
有两张方法:
1.先new一个A出来,然后将前端接收到的所有数据set进A的属性里面,然后session再update或merge进去;
2.根据前端传过来的id查询得到A对象,再将要修改的属性set进去,再update。
首先这里普及一个小知识:如果session里面本身就有一个对象A,然后再new一个A出来,update进去,会报错的,因为session里面不能存在两个相同id的对象,这时只能用merge。(这个知识应该没错吧)
以前就是用惯了第一种方法,想问的是大家普片是用哪种方法的。
也可以说一下这两种方法的优缺点。哪种好用些?
...全文
174 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Magical茏 2014-08-26
  • 打赏
  • 举报
回复
楼主 你普及的这个小知识 刚好解决了我的一个小bug bug
疯癫行者 2014-07-31
  • 打赏
  • 举报
回复
赞同一楼意见。
whos2002110 2014-07-31
  • 打赏
  • 举报
回复
如果修改的属性比较多,那可以把原先不修改的属性一并带到页面隐藏起来再提交到台后直接update。 如果修改的属性少,大部分属性不变的情况下,采用第二种。
小灯光环 2014-07-31
  • 打赏
  • 举报
回复
个人感觉第二种稳妥一些,而且效率也高一些吧,更新没必要去new对象占内存了。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧