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

Posted Joe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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文件的生成操作都设置为“嵌入的资源”,我一直以为只需要将配置文件的设置就好了,原来是要所有的啊!更要命的就是,我无意中中把某些映射文件设置为嵌入的资源,所以有些测试成功了,有些没有设置的就怎么也成功不了,我也怎么找不到出现异常的原因。

以上是关于关于NHibernate之 no persister for: ×××.××错误的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

NHibernate之"Could not initialize proxy - no Session" Bug

报错javax.persistence.PersistenceException: No Persistence provider for EntityManager named itcast

NoSQL之Redis---持久化(persistence)概念原理

Redis Persistence 之 redis database

Bug解决UnpicklingError: A load persistent id instruction was encountered, but no persistent_load.

我怎样才能让 NHibernate 只生成 SQL 而不执行它?