Hibernate OGM持久性提供程序可以与Spring-data-jpa一起使用吗?

时间:2015-10-01 11:42:34

标签: spring-data spring-data-jpa hibernate-ogm

我非常喜欢spring数据存储库的简单性,但是需要使用hibernate作为持久性提供程序来保持一致性和其他一些因素。 (我使用mongodb但不使用mongo模板)。我注意到的事情很少 -

  1. HibernateJpaVendorAdapter使用“org.springframework.orm.jpa.vendor.SpringHibernateEjbPersistenceProvider”

  2. 在通过“org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean”bean构造EntityManagerFactory时,不考虑使用持久性单元(“”org.hibernate.ogm.jpa.HibernateOgmPersistence“)配置的提供程序。

  3. 如果为项目配置了多个持久性单元,则没有明显的方法可以将存储库的持久性单元关联起来。

  4. 问题:

    1. 有没有办法使用配置的持久性提供程序,而不是默认的?默认提供程序不使用mongodb。

    2. 有没有办法将存储库与特定的持久性单元相关联?

1 个答案:

答案 0 :(得分:0)

部分解决方案是

  1. 实施 org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter和 返回一个实例 org.hibernate.ogm.jpa.HibernateOgmPersistence in getPersistenceProvider()方法

  2. 获取jpaVendorAdapter的{​​{1}}媒体资源 bean in spring config

  3. 然而,只要有对Pageable的引用,它仍然无法正常工作。一些设计变更可以避免这个问题。