nested exception is org.hibernate.MappingException: Unknown entity,问题解决

在将spring+hibernate应用从使用mysql迁移到informix数据库时,遇到nested exception is org.hibernate.MappingException: Unknown entity错误。问题在于pojo访问配置。通过将`packagesToScan`改为`annotatedClasses`并指定具体实体类,解决了该问题。如果有多個pojo类,可在`annotatedClasses`下添加多个value标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到了nested exception is org.hibernate.MappingException: Unknown entity的问题,在网上查了方法好多,都和我的不一样。

 

问题描述如下:

1、我用spring+hibernate,程序在本机myeclipse访问本地mysql没有问题。

2、我在本机把数据库连接改为informix的可以访问,也可以写库。

3、我把代码部署到linux服务器上,访问informix数据库,出现nested exception is org.hibernate.MappingException: Unknown entity这个错误。

 

解决:

原来我的pojo访问配置为

<bean id="sessionFactory"
                class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
                <property name="dataSource">
                        <ref bean="dataSource" />
                </property>

                <property name="packagesToScan">
                        <list>
                                <value>com.xx.xx.pojo</value>
                        </list>
                </property>
                <property name="hibernateProperties">
                        <props>
                                <prop key="hibernate.dialect">
                                        ${hibernate.dialect}
                                </prop>
                                <prop key="hibernate.show_sql">
                                        ${hibernate.show_sql}
                                </prop>
                          </props>
                </property>
                <property name="entityInterceptor">
                        <ref local="trimInterceptor" />
                </property>

        </bean>

 

改为:

<bean id="sessionFactory"
                class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
                <property name="dataSource">
                        <ref bean="dataSource" />
                </property>

                <property name="annotatedClasses">
                        <list>
                                <value>com.xx.xx.pojo.Address</value>

                        </list>
                </property>
                <property name="hibernateProperties">
                        <props>
                                <prop key="hibernate.dialect">
                                        ${hibernate.dialect}
                                </prop>
                                <prop key="hibernate.show_sql">
                                        ${hibernate.show_sql}
                                </prop>
                        </props>
                </property>
                <property name="entityInterceptor">
                        <ref local="trimInterceptor" />
                </property>

        </bean>

对红色部分进行了替换,如果有多个pojo类,就可以在list下面添加多个value标签~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值