maven多模块

时间:2017-04-22 05:05:36

标签: java spring hibernate maven

我有像下面这样的多模块项目

  • DbUtils
    • Doctor Module Project
    • 患者模块项目

我在DbUtils项目中使用配置文件配置了hibernate,如下所示

LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
    sessionFactory.setDataSource(dataSource());
    sessionFactory.setPackagesToScan(new String[] { "com.test.dbutils.pojos" });

现在我想在两个子模块中使用这个会话工厂,我希望setPackagesToScan项目明智。 即医生模块com.test.doctor.pojos和患者模块com.test.patient.pojos

Q.1)如何实现这一目标?

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

1 个答案:

答案 0 :(得分:0)

如果您使用的是Hibernate4 +,那么您可能希望通过http://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch16.html

否则,据我所知,您必须让JVM在编译时了解set packagesToScan。如果您将Doctor和Patient作为单独的SpringBoot应用程序运行[但仍然利用DBUtils中的公共代码],那么您可以选择通过某些application.properties文件将包作为String传递,并在子模块中设置正确的POJO包。

如果您在同一个应用程序中同时运行Doctor和Patient,您至少可以尝试传递多个包[sessionFactory.setPackagesToScan(new String[] { "com.test.doctor.pojos", "com.test.patient.pojos" });]