Spring MVC,用于模块访问的休眠实体管理器配置

萨姆·萨米特

我在Maven中使用Spring MVC,下面有一个模块结构。

Web项目是MVC模块,我将在Web模块中使用的模型移到了Model Module。它可以编译并正常运行。

但是,当我尝试使用实体管理器时,出现Unknown Entity Error

我是否缺少为我的实体管理器配置添加的配置以访问模型模块中的模型类?

我在Web模块中添加了Model模块的依赖项,并且可以访问Model模块中的类。但是实体管理器似乎无法访问模型模块。

 main
 |
 --Web
 |
 --Model

jpaContext.xml:

<context:annotation-config />
<context:component-scan base-package="com.myproject"/>


<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="punit"/>
    <property name="dataSource" ref="dataSource" />
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="true" />
        </bean>
    </property>

    <property name="jpaPropertyMap">
        <map>
            <entry key="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
            <entry key="hibernate.hbm2ddl.auto" value="create" />
            <entry key="hibernate.format_sql" value="true" />
        </map>
    </property>

</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<tx:annotation-driven transaction-manager="transactionManager"/>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/Web?autoReconnect=true" />
    <property name="username" value="root" />
    <property name="password" value="123456" />
</bean>

用于模型模块的POM.XML

<modelVersion>4.0.0</modelVersion>
 <parent>
   <groupId>com.myproject</groupId>
  <artifactId>main</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>Model</artifactId>
<dependencies>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.2.0.Final</version>
</dependency>
<dependency>
    <groupId>javax.persistence</groupId>
    <artifactId>persistence-api</artifactId>
    <version>1.0.2</version>
</dependency>

 </dependencies>

Web模块的POM.XML

        <modelVersion>4.0.0</modelVersion>
<artifactId>Web</artifactId>
<packaging>war</packaging>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>3.2.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>4.2.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.4.1</version>
    </dependency>
    <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-oxm</artifactId>
        <version>3.2.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.21</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.1.9.Final</version>
    </dependency>
    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>3.2.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>3.2.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>com.myproject</groupId>
        <artifactId>Model</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>
<parent>
    <groupId>com.myproject</groupId>
    <artifactId>main</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
萨姆·萨米特

问题是在我的案例中,jpaContext.xml中的实体管理器配置文件位于我的WEbModule / Resources文件夹中,并且Web模块依赖于模型模块来使用在模型模块中定义的实体类。

默认情况下,具有@Entity批注的模型模块中的实体会搜索实体管理器,并且由于实体管理器是在Web模块中定义的,因此我无法访问它,这就是为什么我找不到实体错误的原因。在我的情况下,由于Web模块已经引用了Model Module,由于循环依赖,我无法将Model Module引用到Web Project。

The soultion was to move my jpaContext.xml to Model Module and Works Just Fine

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring MVC,用于模块访问的休眠实体管理器配置

来自分类Dev

如何在自定义实现中访问配置了Spring Data的实体管理器(工厂)

来自分类Dev

何时使用Spring JPA(休眠)实体管理器将连接返回到连接池?

来自分类Dev

如何使用Spring Boot和Spring数据访问实体管理器

来自分类Dev

JPA,spring-boot,使用旧的未注释类配置实体管理器

来自分类Dev

Spring Boot jpa 通过实体管理器访问辅助数据源

来自分类Dev

Spring Boot数据休眠事务管理器

来自分类Dev

spring-boot:自动配置事务管理器

来自分类Dev

事务实体管理器不可用Spring / JPA / Hibernate-Pluralsight

来自分类Dev

使用 Spring JPA 持久实体管理器时如何处理角色交换?

来自分类Dev

使用Spring MVC的休眠验证器组

来自分类Dev

Spring Boot 将自动配置 JPA 事务管理器

来自分类Dev

Spring Boot中的多个事务管理器,用于不同的EntityManager

来自分类Dev

休眠过滤器不适用于Spring MVC控制器

来自分类Dev

Spring MVC +休眠+安全

来自分类Dev

Spring Data 1.6.0 GA无法通过自定义ID查找实体管理器工厂bean

来自分类Dev

Spring 4和带有实体管理器的Hibernate 4 / c3p0无法启动

来自分类Dev

Spring Data 1.6.0 GA无法通过自定义ID查找实体管理器工厂bean

来自分类Dev

具有多个模式/数据库的 spring-boot 应用程序中的实体管理器错误

来自分类Dev

使用休眠验证器XML配置和Spring自动验证

来自分类Dev

Spring.Net +休眠配置

来自分类Dev

Spring JPA DAO中的事务管理器

来自分类Dev

在Spring Boot中创建Bitronix事务管理器

来自分类Dev

Spring Cloud AWS:可选的缓存管理器

来自分类Dev

Spring Boot + Activiti资源管理器

来自分类Dev

Spring Security 身份验证管理器问题

来自分类常见问题

Spring MVC与Spring Boot与Spring

来自分类Dev

Spring MVC Maven模块

来自分类Dev

Spring MVC:管理异常

Related 相关文章

  1. 1

    Spring MVC,用于模块访问的休眠实体管理器配置

  2. 2

    如何在自定义实现中访问配置了Spring Data的实体管理器(工厂)

  3. 3

    何时使用Spring JPA(休眠)实体管理器将连接返回到连接池?

  4. 4

    如何使用Spring Boot和Spring数据访问实体管理器

  5. 5

    JPA,spring-boot,使用旧的未注释类配置实体管理器

  6. 6

    Spring Boot jpa 通过实体管理器访问辅助数据源

  7. 7

    Spring Boot数据休眠事务管理器

  8. 8

    spring-boot:自动配置事务管理器

  9. 9

    事务实体管理器不可用Spring / JPA / Hibernate-Pluralsight

  10. 10

    使用 Spring JPA 持久实体管理器时如何处理角色交换?

  11. 11

    使用Spring MVC的休眠验证器组

  12. 12

    Spring Boot 将自动配置 JPA 事务管理器

  13. 13

    Spring Boot中的多个事务管理器,用于不同的EntityManager

  14. 14

    休眠过滤器不适用于Spring MVC控制器

  15. 15

    Spring MVC +休眠+安全

  16. 16

    Spring Data 1.6.0 GA无法通过自定义ID查找实体管理器工厂bean

  17. 17

    Spring 4和带有实体管理器的Hibernate 4 / c3p0无法启动

  18. 18

    Spring Data 1.6.0 GA无法通过自定义ID查找实体管理器工厂bean

  19. 19

    具有多个模式/数据库的 spring-boot 应用程序中的实体管理器错误

  20. 20

    使用休眠验证器XML配置和Spring自动验证

  21. 21

    Spring.Net +休眠配置

  22. 22

    Spring JPA DAO中的事务管理器

  23. 23

    在Spring Boot中创建Bitronix事务管理器

  24. 24

    Spring Cloud AWS:可选的缓存管理器

  25. 25

    Spring Boot + Activiti资源管理器

  26. 26

    Spring Security 身份验证管理器问题

  27. 27

    Spring MVC与Spring Boot与Spring

  28. 28

    Spring MVC Maven模块

  29. 29

    Spring MVC:管理异常

热门标签

归档