我正在使用 Spring 数据 JPA 存储库。
我的测试在 IDEA 中运行良好,生产代码在 Tomcat 中运行,但是在运行 gradle 测试时我收到无法创建应用程序上下文的异常
... 61 more
Caused by: java.lang.IllegalArgumentException: Not an managed type: class com.test.FullNamespaceConfig
我的班级有@Entity 注释并从另一个具有@MappedSuperclass 的班级继承
这里可能有什么问题?在 IDEA 和 gradle 中运行有什么区别(IDEA 项目是使用 gradle idea 生成的)
它是带有 spring 的 gradle 模块:
<context:annotation-config/>
<context:component-scan base-package="com.test.dao"/>
<context:component-scan base-package="com.test.reports"/>
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${database.driver}"/>
<property name="url" value="${database.url}"/>
<property name="username" value="${database.user}"/>
<property name="password" value="${database.password}"/>
</bean>
<!-- Declare a JPA entityManagerFactory-->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath*:META-INF/persistence.xml"></property>
<property name="persistenceUnitName" value="hibernatePersistenceUnit"/>
<property name="dataSource" ref="dataSource"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="${database.showSql}"/>
<property name="databasePlatform" value="${hibernate.dialect}"/>
</bean>
</property>
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"/>
</property>
<property name="packagesToScan" value="com.test"/>
</bean>
<!-- Declare a transaction manager-->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<jpa:repositories base-package="com.test.dao"/>