如何使用JPA在Hibernate中启用FlushModeType.COMMIT

如何使用JPA在Hibernate中启用FlushModeType.COMMIT,hibernate,jpa,eclipselink,Hibernate,Jpa,Eclipselink,我正在将JPA应用程序从旧版本的EclipseLink迁移到Hibernate 5.4.9.Final 在EclipseLink中,EntityManager FlushMode通过persistence.xml中的以下属性配置为COMMIT: <property name="eclipselink.persistence-context.flush-mode" value="COMMIT"/> 在JUnit测试中,我引导JPA如下: EntityManagerFactory em

我正在将JPA应用程序从旧版本的EclipseLink迁移到Hibernate 5.4.9.Final

在EclipseLink中,EntityManager FlushMode通过
persistence.xml
中的以下属性配置为
COMMIT

<property name="eclipselink.persistence-context.flush-mode" value="COMMIT"/>
在JUnit测试中,我引导JPA如下:

EntityManagerFactory emf=Persistence.createEntityManagerFactory(“测试”,属性);
EntityManager EntityManager=emf.createEntityManager();
entityManager.getTransaction().begin();
Session Session=entityManager.unwrap(Session.class);
System.out.println(“底层Hibernate会话刷新模式”+“session.getFlushMode());
System.out.println(“EntityManager刷新模式”+“EntityManager.getFlushMode());
如果使用EclipseLink运行测试,它将正确显示EntityManager flushmode
COMMIT
。如果使用Hibernate运行测试,EntityManager flushmode会错误地显示
AUTO

我做错了什么

提前谢谢大家,,
Mike

看起来此功能在以下情况下被破坏。它在hibernate 5.4.4中工作


这是

非常感谢您提供的信息。好吧,我想我会等着修好,同时还有一个变通办法。
<property name="org.hibernate.flushMode" value="COMMIT" />