集成Hibernate OGM和Spring Data JPA

时间:2017-05-17 17:06:17

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

我们如何将Hibernate OGM与Spring Data JPA集成,以便包含Hibernate ORM的现有应用程序可以与Hibernate OGM一起使用。

这是我目前用于Hibernate ORM的配置

 @Bean(name = "jdbc")
 public DriverManagerDataSource getDriverManager() {
 DriverManagerDataSource driverManagerDataSource = new
 DriverManagerDataSource(
 env.getProperty(dataBase + ".url"), env.getProperty(dataBase +
 ".username"),
 env.getProperty(dataBase + ".password"));
 driverManagerDataSource.setDriverClassName(env.getProperty(dataBase +
 ".driver"));
 return driverManagerDataSource;
 }

@Bean(name = "japaImplementation")
public HibernateJpaVendorAdapter getHibernate() {
    HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
    vendorAdapter.setDatabasePlatform(env.getProperty(dataBase + ".dialect"));
    vendorAdapter.setGenerateDdl(true);
    vendorAdapter.setShowSql(true);
    return vendorAdapter;
}

 @Bean(name = "entityManagerFactory")
 public LocalContainerEntityManagerFactoryBean
 getEntityManagerFactoryBean() {
 LocalContainerEntityManagerFactoryBean factoryBean = new
 LocalContainerEntityManagerFactoryBean();
 factoryBean.setDataSource(getDriverManager());
 factoryBean.setJpaVendorAdapter(getHibernate());
 factoryBean.setPackagesToScan("com.xyz.abc.entity");
 return factoryBean;
 }

2 个答案:

答案 0 :(得分:0)

我只是快速浏览了一下Hibernate OGM。它似乎只是一个JPA实现。所以Spring Data JPA应该开箱即用。虽然到目前为止还没有对它进行测试。

但它提出了一个问题,为什么你想这样做呢?对于大多数(如果不是全部)Hibernate OGM支持的数据存储,已经有Spring Data模块。那你为什么不直接使用Spring Data MongoDB呢?

答案 1 :(得分:0)

项目是彼此之间更多的选择,而不是让一个项目在另一个项目之上运行。有关双方的论据,请参阅this question