Spring JPA 无法扫描多JAR包中@Entity类的有关问题
www.MyException.Cn 发布于:2013-02-24 17:58:56 浏览:15次
Spring JPA 无法扫描多JAR包中@Entity类的问题
问题描述:项目中使用Maven管理,将项目划分为多个子模块,每个子模块中都自己模块的实体类。 在主模块中使用Spring JPA的配置如下:
这样配置会引起一个问题:子模块JAR中实体类不会被扫描。
问题的解决方案如下:
问题描述:项目中使用Maven管理,将项目划分为多个子模块,每个子模块中都自己模块的实体类。 在主模块中使用Spring JPA的配置如下:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="persistenceUnitName" value="persistence"/> <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/> <property name="jpaProperties"> <props> <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.SingletonEhCacheRegionFactory</prop> <prop key="net.sf.ehcache.configurationResourceName">ehcache/ehcache-hibernate-local.xml</prop> <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop> </props> </property> </bean>
这样配置会引起一个问题:子模块JAR中实体类不会被扫描。
问题的解决方案如下:
1. 删除对应的entityManagerFactory中的属性: <property name="persistenceUnitName" value="persistence"/>; 2. 增加新的entityManagerFactory属性: <property name="packagesToScan" value="自己的Entity类包名"/> 3. 删除persistence对应的配置文件;