如果你使用早前版本的Spring又恰好采用了Annotation注解方式(而非传统XML方式)配置Hibernate对象关系映射那么在通过orgspringframeworkormhibernateannotationAnnotationSessionFactoryBean配置sessionFactory时你一定对annotatedClassesannotatedPackages有一种说不出的胸闷的感觉如此以高配置性见长的Spring怎么在这一个小小的环节上就不能做得再灵活些呢一定要一个个手写Class路径么?
估计有不少人无奈选择了从AnnotationSessionFactoryBean继承一个自定义的子类自己实现扫描逻辑找出@Entity注解过的类清单配置进去
Spring 里有个不怎么起眼的改进那就是在AnnotationSessionFactoryBean上增加了一个新的方法setPackagesToScan(String[] packagesToScan)
有了这个方法我们不再需要自己动手去实现实体类的扫描了直接在Spring配置文件中AnnotationSessionFactoryBean这个section上增加类似如下的一个property即可(假定你需要加载的实体类所在的包名match这个字符串com**bo)
<property name=
packagesToScan
value=
com
**
bo
/>
你也可以以清单的方式指定多于条的匹配字串如
<property name=packagesToScan>
<list>
<value>comabccorebo</value>
<value>comabcauditingbo</value>
</list>
</property>