zoukankan      html  css  js  c++  java
  • NHibernate学习笔记()并不美好的开始

    终于下决定学习NHibernate了,先从一个简单的查询开始,刚开始还以为很简单,没有想到出现的问题不少。

    (1)配置文件小结(配置文件配置方法很多,这里不全面,只记录经本人测试使用的情况)

    NHibernate有两种类型的配置文件,数据访问配置文件 hibernate.cfg.xml(不是必须,可以在Appconfig/WebConfig文件里配置)

     Configuration config = new Configuration().Configure();即可此访问配置文件,此配置文件的存放位置为应用程序的运行目录

    WINFORM下应该和EXE文件同目录,WEB应用程序下应该处于BIN目录下,第二种配置文件即实体类映射配置文件 类名.hbm.xml,用于描述实体类

    与数据库表之间的映射关系,此文件应该采用嵌入资源文件方式发布

    (2)出现错误

    in expected: <end-of-text> (possibly an invalid or unmapped class name was used in the query)

    其实从英文大意可以猜出问题出现原因,这个问题因为我的粗心导致浪费了不少时间

    首先你应当确定实体类映射文件(classname.hbm.xml)的生成方式为嵌入的资源,否则有可能

    NHbernate找不到映射文件抛出异常

     IQuery query = s.CreateQuery("from Employee");

    假设你的查询是类似这样,那么就应当确认 Employee是正确的,因为这个方法其实采用的NHbernate的HQL

    来进行查询的,在这里Employee是跟数据库表存在映射关系的实体类名,不是数据库表名,采用SQL字串进行查询的方法是

    CreateSQLQuery(),此外你还应当留心映射文件是classname.hbm.xml而不是类名.xml

    s.CreateQuery("from Employee").list()这个返回的是非泛行的list,不是泛型的LIST,浪费我不少时间

  • 相关阅读:
    MYSQL索引优化法则
    关于String对象到底占多少字节?
    类加载的时机
    HotSpot 虚拟机对象探秘
    JVM 内存结构
    Tomcat10-记录踩坑
    笔记 | 吴恩达新书《Machine Learning Yearning》
    图像分割论文 | DRN膨胀残差网络 | CVPR2017
    除了边缘场景,你还能在哪里使用K3s?
    基础指南:如何在K3s中配置Traefik?
  • 原文地址:https://www.cnblogs.com/songcan/p/1330290.html
Copyright © 2011-2022 走看看