关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 5783|回复: 0

Spring与Hibernate调整自动扫描时的陷阱

[复制链接]
发表于 2013-8-17 21:35:34 | 显示全部楼层 |阅读模式
Spring与Hibernate整合自动扫描时的陷阱
在配置Hibernate+Spring时,使用了Spring 2.5.6的自动包扫描(packagesToScan)功能。

这个功能可以自动扫描包中的实体类,避免书写annotatedClasses的麻烦。但在使用这个功能时,我一直遇到类似这样的错误:

Caused by: org.hibernate.MappingException: Unknown entity: com.mycompany.app.model.Users

Spring中的配置是:

        <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">                <property name="dataSource">                        <ref bean="dataSource" />                </property>                <property name="hibernateProperties">                        <props>                                <prop key="hibernate.dialect">                                        ${hibernate.dialect}                                </prop>                                <prop key="hibernate.show_sql">                                        ${hibernate.show_sql}                                </prop>                                <prop key="hibernate.jdbc.fetch_size">                                        ${hibernate.jdbc.fetch_size}                                </prop>                                <prop key="hibernate.jdbc.batch_size">                                        ${hibernate.jdbc.batch_size}                                </prop>                                <prop key="hibernate.c3p0.timeout">                                        ${hibernate.c3p0.timeout}                                </prop>                        </props>                </property>                <property name="packagesToScan" value="com.mycompany.app.model.*" />        </bean>
但是我的实体类明明在com.mycompany.app.model下,为何扫描不到呢?

后来仔细查看文档发现,packagesToScan的value应该配置成com.mycompany.app.*才行,也就是Entity所在包的上一层。这真是一个令人匪夷所思的陷阱啊!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表