Hibernate是否更新了未更改的实体?

时间:2010-11-27 20:33:53

标签: java sql hibernate

如果实体未更改,Hibernate session.update(entity)是否会向数据库服务器发送SQL UPDATE语句?

例如,在以下代码中,Hibernate是否将SQL UPDATE发送到数据库服务器?

Session session = factory.openSession();
Person me = new Person(null, "Derek Mahar");
session.save(me);
Person me2 = new Person(me.getId(), "Derek Mahar");
session.update(me2);
session.flush();

1 个答案:

答案 0 :(得分:7)

没有。严格来说,Hibernate不会在update上发送SQL更新。 update只是更新当前会话中的对象。 Hibernate在刷新会话时执行查询。