2010-11-27 28 views
2

给定一个不变的实体,是否Hibernatesession.update(entity)发送SQLUPDATE语句到数据库服务器?Hibernate是否更新一个没有改变的实体?

例如,在下面的代码中,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(); 
+0

这是一个测验吗? – cherouvim 2010-11-27 20:42:03

+0

如果对象仍然连接到会话,是否更新甚至可以工作? `update()`的API告诉它用给定的分离实例更新持久化实例。 – kraftan 2010-11-27 20:45:04

回答

6

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

相关问题