簡體   English   中英

具有Hibernate4的Spring4在獨立進程中失敗

[英]Spring4 with Hibernate4 fails in standalone process

我無法在一個獨立進程中將Spring4與Hibernate4結合使用(沒有像tomcat,WAS等容器)

如何在獨立進程中使用Hibernate4,Spring4和Spring數據存儲庫?

但是我一直認為Spring我總是遇到相同的異常:

Caused by: java.lang.NullPointerException
at org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.getStatus(JtaStatusHelper.java:76)
at org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.isActive(JtaStatusHelper.java:118)
at org.hibernate.engine.transaction.internal.jta.CMTTransaction.join(CMTTransaction.java:149)

對此進行搜索時,我會指出一些有關hibernate.transaction.jta.platform信息,有關Hibernate 4.3的文檔請參見http://docs.jboss.org/hibernate/orm/4.3/devguide/zh-CN/html_single /#服務,JtaPlatform

但是我看到的唯一選擇是org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform但這仍然會導致相同的錯誤。

這是我的Spring配置:

    <context:component-scan base-package="com.xx.yy" />
<jpa:repositories base-package="com.xx.zz.respositories"></jpa:repositories>

<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/culture" />
    <property name="username" value="root" />
    <property name="password" value="" />
</bean>

<tx:annotation-driven transaction-manager="transactionManager" />

<bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
    <property name="jpaDialect">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
    </property>
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="jtaDataSource" ref="dataSource" />
    <property name="packagesToScan" value="culture.matching.index.model" />
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="generateDdl" value="true" />
            <property name="showSql" value="false" />
            <property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
            <property name="database" value="MYSQL" />
        </bean>
    </property>
    <property name="jpaProperties">
        <value>
            hibernate.transaction.jta.platform=org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform
        </value>
    </property>
</bean>

@geoand的回答很有幫助: https : //github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-simple因此我從XML遷移到Java配置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM