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,浪费我不少时间

  • 相关阅读:
    php apc缓存以及与redis的对比
    React Refs
    React 表单与事件
    React AJAX
    React 组件生命周期
    React 组件 API
    React Props
    React State(状态)
    react 组件之间传值
    react 创建组件
  • 原文地址:https://www.cnblogs.com/songcan/p/1330290.html
Copyright © 2011-2022 走看看