`
AndyTse
  • 浏览: 3408 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

查询的几种方法

SQL 
阅读更多
1. get() and load()
引用
session.get(Clazz, id);
session.load(Clazz, id);

说明: load()与get()的区别
请注意如果没有匹配的数据库记录,load()方法可能抛出无法恢复的异常(unrecoverable exception)。 如果类的映射使用了代理(proxy),load()方法会返回一个未初始化的代理,直到你调用该代理的某方法时才会去访问数据库。 若你希望在某对象中创建一个指向另一个对象的关联,又不想在从数据库中装载该对象时同时装载相关联的那个对象,那么这种操作方式就用得上的了。 如果为相应类映射关系设置了batch-size, 那么使用这种操作方式允许多个对象被一批装载(因为返回的是代理,无需从数据库中抓取所有对象的数据)。

如果你不确定是否有匹配的行存在,应该使用get()方法,它会立刻访问数据库,如果没有对应的行,会返回null

2. HQL
引用
// 返回一行记录
String hql = "from TOrder o where o.id = ?";
TOrder o = (TOrder) s.createQuery(hql)
        .setParameter(0, orderId)
        .uniqueResult();

// 命名参数
Query q = sess.createQuery("from DomesticCat cat where cat.name = :name");
q.setString("name", "Fritz");

// 位置参数
Query q = sess.createQuery("from DomesticCat cat where cat.name = ?");
q.setString(0, "Izi");

// 命名参数列表
Query q = sess.createQuery("from DomesticCat cat where cat.name in (:namesList)");
q.setParameterList("namesList", names);

// 分页查询
Query q = sess.createQuery("from DomesticCat cat");
q.setFirstResult(20);
q.setMaxResults(10);
List cats = q.list();


3. Criteria

4. Native SQL

5. Named SQL queries(不推荐)

6. filter(不推荐)

7. Detached queries(还没测试)
分享到:
评论

相关推荐

    几种查询方法的汇总几种查询方法的汇总

    《数据结构》实验报告主要探讨了排序和查找这两种基本的计算机科学概念,旨在通过实践让学生理解和分析不同方法的效率。实验内容包括对大量数据(N >= 1000)进行排序,以及对排序后的数据进行查找。以下是相关知识...

    nc57保存VO的几种方法

    根据提供的文件信息,我们可以总结出nc57保存VO(Value Object)的几种方法。下面将对这些方法进行详细的解析。 ### 方法一:设置VO的状态与主键 在第一种方法中,通过设置`courseSVO[i]`的状态和主键来实现保存。...

    sql优化的几种方法

    ### SQL优化的关键方法 #### 一、选择最有效的表名顺序 在构建SQL查询时,尤其是在涉及多个表的连接查询中,表名的顺序对于查询性能有着重要影响。Oracle数据库的解析器是从右向左处理FROM子句中的表名。为了优化...

    几种数据库分页查询的区别

    Oracle、MYSQL、sqlserver和DB2分页查询 分页查询

    通过SQL语句实现行列转换的几种方法

    ### 通过SQL语句实现行列转换的几种方法 在日常工作中,我们经常需要处理的数据结构并不总是按照我们期望的方式组织的。特别是在制作自定义报表或进行产品开发时,经常会遇到需要将数据从一种布局转换到另一种布局...

    查看LINQ生成SQL语句的几种方法

    以下将详细介绍几种查看LINQ生成SQL语句的方法。 1. **Debug.WriteLine()** 在使用LINQ查询时,可以利用`Debug.WriteLine()`方法将生成的SQL语句打印到控制台。例如: ```csharp var query = (from customer in ...

    SQL各种查询方法

    下面我们将详细探讨SQL的各种查询方法。 1. **基本查询**:这是SQL中最基础的操作,用于从单一表中检索数据。使用`SELECT`语句,可以指定想要查询的列,例如`SELECT * FROM 表名`会返回表中的所有数据。如果只想...

    OPC服务器开发的几种方法.pdf

    利用工具包快速开发OPC服务器是最为简便的一种方法。OPC工具包提供了大量的封装好的类和功能,开发者只需关注业务逻辑的实现,无需深入了解底层COM编程的细节。这种方法开发效率高,但可能会牺牲一定的灵活性和定制...

    Asp.net页面之间传递参数的几种方法荟萃

    根据给定文件的标题、描述以及部分代码示例,我们可以总结出Asp.net页面间传递参数的几种常见方法及其应用场景与注意事项。 ### 1. 通过URL查询字符串传递 这是最简单直接的方式,将参数作为URL的一部分传递到目标...

    常见的几种分页语句和方法

    ### 常见的几种分页语句和方法 在软件开发中,特别是Web应用程序中,...无论采用哪种方法,理解其背后的原理都是非常重要的,这有助于我们在遇到性能瓶颈时能够快速定位问题并优化代码。希望本文能对初学者有所帮助!

    提高sql查询效率的50种方法

    查询速度慢的原因很多,常见如下几种 可以通过如下方法来优化查询

    几种京东快递查询方法.docx

    本文将向您介绍几种实用的京东快递查询方法,帮助您轻松掌握快递信息,享受无忧的购物体验。 ### 京东快递官方网站查询 当您需要查询京东快递物流信息时,最直接的方式是通过京东快递的官方网站。访问网站的方式...

    (补充)操作数据库的几种方法_配合girdview使用遍历数据

    本篇将详细讲解几种操作数据库的方法,并结合GridView控件来实现数据的遍历。 1. **ADO.NET操作数据库** ADO.NET是.NET Framework提供的基础数据访问组件,它提供了与多种数据库(如SQL Server、Oracle等)交互的...

    在SAP中查询TABLE的18种方法

    对于初学者来说,掌握前几种基本查询方法已经足够应对大多数日常需求;而对于经验丰富的开发者或技术支持人员,则可以根据具体需求灵活运用各种方法,提高工作效率。通过学习和实践这些查询技巧,可以更高效地完成...

    sql分页查询几种写法

    以下将详细介绍几种常见的SQL分页查询方法。 1. **Not In / Top 方法** 这种方法通过`NOT IN`子查询配合`TOP`来实现分页。首先,获取需要排除的前n条记录,然后在主查询中排除这些记录,从而得到分页后的结果。...

    Oracle中比对2张表之间数据是否一致的几种方法

    ### Oracle中比对两张表之间数据是否一致的几种方法 #### 概述 在Oracle数据库管理中,确保数据的一致性和准确性是非常重要的任务之一。在实际应用中,可能需要经常对比两个表之间的数据是否一致,这有助于发现并...

    SQL SERVER连接oracle数据库几种方法

    SQL SERVER 连接 Oracle 数据库几种方法 在实际开发中,我们经常需要在 SQL Server 中连接 Oracle 数据库,以便实现数据交换和集成。那么,如何在 SQL Server 中连接 Oracle 数据库呢?下面我们将介绍几种常见的...

    sql分页的几种方法

    ### SQL分页的几种方法 #### 背景介绍 在数据库操作中,分页是一项非常常见的需求。尤其是在处理大量数据时,为了提高查询效率、减少服务器负担,并为用户提供更好的体验,分页变得尤为重要。SQL提供了多种实现分页...

    路由器基本配置的几种方法

    以下是对路由器基本配置几种方法的详细解释: 1. **命令行接口(CLI)配置**: 命令行界面是最传统的配置方式,通常通过telnet或SSH协议访问路由器的控制台。使用CLI,管理员可以输入特定的命令来设置路由协议、...

    C#遍历DataSet中数据的几种方法总结

    下面我们将详细探讨几种遍历`DataSet`中数据的方法。 ### 1. 遍历所有表和它们的所有行与列 ```csharp foreach (DataTable dt in YourDataset.Tables) { // 遍历所有的 DataTable foreach (DataRow dr in dt....

Global site tag (gtag.js) - Google Analytics