如何使用JPA在Hibernate中启用FlushModeType.COMMIT
我正在将JPA应用程序从旧版本的EclipseLink迁移到Hibernate 5.4.9.Final 在EclipseLink中,EntityManager FlushMode通过如何使用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
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 flushmodeCOMMIT
。如果使用Hibernate运行测试,EntityManager flushmode会错误地显示AUTO
我做错了什么
提前谢谢大家,,
Mike看起来此功能在以下情况下被破坏。它在hibernate 5.4.4中工作
这是非常感谢您提供的信息。好吧,我想我会等着修好,同时还有一个变通办法。
<property name="org.hibernate.flushMode" value="COMMIT" />