Java maven多模块的Spring Hibernate配置

Java maven多模块的Spring Hibernate配置,java,spring,hibernate,maven,Java,Spring,Hibernate,Maven,我有如下多模块项目 德布提尔 博士模块项目 病人模块项目 我已经在DbUtils项目中使用如下配置文件配置了hibernate LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setPackagesToScan(new String[] { "com.test.

我有如下多模块项目

  • 德布提尔
    • 博士模块项目
    • 病人模块项目
我已经在DbUtils项目中使用如下配置文件配置了hibernate

LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
    sessionFactory.setDataSource(dataSource());
    sessionFactory.setPackagesToScan(new String[] { "com.test.dbutils.pojos" });
现在,我想在两个子模块中都使用这个会话工厂,并且我想
setPackagesToScan
Project-wise。 i、 e用于医生模块
com.test.Doctor.pojos
和患者模块
com.test.Patient.pojos

问题1)如何实现这一点


问题2)有没有其他更好的方法在多模块中创建和使用会话工厂?

如果您使用的是Hibernate4+,那么您可能需要通过

否则,据我所知,您必须在编译时让JVM知道set packagesToScan。如果您将医生和患者作为单独的SpringBoot应用程序运行(但仍然利用DBUtils中的公共代码),那么您可以选择通过一些application.properties文件将包作为字符串传递,并在子模块中设置正确的POJO包


如果在同一个应用程序中同时运行医生和患者,则至少可以尝试传递多个包
[sessionFactory.setPackagesToScan(新字符串[]{“com.test.Doctor.pojos”,“com.test.Patient.pojos”}];]

如果您在Hibernate4+上,则可能需要通过

否则,据我所知,您必须在编译时让JVM知道set packagesToScan。如果您将医生和患者作为单独的SpringBoot应用程序运行(但仍然利用DBUtils中的公共代码),那么您可以选择通过一些application.properties文件将包作为字符串传递,并在子模块中设置正确的POJO包


如果在同一个应用程序中同时运行医生和患者,则至少可以尝试传递多个包
[sessionFactory.setPackagesToScan(新字符串[]{“com.test.Doctor.pojos”,“com.test.Patient.pojos”}];]

假设
@EntityScan
是另一种方法。参考示例这可能会有所帮助。假设
@EntityScan
是另一种方法。参考示例,这可能会有所帮助。。