Hibernate中HQL语句中list与iterate区别

session.createQuery("from Classes").list()

session.createQuery("from Classes").iterate();

这两者有什么区别
    *  发出sql语句的不同
    *  利用缓存的不同

时间: 2024-08-21 21:09:05

Hibernate中HQL语句中list与iterate区别的相关文章

Hibernate的HQL语句中定位参数和具名参数传参

HQL查询: 1.有关hql 查询语句中的问好参数形式,如果出现多个问号,这对后面参数就比较麻烦. 如:from Student  student where student.name = ? and student.age=?.... 对这样的赋值,容易出错 可以采用另一种赋值的方法 如:from Student  student where student.name =:var1 and student.age=:var2.... query.setString("var1",&q

hibernate中hql语句中list和iterate区别

1.使用list()方法获取查询结果,每次发出一条语句,获取全部数据.2.使用iterate()方法获取查询结果,先发出一条SQL语句用来查询满足条件数据的id,然后依次按照这些id查询记录,也就是要执行N+1条SQL语句(N为符合条件的记录数) 两次执行list()方法,每次执行都是发出一条SQL语句,查询所有数据.下面看看两次执行iterate()方法的输出情况两次执行iterate()方法,第一次执行时发出了N+1条SQL语句,而第二次执行,则只发出一套SQL语句,与先执行list()方法

怎样在hibernate的HQL语句中使用mysql 的自定义函数?

问题:怎样在hibernate中使用mysql的函数? 1.hibernate支持原生态的sql语句查询,使用session.createSQLQuery()创建查询对象: 2.怎样在hql中使用mysql函数呢? 这时就需要重新定义hibernate的方言(dialect),将你需要用到的进行注册:  这里提到一个方言(dialect)的概念: Hibernate底层依然使用SQL语句来执行数据库操作,虽然所有关系型数据库都支持使用标准SQL语句,但所有数据库都对标准SQL进行了一些扩展,所以

HQL语句中数据类型转换

我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基础上开发新系统),竟然将序号字段的类型设成了varchar2,真是让人郁闷,这样的话,如果排序的话,就是对字符串排序,12是比2小的数,那么就需要转换一下类型. 以下写法调整中是错误的,不能执行,报空指针错误:select cast(t.a as Integer) from table_1 t 我也使用了这段代码,同样报空指针异常

java中switch语句中的defaul条件的位置

在java中switch语句中,每个case分支就是一个入口,如果都没有满足条件,那么将会走到default分支中.那么这个default分支的位置会不会影响到执行的流程呢? package com.app.statement; import java.util.Scanner; /**  * Created by charles on 2015/7/12.  */ public class SwitchTest {     public static void main(String[] ar

关于hibernate中hql语句 case when的写法

java hql case when的用法 if(null == sorter){ hql.append(" order by m.mDate desc,case when m.mealTime = 'morning' then '1' when m.mealTime = 'noon' then '2' when m.mealTime = 'night' then '3' when m.mealTime = 'midnight' then '4' end "); } 注: 上面hql语

Hibernate写hql语句与不写hql语句的区别?

写hql语句与不写hql语句的区别? 写hql语句:书写HQL语句,所有的查询与投影的设计均使用HQL语句完成. 不写hql语句:没有任何查询语句,所有的查询与投影的设计使用面向对象格式完成. 二者选用的时机: 不写hql语句,有时比较方便,在不考虑复杂的查询的情况下,可以使用,此方法把某些Hibernate的方法封装起来,不灵活. 写hql语句,复杂的业务逻辑,建议使用,灵活方便. 以下通过俩种方法的对比来着重介绍一下hibernate不写hql的一种简单用法. 写hql语句: 具有丰富的灵活

hibernate之HQL语句

1. 什么是hql HQL是Hibernate Query Language的缩写 2. hql和sql区别/异同 HQL                                          SQL 类名/属性                                     表名/列名 区分大小写,关键字不区分大小写                   不区分大小 别名                                                别名 ?,

hibernate 之 HQL语句总结【转】

1. 查询整个映射对象所有字段 //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = "from Users"; Query query = session.createQuery(hql); List<Users> users = query.list(); for(Users user : users){ System.out.println(user.getName() + " : " + user.ge