将OpenJPA迁移到Spring Boot 2.1.7中的休眠状态

问题描述 投票:0回答:1

我正在将spring应用程序迁移到spring boot.spring项目中,已经使用OpenJPA实现了JPA。我需要将其更改为休眠状态。sistenceance.xml

<persistence-unit name="PersistenceUnit" transaction-type="RESOURCE_LOCAL">
        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
        <mapping-file>META-INF/queries.xml</mapping-file> 
        <class>com.dta.abc</class>  
        <exclude-unlisted-classes>true</exclude-unlisted-classes>
        <properties>
            <property name="openjpa.Log" value="DefaultLevel=ERROR, Tool=ERROR" />
            <property name="openjpa.jdbc.DBDictionary" value="sybase" />
            <property name="openjpa.DataCache" value="true" />
        </properties>
    </persistence-unit>
</persistence>

data-source.xml

<util:map id="sessionSettingsMap">
        <entry key="SESSION_SETTINGS_ON" value="set literal_autoparam off"/>
        <entry key="SESSION_SETTINGS_OFF" value=""/>
    </util:map>
    <bean id="sybaseDataSource" class="org.apache.tomcat.jdbc.pool.DataSource"  primary="true" >
        <property name="driverClassName" value="com.sybase.jdbc3.jdbc.SybDriver" />     
    </bean>

    <bean id="TransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager" primary="true" >
        <property name="entityManagerFactory" ref="EntityManagerFactory" />             
    </bean>
     <bean id="openJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter">
        <property name="showSql" value="${connection.show_sql}" />
        <property name="generateDdl" value="${connection.generateDdl}" />
        <property name="databasePlatform" value="${connection.dialect}" />
    </bean> 
    <bean id="EntityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" primary="true">
        <property name="dataSource" ref="DataSource" />
         <property name="jpaVendorAdapter" ref="openJpaVendorAdapter" /> 
        <property name="persistenceUnitName" value="SybaseUnit" />
        <property name="jpaProperties">
            <props>
                <prop key="javax.persistence.query.timeout">90000</prop>
            </props>
        </property>   
        <property name="packagesToScan" >
            <list>
                <value>com.datasource.jpa.dto</value>
            </list>
        </property>
    </bean>

此迁移的原因是Spring Boot2.1.7不支持OpenJPA

要迁移OpenJPA进入休眠状态,需要进行哪些更改?有没有最简单的方法呢?请提出有效的解决方案

spring hibernate spring-boot spring-data-jpa openjpa
1个回答
0
投票

我想知道为什么您仍在使用基于xml的配置。您可以在application.properties文件中配置Hibernate属性,并编写一个配置类来加载所有bean。您可以参考https://howtodoinjava.com/spring-boot2/hibernate-configuration-example/

© www.soinside.com 2019 - 2024. All rights reserved.