在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();