关于NHibernate之 no persister for: ×××.××错误的解决方法

  最近刚开始接触NHibernate三层框架,确实是遇到了不少大大小小的问题,总算是比较理解了这种模式。但是当我进行测试是,总是有一个异常出现的频率极其高,就是 no persister for:×××.×× 。到网上也查了,发现导致这种错误差不多也就三种常见的原因。

  一,是映射文件或配置文件命名错误,eg:News_T.hbm.xml和NHibernate.cfg.xml就是正确的,而New_T.xml和NHibernate.xml就是错误的。

  二,是配置文件里面缺少 <mapping assembly="×××"/> 语句。

  三,xml文件属性生成操作一定要设置为“嵌入的资源”。

  我就很仔细的一遍遍的检查自己有没有这样的错误,这不断检查和摸索的过程中居然发现造成这种错误的原因还有很明显的一种,那就是映射文件中的内容没有和实体中还有数据库中数据的定义分别对应,所以一定要注意细节问题啊!最后几乎没有发现有什么错误了,可是还是没有测试成功,简直是折腾人。不过,最后才发现原来是并不是我的所有的xml文件的生成操作都设置为“嵌入的资源”,我一直以为只需要将配置文件的设置就好了,原来是要所有的啊!更要命的就是,我无意中中把某些映射文件设置为嵌入的资源,所以有些测试成功了,有些没有设置的就怎么也成功不了,我也怎么找不到出现异常的原因。

时间: 2024-07-31 14:26:39

关于NHibernate之 no persister for: ×××.××错误的解决方法的相关文章

fedora25 安装virtualbox5.1 出现提示Kernel driver not installed (rc=-1908) 错误的解决方法

fedora25 安装virtualbox5.1 出现提示Kernel driver not installed (rc=-1908) 错误的解决方法: $ sudo /usr/lib/virtualbox/vboxdrv.sh setup        vboxdrv.sh: Building VirtualBox kernel modules.             vboxdrv.sh: Starting VirtualBox services.

Windows 7 64bit上安装Oracle Database 12c [INS-30131] 错误的解决方法

Windows 7 64bit上安装Oracle Database 12c,出现以下错误: 解决方法: 第一步:控制面板>所有控制面板项>管理工具>服务>SERVER  启动 第二步:控制面板>所有控制面板项>管理工具>计算机管理>系统工具>共享文件夹>共享   右键单击“共享”>新建共享> 点击“下一步”>   单击“浏览”> 选择"本地磁盘(C:)">确定   单击“下一步”:     单击“

飞鸽传书 bind() error=10048错误的解决方法

提示  bind() 错误=10048 原因:其他程序占用飞鸽的 2425 端口 比如:飞秋也是使用2425端口 解决:用netstat命令查看是哪个进程占用了该端口 格式:netstat -ano | find "2425" 结果:  UDP    0.0.0.0:2425     *:*        1716 最后的1716就是占用2425进程的进程ID,看看是什么,可以结束的直接结束该进程,再打开飞鸽就可以了. 关于netstat命令可以输入命令 netstat /? 查看更多

运维实战案例之“Argument list too long”错误与解决方法

作为一名运维人员来说,这个错误并不陌生,在执行rm.cp.mv等命令时,如果要操作的文件数很多,可能会使用通配符批量处理大量文件,这时就可能会出现"Argument list too long"这个问题了. 1.错误现象 这是一台Mysql数据库服务器,在系统中运行了很多定时任务,今天通过crontab命令又添加了一个计划任务,退出时发生了如下报错: #crontab -e 编辑完成后,保存退出,就出现下面如下图所示错误: 2.解决思路 根据上面报错的提示信息,基本判定是磁盘空间满了,

idea调试SpringMvc, 出现:”Can&#39;t find catalina.jar&quot;错误的解决方法

用gradle构建的项目,点击运行出现以下错误提示: Error running PraticeWeb: Can't find catalina.jar 21:54 Error running PraticeWeb Invalid arguments : Already listening [timeout, port, localAddress] 检查tomcat配置发现: File -> Setting -> Build,Execution,Deployment -> Applica

Laravel中常见的错误与解决方法小结

一.报错: 「Can't swap PDO instance while within transaction」 通过查询 Laravel 源代码,可以确认异常是在 setPdo 方法中抛出的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?php public function setPdo($pdo) {   if ($this->transactions >= 1) {     throw new RuntimeException("

关于spring4和hibernate4整合,配置事务报“Cannot unwrap to requested type [javax.sql.DataSource]”错误的解决方法及心得

Cannot unwrap to requested type [javax.sql.DataSource] 配置hibernate4和spring4时,出现错误,解决方法: 1.我去了spring4中的事务配置,数据库可以正常执行并访问.如下: <!-- 配置Hibernate  数据事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.Hibernat

启动 Eclipse 弹出&ldquo;Failed to load the JNI shared library jvm.dll&rdquo;错误的解决方法!

启动 Eclipse 弹出"Failed to load the JNI shared library jvm.dll"错误的解决方法 http://blog.csdn.net/zyz511919766/article/details/7442633   原因1:给定目录下jvm.dll不存在. 对策:(1)重新安装jre或者jdk并配置好环境变量.(2)copy一个jvm.dll放在该目录下. 原因2:eclipse的版本与jre或者jdk版本不一致 对策:要么两者都安装64位的,要

我遇到的警告错误及解决方法

Warning: Latch audio_deal:audio_deal_inst|val_vrefl[2] has unsafe behavior     Warning: Ports D and ENA on the latch are fed by the same signal audio_deal:audio_deal_inst|waveform_l[0] 解决: if...else...要写全 我遇到的警告错误及解决方法,布布扣,bubuko.com