简体   繁体   English

OSGi容器管理的JPA(4.2.6)不提交事务

[英]OSGi container-managed JPA (4.2.6)doesn’t commit transaction

I'm using OSGi, Karaf 2.3.1 , Hibernate 4.2.6.Final , container-managed JPA and container-managed JTA. 我正在使用OSGi,Karaf 2.3.1,Hibernate 4.2.6.Final,容器管理的JPA和容器管理的JTA。 My code doesn't work without flush(). 没有flush(),我的代码将无法正常工作。 But after flush() rollback doesn't work. 但是在flush()之后回滚不起作用。

Question is: Does workaround exist? 问题是: 是否存在解决方法?

the problem for 4.2.2 was described here Transactions with Hibernate in Apache Karaf / OSGi Switching to 4.2.6 did not help. 在此处描述了4.2.2的问题。 在Apache Karaf / OSGi中使用Hibernate进行事务切换到4.2.6并没有帮助。

in resent samples I could see flush() as well https://github.com/hibernate/hibernate-orm/blob/master/documentation/src/main/docbook/quickstart/tutorials/osgi/managed-jpa/src/main/java/org/hibernate/osgitest/DataPointServiceImpl.java 在最近发送的示例中,我也可以看到flush() https://github.com/hibernate/hibernate-orm/blob/master/documentation/src/main/docbook/quickstart/tutorials/osgi/managed-jpa/src/main /java/org/hibernate/osgitest/DataPointServiceImpl.java

public void deleteAll() {
   entityManager.createQuery( "delete from DataPoint" ).executeUpdate();
   entityManager.flush();
}

Thank you. 谢谢。

My detailed configuration: 我的详细配置:

Apache Karaf (2.3.1)
==== Hibernate Bundles 
[ 179] [Active     ] [            ] [       ] [   80] jackson-datatype-hibernate4 (0)
[ 197] [Active     ] [            ] [       ] [   80] wrap_mvn_org.hibernate.javax.persistence_hibernate-jpa-2.0-api_1.0.1.Final (0)
[ 477] [Active     ] [            ] [       ] [   80] hibernate-commons-annotations (4.0.4.Final)
[ 478] [Active     ] [            ] [       ] [   80] hibernate-core (4.2.6.Final)
[ 479] [Active     ] [            ] [       ] [   80] hibernate-entitymanager (4.2.6.Final)
[ 480] [Active     ] [Created     ] [       ] [   80] hibernate-envers (4.2.6.Final)
[ 481] [Active     ] [            ] [       ] [   80] hibernate-osgi (4.2.6.Final)

==== Aries Bundles 
[   8] [Active     ] [Created     ] [       ] [   20] Apache Aries Blueprint Core (1.1.0)
[   9] [Active     ] [Created     ] [       ] [   20] Apache Aries Blueprint CM (1.0.1)
[  11] [Active     ] [            ] [       ] [   20] Apache Aries Proxy Service (1.0.1)
[  12] [Active     ] [            ] [       ] [   20] Apache Aries Util (1.1.0)
[  13] [Active     ] [            ] [       ] [   20] Apache Aries Proxy API (1.0.0)
[  14] [Active     ] [            ] [       ] [   20] Apache Aries Blueprint API (1.0.0)
[  24] [Active     ] [            ] [       ] [   30] Apache Aries JMX API (1.1.0)
[  28] [Active     ] [            ] [       ] [   30] Apache Aries JMX Core (1.1.1)
[  36] [Active     ] [            ] [       ] [   30] Apache Aries JMX Blueprint Core (1.1.0)
[  39] [Active     ] [            ] [       ] [   30] Apache Aries JMX Blueprint API (1.1.0)
[ 160] [Active     ] [            ] [       ] [   30] Aries JPA Container API (1.0.0)
[ 161] [Active     ] [Created     ] [       ] [   30] Aries JPA Container blueprint integration for Aries blueprint (1.0.1)
[ 162] [Active     ] [            ] [       ] [   30] Aries JPA Container (1.0.0)
[ 163] [Active     ] [            ] [       ] [   30] Aries JPA Container Managed Contexts (1.0.1)
[ 164] [Active     ] [            ] [       ] [   30] Apache Aries JNDI API (1.0.0)
[ 165] [Active     ] [            ] [       ] [   30] Apache Aries JNDI Core (1.0.0)
[ 166] [Active     ] [            ] [       ] [   30] Apache Aries JNDI RMI Handler (1.0.0)
[ 167] [Active     ] [            ] [       ] [   30] Apache Aries JNDI URL Handler (1.0.0)
[ 168] [Active     ] [            ] [       ] [   30] Apache Aries JNDI Support for Legacy Runtimes (1.0.0)
[ 338] [Active     ] [Created     ] [       ] [   30] Apache Aries Transaction Blueprint (1.0.0)
[ 339] [Active     ] [            ] [       ] [   30] Apache Aries Transaction Manager (1.0.1)

升级到Hibernate 4.2.7,因为有一些OSGi修复了与休眠有关的事务。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM