В настоящее время у меня есть источник данных, который я использовал для JDBCTemplate, и я хочу повторно использовать его для Hibernate.
Нет проблем.Я бы только упомянул, что для доступа к одним и тем же таблицам через Hibernate и JDBC потребуются некоторые меры предосторожности.
(...) Наиболее запутанным является то, что иногда используется файл persistence.xml, иногда hibernateXML-файл конфигурации.
hibernate.cfg.xml
- это файл конфигурации Hibernate native .persistence.xml
- это файл конфигурации JPA (стандартизированный Java Persistence API).Если вы решите пойти по JPA (и это будет моей рекомендацией), вы обычно используете только persistence.xml
.И если вы используете Spring, большая часть конфигурации на самом деле окажется в файле конфигурации Spring в любом случае.
Тогда есть фабрики сеансов, но есть и фабрики менеджеров сущностей.Может кто-нибудь, пожалуйста, передайте часть этой информации, чтобы у меня был более ясный путь впереди.
Та же история, что и выше.SessionFactory
(и Session
) являются классами из нативного API Hibernate, в то время как EntityManagerFactory
и EntityManager
являются в некотором роде "аналогами" JPA.Если вы пойдете по JPA, вы будете иметь дело с EntityManagerFactory
и EntityManager
.
Моими единственными реальными требованиями является то, чтобы я мог использовать аннотации с Hibernate.Мне бы тоже хотелось иметь поддержку транзакций.
Как уже упоминалось, я бы предложил использовать стандартизированный API JPA (и использовать проприетарные расширения Hibernate, только если это строго необходимо).Для транзакций используйте Spring.
Раздел 12.6.JPA документации охватывает все, что вам нужно для настройки Spring (я предлагаю использовать LocalContainerEntityManagerFactoryBean
, который вы будете передавать с вашим источником данных).
Для данныхУровень доступа (DAO) либо использует классы JpaTemplate
и JpaDaoSupport
, либо реализует DAO на основе простого JPA с использованием введенных EntityManagerFactory
или EntityManager
(я лично используюболее поздний подход).
Все эти ссылки на документацию по Spring 2.5 все еще действительны в Spring 3.0.На всякий случай, вот не слишком старый учебник , который может помочь вам начать.
См. Также