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对应的配置文件;
本文解决使用Maven管理的项目中,子模块JAR包中@Entity类未被扫描的问题。通过调整配置,删除不必要的属性并增加实体类包名扫描属性,实现扫描多JAR包中的@Entity类。

被折叠的 条评论
为什么被折叠?



