估计有不少人无奈选择了从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 >