估計有不少人無奈選擇了從AnnotationSessionFactoryBean繼承一個自定義的子類,自己實現掃描邏輯,找出@Entity注解過的類清單配置進去。
Spring 2.5.6里有個不怎么起眼的改進,那就是在AnnotationSessionFactoryBean上增加了一個新的方法:
setPackagesToScan(String[] packagesToScan)
有了這個方法,我們不再需要自己動手去實現實體類的掃描了,直接在Spring配置文件中AnnotationSessionFactoryBean這個section上增加類似如下的一個property即可(假定你需要加載的實體類所在的包名match這個字符串"com.**.bo"):
<property name="packagesToScan" value="com.**.bo"/>
你也可以以清單的方式指定多于1條的匹配字串,如:
<property name="packagesToScan">
<list>
<value>com.abc.core.bo</value>
<value>com.abc.auditing.bo</value>
</list>
</property>
<list>
<value>com.abc.core.bo</value>
<value>com.abc.auditing.bo</value>
</list>
</property>