首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NHibernate - CreateSQLQuery异常"没有persister for ..",为什么?

关于这个问题,NHibernate 是一个用于 .NET 平台的对象关系映射(ORM)框架,它可以将数据库表与 C# 对象进行映射,方便开发者进行数据库操作。

在使用 NHibernate 的 CreateSQLQuery 方法时,如果出现 "没有persister for .." 的异常,通常是因为 NHibernate 无法找到对应的映射关系。这个问题可能是由以下原因导致的:

  1. 映射配置不正确:请检查 NHibernate 的配置文件(如 hibernate.cfg.xml)中是否正确配置了对应的映射关系。
  2. 使用了未映射的类:请确保在 CreateSQLQuery 方法中使用的类已经在 NHibernate 的配置文件中进行了映射。
  3. 映射缓存问题:有时候映射缓存可能会导致问题,可以尝试清除缓存后重新运行程序。

如果您已经检查了上述问题,但仍然无法解决问题,请提供更多的代码和配置信息,以便我们能够更好地帮助您解决问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么这条异常没有上报? HTTP 429

这是一个在优化前端异常上报时出现的问题 ❝山月人肉盯着异常报了半个小时,但是在 Sentry 中仍然没有收到一条报错,郁闷不已,反复踌躇徘徊。...原因 在 Sentry 上对于异常上报设置了 Rate Limit,每小时最多只能上报 1000 个 Event,导致许多异常被丢弃。 ? Rate Limit By Org ?...此时开发更应该在更高的角度去思考: 每个异常没有都上报上去,会不会被限流或其他原因(如磁盘满了)被丢弃掉 每个异常上报上去后,如何去设计 Alert 规则:邮箱还是钉钉?警告要触发吗?...拓展 这里拓展一些关于异常上报的注意点,关于 Sentry 异常上报信息有三大关键字段及两大核心概念 三大关键字段指: Tags,也可以认为是 Index,作为索引,方便查询。...❞ 关于 Node 服务端的异常上报可以参考我以前的文章: Node 异常结构化与上报[1] Reference [1]Node 异常结构化与上报: https://shanyue.tech/node/

1.8K10

NHibernate总结

现在的项目中数据访问使用的是NHibernate的一个ORM框架,小弟也是在后期加入项目组,之前对NHibernate就一直没有接触过,所以一直在学习NHibernate,都是一些很基础的一些东西,写出来总结一下...如果你下个系统的学习NHibernate,给大家推荐一个博客,详细的介绍了NHibernate,我也是根据这篇博客学习的。...否则出现异常。我们可以在该文件上点击右键选择属性进行修改。 (2)     NHibernateHelper.cs数据操作辅助类 我们现在可以开始NHibernate了。...string strsql = "select * from Customer where id>2"; ISQLQuery sqlQuery = Session.CreateSQLQuery...} 4、测试 在NHibernateSample中引用NH.Data.dll 把NH.Data中的DBConnect.cfg.xml文件copy到NHibernateSample项目中,这个问题我一直没有解决

