Контекст приложения Spring boot 2 xml свойства гибернации - PullRequest
0 голосов
/ 25 февраля 2020

Я конвертирую старое приложение Spring в Spring boot. Поэтому я все еще буду использовать существующую конфигурацию xml вместо аннотаций. В appContext. xml я настроил свойства спящего режима для чтения из свойств приложения следующим образом.

<bean id="appSessionFactory"
    class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${spring.jpa.database-platform}</prop>
            <prop key="hibernate.show_sql">${spring.jpa.show-sql}</prop>
            <prop key="hibernate.format_sql">${spring.jpa.format-sql}</prop>
            <prop key="hibernate.hbm2ddl.auto">${spring.jpa.hibernate.ddl-auto}</prop>
            <prop key="hibernate.generate_statistics">true</prop>               
        </props>
    </property>

В противном случае эти свойства спящего режима не будут устанавливаться только с помощью application.properties. Но источник данных автоматически создается при чтении файла application.properties. Может кто-нибудь сказать мне, что я пропускаю для свойств спящего? Я определенно хочу сохранить appContext. xml, так как изменение его на использование аннотации требует большого количества рефакторинга.

Это мое приложение. Свойства.

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.url=xxxxxx
spring.datasource.username=xxxx
spring.datasource.password=xxxxx
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.tomcat.initial-size=15
spring.datasource.tomcat.max-wait=20000
spring.datasource.tomcat.max-active=50
spring.datasource.tomcat.max-idle=15
spring.datasource.tomcat.min-idle=8
spring.datasource.tomcat.default-auto-commit=true
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true
spring.jpa.format-sql=false

1 Ответ

0 голосов
/ 25 февраля 2020

Может быть установлено только application.properties.

    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${spring.jpa.database-platform}</prop>
            ...            
        </props>
    </property>

до

spring.jpa.properties.hibernate.dialect=${spring.jpa.database-platform}
...

удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...