SQL:普通SQL查询(也就是SQLServer,Oracle,Sybase等数据库的查询语句,建议使用基于TSQL-92)
核心对象:CreateSQLQuery
IList list = session.CreateSQLQuery(select * from TabUser).AddEntity(typeof(TabUser)).List();

HQL:Hibernate查询
核心对象:CreateQuery
IList list = session.CreateQuery(“from TabUser t where t.id>:id”).SetString(“id”, “10”).List();

Criteria:标准或条件查询,ICriteria有很多属性和方法可供选择,有利于构建动态运行时查询,也就是说此方式可以构建很复杂的查询。
核心对象:CreateCriteria
IList list = session.CreateCriteria(typeof(TabUser)).List();

Lambda:表达式查询
在NHibernate 3.0以上版本,使用Lambdas强类型。
核心对象:QueryOver
IList list = isession.QueryOver(typeof(TabUser)).List();

Linq:Linq查询
NHibernate 2 and 2.1: ISession.Linq
核心对象:Linq
IList list = from t in session.Linq() select t;

NHibernate 3.0: ISession.Query
核心对象:Query
IList list = from t in session.Query() select t;

Spring.NET:Spring.NET方式
using Spring.Dao;
using Spring.Data.NHibernate.Support;
核心对象:HibernateTemplate
IList list = HibernateTemplate.Find(hql);
注意此处的hql语句请参考上面的Hibernate查询

注:HibernateTemplate不仅仅只有Find,还有各种Save,Update,Delete等等语句的用法。
同理ISession对象也有Save,Update,Delete等等语句的用法,只是要最后需要session.Flush()一下才能提交数据,当然这些已经是属于数据库的CRUD语句,已经超出此篇文章的范围,故不在此累述。

NHibernate的几种查询方式的更多相关文章

  1. easyui datagride 两种查询方式

    easyui datagride 两种查询方式function doReseach() { //$('#tt').datagrid('load', { // FixedCompany: $('.c_s ...

  2. Hibernate的四种查询方式(主键查询,HQL查询,Criteria查询,本地sql查询)和修改和添加

    Hibernate的添加,修改,查询(三种查询方式)的方法: 案例演示: 1:第一步,导包,老生常谈了都是,省略: 2:第二步,创建数据库和数据表,表结构如下所示: 3:第三步创建实体类User.ja ...

  3. Hibernate的Api以及三种查询方式

    Hibernate  Api |-- Configuration       配置管理类对象 config.configure();    加载主配置文件的方法(hibernate.cfg.xml) ...

  4. hibernate的三种查询方式

    hibernate的三种查询方式 目录 hibernate的三种查询方式 1.HQL查询 1.1.SQL概述 1.2.实体查询 1.3.带where的查询 1.3.属性查询 1.4.实体的更新和删除 ...

  5. Hibernate的几种查询方式-HQL,QBC,QBE,离线查询,复合查询,分页查询

    HQL查询方式 这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多.条件查询.分页查询.连接查询.嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了 ...

  6. 初学者易上手的SSH-hibernate02 三种查询方式

    在上一章中已经搭建好了一个hibernate的环境,那么这一章我们就使用这个环境来进行基本CRUD.在这之前我们先了解一个东西:主键生成策略.就是当向数据库表中插入记录的时候,这个记录的主键该如何生成 ...

  7. Spring Data Jpa的四种查询方式

    一.调用接口的方式 1.基本介绍 通过调用接口里的方法查询,需要我们自定义的接口继承Spring Data Jpa规定的接口 public interface UserDao extends JpaR ...

  8. SQLAlchemy 几种查询方式总结

    转自:http://blog.csdn.net/shudaqi2010/article/details/51568219 几种常见sqlalchemy查询:#简单查询    print(session ...

  9. 关于使用lazytag的线段树两种查询方式的比较研究

    说到线段树,想来大家并不陌生——最基本的思路就是将其规划成块,然后只要每次修改时维护一下即可. 但是尤其是涉及到区间修改时,lazytag的使用往往能够对于程序的质量起到决定性作用(Ex:一般JSOI ...

随机推荐

  1. JS的深拷贝

    var obj = { name: "wuyongyu", age: 18 } 第一种方式: function deepClone(obj){ // 判断传入的数据类型 - 数组或 ...

  2. How to make TWebBrowser get focus in Delphi

    How to make TWebBrowser get focus in Delphi   Written by Administrator       Tags: Delphi Twebbrowse ...

  3. php 获取数组中的key值

    <?php $arr = array( 'book' => 1, 'data' => 'data', 'music' => 'music', 'img' => 'img' ...

  4. s5_day11作业

    # 1 文件内容如下,标题为:姓名,性别,年纪,薪资 # # egon male 18 3000 # alex male 38 30000 # wupeiqi female 28 20000 # yu ...

  5. LINQ 获取当前数组中出现次数最多的元素

    LINQ 获取当前数组中出现次数最多的元素 1  List<string> a = new List<string>();              a.Add(        ...

  6. springmvc ExceptionHandler

    /** * 1. 在 @ExceptionHandler 方法的入参中可以加入 Exception 类型的参数, 该参数即对应发生的异常对象 * 2. @ExceptionHandler 方法的入参中 ...

  7. 三道半平面交测模板题 Poj1474 Poj 3335 Poj 3130

    求半平面交的算法是zzy大神的排序增量法. ///Poj 1474 #include <cmath> #include <algorithm> #include <cst ...

  8. 让Jackson JSON生成的数据包含的中文以unicode方式编码

      本文出处:http://blog.csdn.net/chaijunkun/article/details/8257209,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建 ...

  9. 函数:生成n个互不相同的随机数,最大值为upper

    参考:http://blog.csdn.net/zhangkaihang/article/details/6836506 函数getRandArray()功能说明: 入参:int upper-生成的随 ...

  10. menubar下面的选项不可以输入中文

    这是一个QT5的bug. 1.不用中文,使用英文: 2.先输入中文,然后在属性Action里面的text里改成中文.