我非常喜欢spring数据存储库的简单性,但是需要使用hibernate作为持久性提供程序来保持一致性和其他一些因素。 (我使用mongodb但不使用mongo模板)。我注意到的事情很少 -
HibernateJpaVendorAdapter使用“org.springframework.orm.jpa.vendor.SpringHibernateEjbPersistenceProvider”
在通过“org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean”bean构造EntityManagerFactory时,不考虑使用持久性单元(“”org.hibernate.ogm.jpa.HibernateOgmPersistence“)配置的提供程序。
如果为项目配置了多个持久性单元,则没有明显的方法可以将存储库的持久性单元关联起来。
问题:
有没有办法使用配置的持久性提供程序,而不是默认的?默认提供程序不使用mongodb。
有没有办法将存储库与特定的持久性单元相关联?
答案 0 :(得分:0)
部分解决方案是
实施
org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter
和
返回一个实例
org.hibernate.ogm.jpa.HibernateOgmPersistence
in
getPersistenceProvider()
方法
获取jpaVendorAdapter
的{{1}}媒体资源
bean in spring config
然而,只要有对Pageable的引用,它仍然无法正常工作。一些设计变更可以避免这个问题。