我们如何将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;
}
我只是快速浏览了Hibernate OGM。似乎它只是一个 JPA 实现。因此,Spring Data JPA应该开箱即用。尽管到目前为止,它还没有经过测试。
但它提出了一个问题,你为什么要这样做?对于Hibernate OGM支持的大多数(如果不是全部(数据存储,已经有Spring Data模块。那么为什么不直接使用Spring Data MongoDB呢?
这些项目更多的是彼此的替代方案,而不是让一个项目在另一个项目上运行的东西。有关双方的论点,请参阅此问题。