java - maven多模块的Spring Hibernate配置

标签 java spring hibernate maven

我有如下所示的多模块项目

  • DbUtils
    • 博士模块项目
    • 患者模块项目

我已经在 DbUtils 项目中配置了 hibernate,配置文件如下

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

现在我想在两个子模块中使用这个 session 工厂,并且我想setPackagesToScan项目明智。 即医生模块 com.test.doctor.pojos 和患者模块 com.test.patent.pojos

问题1)如何实现这一目标?

Q.2)是否有其他更好的方法在多模块中创建和使用 session 工厂?

最佳答案

如果您使用的是 Hibernate4+,那么您可能需要访问 http://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch16.html

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

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

关于java - maven多模块的Spring Hibernate配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43555460/

相关文章:

Spring:使用@Controller注解的 Controller 继承

java - Infinispan JPA 二级缓存默认值

java - Hibernate一对一映射注释插入异常(插入跨国表时,主表数据不应改变)

java - Hibernate 中的孤立删除(当有多个映射对象时)

java - Hibernate 和 postgresql bigserial - 非顺序

java - Spring-Data-Jpa - 使用多个命名参数时出现空指针异常

java - 测试 Spring : Avoid injections into mocked objects with Mockito

java - 使用作业参数进行 Spring 批量重启

java - Spring 4 Attribute 'items' 必须是数组、Collection或Map

Java + Selenium : How to know if WebElement is clickable in a way other than isDisplayed, isEnabled 和 findElement?