NHibernate常见问题


1、An association from the table refers to an unmapped class

在学习hibernate的时候,碰到一个"An association from the table ## refers to an unmapped class:##"

第一个##代表表明,第二个是类名 。 按字面意思去解释:一个表找不到对应的映射类。例如(table:MAN   class:mypack.Wife)

出现这种错误的原因是,hibernate配置文件中没有配置 wife

查看hibernate.cfg.xml文件确实已经mapping加载了映射文件,那错误到底会出在哪呢?

原来hibernate.cfg.xml文件最初是放在src子目录下,运行程序后,一个build.xml的文件将cfg.xml文件copy到了classes目录下,而此时你添加的mapping是在crc目录下进行的,classes目录下的cfg.xml文件没有随之更改,所以需要手动的在classes目录下找到该文件,手动修改。

既然开始学习hibernate了,我想你也不是一个完全的it新手,所以怎么找到copy的cfg.xml就不用我细说了吧。

2、No persister for nhibernate 

No persister for: ESFM.Model.Test 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: NHibernate.MappingException: No persister for: ESFM.Model.Test

源错误: 


行 27:         public Test Save(Test test)
行 28:         {
行 29:             HibernateTemplate.Save(test);
行 30:             return test;
行 31:         }

 解决方法:在你的实体类对应的配置文件点右键选择属性,修改类型为:一直复制和嵌入的资源。就可以了。 
 
 
3、Hibernate flusing: could not execute batch command
出现这种问题一般都是字段长度超长问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值