posts - 4, comments - 1, trackbacks - 0, articles - 2

hibernate问题(一)

Posted on 2006-09-23 14:53 黄鹏霄 阅读(135) 评论(0)  编辑  收藏 所属分类: MVC

1 增删改放在事务里
2 关于merge
有意思现象1:

 Htest ht=new Htest();
   ht.setHid(new Integer(7));
   ht.setHname("xxxxxxxxxxxxxx");
   session.merge(ht);
   Htest h=(Htest)session.load(Htest.class, new Integer(7));
   System.out.println(h.getHname());
   trx.commit();
  
loging:

Hibernate: select htest0_.hid as hid0_0_, htest0_.hname as hname0_0_ from hpx.dbo.htest htest0_ where htest0_.hid=?
xxxxxxxxxxxxxx
Hibernate: update hpx.dbo.htest set hname=? where hid=?

思考:
此对象在COMMIT时才UPDATE 那么MERGE作了什么 SELECT从哪查的呢?

问题:
既然select了数据 为什么h的name已经改变了 而且update是在更晚的时间执行的?

现象2:
merge换成update

logging:
yy
Hibernate: update hpx.dbo.htest set hname=? where hid=?

只生成update语句

why why why??


3


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


网站导航: