getHibernateTemplate().save和super.getHibernateTemplate().merge

 

代码1_save:

super .getHibernateTemplate().save(user);
        System.out.println(
" " + user.getId());

输出1:
Hibernate: insert into user (userid, userpwd, userques, userans, usermail, integral, grade, sex, realname) values ( ? ? ? ? ? ? ? ? ? )
9



代码2_merge:
super .getHibernateTemplate().merge(user);
        System.out.println(
" " + user.getId());

输出2:
Hibernate: insert into user (userid, userpwd, userques, userans, usermail, integral, grade, sex, realname) values ( ? ? ? ? ? ? ? ? ? )
0


代码3_merge:
user  =  (User) super .getHibernateTemplate().merge(user);
        System.out.println(
" " + user.getId());

输出3:
Hibernate: insert into user (userid, userpwd, userques, userans, usermail, integral, grade, sex, realname) values ( ? ? ? ? ? ? ? ? ? )
11

当我们使用merge的时候,执行完成,我们提供的对象A还是脱管状态,hibernate或者new了一个B,或者检索到
一个持久对象B,并把我们提供的对象A的所有的值拷贝到这个B,执行完成后B是持久状态,而我们提供的A还是托管状态


继续看代码:
super .getHibernateTemplate().save(user);
        user.setUserans(
" 杭州BST " );
        System.out.println(
" " + user.getId());
输出:
Hibernate: insert into user (userid, userpwd, userques, userans, usermail, integral, grade, sex, realname) values ( ? ? ? ? ? ? ? ? ? )
13
Hibernate: update user set userid
=? , userpwd =? , userques =? , userans =? , usermail =? , integral =? , grade =? , sex =? , realname =?  where id =?


super .getHibernateTemplate().merge(user);
        user.setUserans(
" 杭州BST " );
        System.out.println(
" " + user.getId());

-------------------------
Hibernate: insert into user (userid, userpwd, userques, userans, usermail, integral, grade, sex, realname) values (?, ?, ?, ?, ?, ?, ?, ?, ?)
:0




其实,我们也可以这样显示修改状态。
user  =  (User) super .getHibernateTemplate().merge(user);
        user.setUserans(
" 杭州BST " );
        System.out.println(
" " + user.getId());

--------------------

Hibernate: insert into user (userid, userpwd, userques, userans, usermail, integral, grade, sex, realname) values (
? ? ? ? ? ? ? ? ? )
16
Hibernate: update user set userid
=? , userpwd =? , userques =? , userans =? , usermail =? , integral =? , grade =? , sex =? , realname =?  where id =?

转载: http://www.blogjava.net/beijing2008/articles/317924.html
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值