为多模块项目创建单个LocalContainerEntityManagerFactoryBean

时间:2018-05-25 09:02:00

标签: java spring-boot spring-data-jpa

我们的主要项目pom使用依赖的jar,它们也是使用Spring应用程序开发的。

我们正面临一个问题,依赖的罐子也包含实体。我们想在最后创建一个LocalContainerEntityManagerFactoryBean,它存储项目中的所有实体(主项目和依赖项)。

我做了一些阅读并试图按照以下方式实施,但没有成功,

1>在父项目中使用MergingPersistenceUnitManager:    问题:当我检查类的源代码时,它期望依赖jar中的persistence.xml文件。但我们不使用persistence.xml,我们只是使用相同的注释。

2 - ;在PostProcessBeforeInitialization方法中为LocalContainerEntityManagerFactoryBean创建BeanPostProcessor并设置((LocalContainerEntityManagerFactoryBean)bean).setPersistenceUnitPostProcessors()。  问题:我们有多个模块,所以如果我这样编码,只会设置最后一个模块PersistenceUnitPostProcessors。

如果有任何方法可以帮助有人帮助吗?

提前致谢, Kitty的

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法。 在bean post处理器中,我可以通过提供要在相应项目中扫描的包名来添加PersistenceUnitPostProcessor。

在依赖项目中,不应该为LocalContainerEntityManagerFactoryBean创建任何bean。