随笔 - 170  文章 - 536  trackbacks - 0
<2006年7月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

我参与的团队

随笔分类(103)

搜索

  •  

积分与排名

  • 积分 - 412373
  • 排名 - 135

最新评论

阅读排行榜

用 Hibernate 碰到一个很傻的问题,在 iCustomer 中有这样的关联,有服务记录,该记录会与 Customer 关联,当时为了在不需要的时候不在 VO 里 new 出 Customer,用了这样的写法。

public Customer getCustomer() {
 if (null == customer) {
  customer = new Customer();
 }
 return customer;
}

这样看似没有问题,当使用到 Customer 的时候才会创建该对象。但是每次却会报告脏数据错误,其实最重要的是我忽略了一个问题,这个方法同样会被 Hibernate 调用,在 null 的时候给 new 出一个相应的 Customer,这样就会出现问题了,如果你把 Customer 设成 null,Hibernate 调用该方法时就会自动给你 new 一个 Customer,并没有任何 id,这样在保存的时候会引发脏数据错误。所以一定要避免这样的写法。

别人给出的建议是把这样的 new Customer 的逻辑放在外面写,手动处理 Customer 的创建。页面上传递的是 Customer 的 id,后台手动加载 Customer 的 PO,然后 set 给 Support。

posted on 2006-07-04 18:30 steady 阅读(797) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: