2013-10-29 87 views
1

我使用的是OSGi,Karaf 2.3.1,Hibernate 4.2.6.Final,容器管理的JPA和容器管理的JTA。 我的代碼無法使用flush()。 但是flush()回滾不起作用。OSGi容器管理的JPA(4.2.6)沒有提交事務

問題是:是否存在解決方法?

4.2.2的問題在這裏描述Transactions with Hibernate in Apache Karaf/OSGi 切換到4.2.6沒有幫助。

重發樣品中我能看到的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(); 
} 

謝謝。

我的詳細配置:

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) 

回答

1

升級到4.2.7的Hibernate作爲有與Hibernate事務一些OSGi的修復。

+0

非常感謝,已經切換到hibernate 4.2.7並且問題已經解決。 –