在Hibernate中,持久化上下文Session还支持ALWAYS的flush模式(JPA不支持)。
在这种flush模式下,执行native SQL查询也将触发Session执行flush操作,示例如下:
Person person = new Person("John Doe");
entityManager.persist(person);
//flush executed
Session session = entityManager.unwrap( Session.class);
session .createSQLQuery("select count(*) from Person")
.setFlushMode( FlushMode.ALWAYS)
.uniqueResult();