Я никогда не использовал весну, поэтому я не знаю, использует ли она какие-то хитрости для преодоления этой проблемы.

ользую проект с Spring JPA и Hibernate. Большинство вещей вpersistence.xml можно указать веснойapplicationContext.xml файл.

Так этоpersistence.xml требуется больше?

Благодарю.

Ответы на вопрос(2)

Решение Вопроса

Обновить: Spring 3.1 будет поддерживатьpersistence.xmlСвободная конфигурация JPA, см.Spring 3.1 M2: улучшения конфигурации.

Ответ Дарио хорош для практического использования, но не является технически правильным.

PersistenceProvider имеет два заводских метода:

EntityManagerFactory createEntityManagerFactory(String emName, Map map) - для автономных сред,persistence.xml должен быть проанализирован постоянным провайдером.

EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info, Map map) - для сред серверов приложений,persistence.xml был проанализирован сервером приложений и его содержимое передается какPersistenceUnitInfo.

СпрингаLocalContainerEntityManagerFactoryBean эмулирует среду сервера приложений. Поэтому он разбираетpersistence.xml само объединяет его содержимое со значениями из контекста приложения и передает его поставщику постоянства, используя второй метод фабрики.

Однако процесс полученияpersistence.xml данные настраиваются:

Вы можете настроить имяpersistence.xml использование файлаpersistenceXmlLocation свойство - это полезно, чтобы избежать конфликтов со стратегиями инициализации JPA серверов приложений по умолчанию.

Вы можете полностью переопределить источникPersistenceUnitInfo установив пользовательскийPersistenceUnitManager стратегия.

Итак, на самом деле вы можете настроить JPA весной безpersistence.xml написав обычайPersistenceUnitManagerХотя такой менеджер не доступен из коробки.

 darioo19 янв. 2011 г., 15:52
Очень хороший ответ, я бы проголосовал за вас, если бы не использовал все голоса за этот день. Я предположил, что OP не стал бы копаться в Spring, поскольку это кажется ненужным и несколько сложным.

persistence.xml требуется, когда вы используете Hibernate через JPA, даже если вы используете Spring JPA. Если вы используете Hibernate напрямую, тоpersistence.xml не нужен

 Suvasis18 сент. 2014 г., 13:19
Почему Spring JPA с Hibernate в качестве поставщика JPA нужен файл persistence.xml?

Ваш ответ на вопрос