#java #hibernate #spring #migration
#java #переход в спящий режим #spring #миграция
Вопрос:
Мне трудно найти документы по миграции. Я использовал sping 3.0.5 и спящий режим 3.4.
Я перешел на последние версии-кандидаты: Spring 3.1 и hibernate 4.0
Я смог без проблем реорганизовать свои классы, но контекст приложения для hibernate вызывает у меня проблемы, поскольку я не вижу никаких примеров того, как его настроить.
В частности:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list>...</list>
</property>
<property name="hibernateProperties">
<props>
...
<prop key="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</prop>
<prop key="hibernate.cache.provider_class">????</prop>
...
</props>
</property>
</bean>
По-видимому, свойства dataSource
, mappingResources
и hibernateProperties
больше не существуют, и я не уверен, что нужно вставлять в hibernate.connection.provider_class
и hibernate.cache.provider_class
.
И я продолжаю получать:
Caused by: java.lang.ClassNotFoundException: org.hibernate.engine.FilterDefinition
при запуске приложения.
Ответ №1:
Насколько мне известно, Spring не поддерживает Hibernate 4. Если бы это произошло, я бы ожидал увидеть org.springframework.orm.hibernate4
пакет в списке пакетов 3.1.x, но его там нет. Я не думаю, что я видел какое-либо упоминание об этом в каких-либо примечаниях к выпуску или что-либо еще.
Другими словами, Spring работает нормально, но вы используете несовместимую версию Hibernate.
Комментарии:
Ответ №2:
dataSource
все еще существует на основе JavaDoc для LocalSessionFactoryBean. Смотрите раздел в самом верху; в нем есть пример конфигурации со dataSource
свойством. mappingResources
также существует.
В справочном руководстве по Spring 3.1 также есть пример с dataSource
и mappingResources
.
В Hibernate 4 пока нет руководства по ссылке.