代码:
private static void editInfo() {
Session session = null;
try {
session = HibernateUtil.getSession();
if (session != null) {
session.beginTransaction();
Person p = new Person("王三", 22, "男", "北京");
session.save(p);
session.delete(p);
p.setId(null);
session.save(p);
session.getTransaction().commit();
}
} catch (Exception ex) {
if (session != null) {
session.getTransaction().rollback();
}
ex.printStackTrace();
} finally {
HibernateUtil.CloseSession();
}
}
控制台显示:
Hibernate:
insert
into
PERSON
(NAME, AGE, GENDER, ADDRESS)
values
(?, ?, ?, ?)
Hibernate:
delete
from
PERSON
where
ID=?
Hibernate:
insert
into
PERSON
(NAME, AGE, GENDER, ADDRESS)
values
(?, ?, ?, ?)
session.getTransaction().commit();
才会真正执行挂起的数据库操作,之前的操作会产生一个变更集,但是不会记录它们被调用的顺序,所以最后的顺序是不可知的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。