我有一个包含注释实体类的包,我将其导入到我的Web项目中。 当tomcat部署项目时,不会扫描jar中的实体类以进行注释。有没有办法告诉spring在jar文件中搜索带注释的类?即:
<context:component-scan base-package="{path to jar or something}"/>
答案 0 :(得分:8)
第二个例子:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="test.package"/>
</bean>
将两个通配符放在后面以扫描所有子包。 (例如:“test.package。**”)
答案 1 :(得分:6)
如果您的意思是@Entity
注释类,<context:component-scan>
与它们无关。 Hibernate发现了@Entity
个类,所以你需要配置Hibernate,而不是Spring。
如果您通过JPA使用Hibernate(即您拥有persistence.xml
),则需要将以下行添加到persistence.xml
,以便扫描/WEB-INF/lib/yourFileWithEntities.jar
实体类:
<jar-file>lib/yourFileWithEntities.jar</jar-file>
答案 2 :(得分:1)
使用spring3.1,或使用<class>com.***.***<class>
标记在persistence.xml中添加实体类。