92140
  • Fluent NHibernate之旅(四)-- 关系(上)

    RTM相对于RC版本来说,使用方法没有太大的变化,所以不做讲解。 我们后面的教程,会使用RTM版本来演示,希望大家能及时更新(点击下载最新版)。...public virtual string FirstName { get; set; } public virtual string LastName { get; set; } } 嘿,为什么是三个...model呢,因为我发现前几个系列里,没有说一下Component Mapping,所以今天一并说了。...HasOne(u => u.Detail).Cascade.All().LazyLoad(); 虽然Fluent支持,虽然编译通过,但在创建ISessionFactory的时候,却会抛出异常...NHibernate是不支持one-to-one的延迟加载的,我也不知道为什么,但我们可以婉转的进行延迟加载,老赵已经在他的文章“NHibernate中一对一关联的延迟加载”中提出了解决方案,大家可以看一下

    1.2K60

    NHibernate中对同一个对象的Lazyload要设置一致

    ,如果实体使用了继承关系,并通过NHibernate来映射,那么动态代理类在类型转换时会有问题。...那么怎么办呢,只有不使用Lazyload,所以我将Flow.Node的加载方式改为立即加载,然后这个异常没有了。...经过研究发现,应该是Task.Node没有被设置为立即加载的原因。...时,系统就会先从缓存中查找是否有对应的Node对象,结果正好有NodeProxy的缓存,所以就直接返回NodeProxy给Flow.Node了,系统根本没有检查Flow.Node是不是立即加载还是懒加载...总的来说,如果在NHibernate中用到了继承类,如果同时用到了Lazyload,那么在转换类型时就可能抛出异常。解决办法就是将Lazyload取消,改为立即加载。

    32120

    Fluent NHibernate之旅

    Fluent NHibernate,有了它,我们可以完全脱离配置文件,不过博客园中介绍Fluent NHibernate的文章非常少,而且官方文档也还没有完全,所以对于我来说也就一点一点摸索起来,这也激起了我写这个笔记的欲望...两者之间都各有长短,或许你还没有体会到Fluent的强大,在日后的Mappings时,你会慢慢了解为什么他会叫Fluent。...四、灵活的Fluent      那我们Fluent就没有办法灵活了吗?...使用NHibernate的配置      也就是你可以按照原先的方式进行配置,而读取呢使用Fluent来读取,然后创建SessionFactory,或许你感觉这不是多余了嘛,那是因为还没有讲到Mapping...().Configure()).BuildSessionFactory(); } 哈哈,简单吧,我们使用了原先的配置文件,然后用Fluent进行创建,而且我们可以为配置文件中没有的配置进行扩展。

    1.1K60

    Fluent NHibernate之旅二--Entity Mapping

    如果你要体验NHibernate的强大,首先你就要学会配置,包括SessionFactory和Mapping的配置。今天跟上一篇一样,会使用传统方式和 NHibernate 进行讲解。...映射的方式很简单吧,相信大家都能看懂吧,为什么会如此方便呢?这其实就是完全靠了Lambda表达式,大家可以看看老赵的“从.NET框架中委托写法的演变谈开去”,就非常清楚了。...回答是当然需要,因为我们这里的属性名与表中的主键名是相同的,所以没有进行设置,如果你数据库的主键名是ID,这里我们只需要Id(m => m.ProductID).ColumnName(“ID”),你可以看到上述映射中的...Price,我用了一下,其实不用也是没有关系的,只是做演示。...正如我们预料的一样,测试通过,说明我们的映射没有出现错误。

    1K90

    使用VS2015和Nhibernate实现与MySql数据库连接,实现增删改查操作

    本文链接:https://blog.csdn.net/CJB_King/article/details/53456282 准备工具:VS2015(版本不限) ,Nhibernate包,和MySql...,MySQL-FRONT ,Connector/Net(选择.Net&Mono) Nhibernate包可以在VS2015中下载 ,对MySql操作,我用的是MySQL-FRONT,注意要想实现和数据库的链接...先写一个简单的给你定义的数据库中添加一条元素的代码:(不使用Nhibernate的) 前提:先把该用的dll文件,添加到引用里面去不然,会连接不成功,之前下载的Connector/Net(选择.Net&...嗯,如果能够运行成功,说明我们的步骤都是正确的,这就是一个简单的测试,测试成功,说明我们的VS与MySql数据连接是没有任何问题的,只要把该引入的都引入了就不会报什么异常错误之类的,接下来将用C#代码和...Nhibernate包来实现一个很简单的对数据增删改查的操作,这一次需要用到我们之前下载的Nhibernate包里面的文件,全部dll文件引入之后,“引用”下面应该是这样的: ?

    1.4K30

    Fluent NHibernate之旅(三)-- 继承

    经过了“开篇”和“简单映射”两篇文章,相信大家对Fluent NHibernate 有了一定的了解了,FluentNHibernate实际就是对 NHibernate 映射的一定扩展,我们能完全利用强类型...从这一篇开始,我们将使用Fluent NHibernate RC 1.0 版来进行演示,先前的代码,我会另外进行说明 继承 在OOP中,继承作为OO中重要的特性,如果NHibernate没有对它的支持,...中,一定看到过了,其实就是把父类、子类的所有属性放到一个表中,这样做的好处就是我们不需要建立其他表,一张表格全搞定,但缺点也显而易见,在属性少的情况下或许没有什么,但是多了以后,我们的维护、扩展就变得相对麻烦...这种方式表结构清晰,而且不会有亢余字段,同时方便扩展,是不错的选择,不过这不是说其他方式没有用,要看你的使用场景。看表结构: ? 这里注意的是,子表的主键不是递增的(废话,呵呵)。...其他方式 Table per concrete class(每个子类一张表),这种方式应该使用union-subclass标签,但FNT不支持这种方式,为什么呢,呵呵,因为这种方式不好,无论是从结构还是编写上来说

    69080

    Spring复杂的BeanFactory继承体系该如何理解? ----中

    ----上 本系列重点不在于对源码的讲解,而在于让大家认识到spring为什么这样设计,重在思想的传递 ---- 了解Bean的一生 在已经可以借助于BeanFactoryPostProcessor来干预...通常情况下,当对象A被请求而需要第一次实例化的时候,如果它所依赖的对象B之前同样没有被实例化,那么容器会先实例化对象A所依赖的对象。...这就是为什么当你得到ApplicationContext类型的容器引用时,容器内所有对象已经被全部实例化完成。不信你查一下类org.springframework.context.support....下面演示了同样的功能,即直接使用Java反射API是如何实现的(忽略了异常处理相关代码)。...)); 如果你觉得没有太大差别,那是因为没有看到紧随其后的那些异常(exception)还有待处理!

    31320

    Fluent NHibernate之旅(四)-- 关系(中)

    Fluent NHibernate之旅系列导航: 一、开篇:ISessionFactory Configuration 二、实体映射:Entity Mapping 三、继承映射:Inheritence...映射 不得不赞叹一下 Fluent Nhibernate ,有了它,我们的映射一切都变得如此简单,先来看看Model吧,用户的订单列表,对于用户来说,暂时是不需要排序的,所以我们可以使用ISet作为Order...).FirstOrDefault(); } Assert.NotNull(user); Assert.Equal(true, user.Orders.Any()); } 这里为什么没有在...我们在Output中,能看到NHibernate生成的Sql语句,测试也成功,说明我们刚刚是立即加载了Orders属性。...如果您在使用Fluent Nhibernate的时候也遇到了问题,可以及时与我联系或求助于Fluent 的Google Groups。 应“亦续缘”的要求,我把代码整理了下,发上来,便于大家学习。

    715100

    亿级网站大数据量下的高并发同步讲解

    相反,如果方法前没有同步关键字修饰的话,那么不同的对象 可以在同一时间访问同一个方法,这就是异步。...在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的。...session.beginTransaction();` `// User user=new User("小浩","英雄");` `// session.save(user);` `// session.createSQLQuery...在10秒钟之内 启动UserTest这个类,在到达10秒的时候,我们将会在UserTest.java中抛出下面的异常: `Exception in thread...通过捕捉这个异常,我 们就可以在乐观锁校验失败时进行相应处理 ** 3、常见并发同步案例分析** ** 案例一:****订票系统案例,某航班只有一张机票,假定有1w个人打开你的网站来订票,问你如何解决并发问题

    1.3K20
    领券