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. Springboot入门-配置异常页面

    springboot中,可以使用org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer类来统一的处理异 ...

  2. sizeof 是编译时运算符

    typedef char RT1;typedef struct{ char a[2]; } RT2;template<typename T> RT1 test(typename T::X ...

  3. Cpython支持的进程与线程(Day33)

    一.multiprocessing模块介绍 python中的多线程无法利用CPU资源,在python中大部分情况使用多进程.python中提供了非常好的多进程包multiprocessing. mul ...

  4. MAC mysql install

    # linux 查看是否安装mysql   rpm -qa |grep mysql    yum 安装mysql      yum -y install mysql-server 1 download ...

  5. 拓扑排序(附LeetCode题目)

    算法期中考到一题关于拓扑序的题目,觉得很值得一写. 1.什么是拓扑序? 对一个有向无环图进行拓扑排序,假如图中存在一条从顶点A到顶点B的路径,则拓扑序中顶点A出现在顶点B的前面.要注意的是,这是对有向 ...

  6. 《 Python 学习手册 》读书笔记(1)

    关于运行程序 交互提示模式下编写代码 terminal中直接输入python开启 通过导入模块,运行文件中的语句 import exec(open('module.py').read()) UNIX可 ...

  7. Ctrl+Z 暂停程序及重启程序【转】

    本文转自:https://blog.csdn.net/duyiwuer2009/article/details/43191799 Ctrl+Z - 暂停进程并放入后台 jobs - 显示当前暂停的进程 ...

  8. Linux下Wireshark的网络抓包使用方法

    Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap network ...

  9. docker 使用mysql

    mysql 5.7安装成功了,之前5.6一直报错不知道为什么 sudo docker run --name emall_mysql -e MYSQL_ROOT_PASSWORD=jbt1234 -e ...

  10. C语言之非常简单的几道题

    C语言之非常简单的几道题(还是写写),比较简单吧,主要有几道题的数据类型(如,第三题)和语句顺序(如,第二题)需要注意一小下下. 1. 求表达式S=1*2*3……*N的值大于150时,最小的N的值 / ...