为什么建议hibernate查询全部字段

一般而言,要查询什么字段就查询什么字段,不要select * from表,但是在hibernate,我们其实可以不遵循这个规则,建议我们把所有属性都查询出来(可以封装成一个实体类),这样就省去了二次封装的过程,虽然浪费了一些资源,但利大于弊。当然如果一定要查询单个字段的话,那么只能从list中提取数据

hibernate的uniqueResult方法

如果你确定查询的是唯一的结果的话,那么建议使用uniqueResult方法,该结果返回一个对象(例如在验证用户登录中可以使用)

为什么说hibernate简化了sql的查询过程

看一个例子

在三表查询中 查询某选课号为3的学生的姓名,这里用到了三表查询,如果使用原生的sql语句要用到三级查询,而使用hql语句的话则是一句语句(用面对对象的思想)

select student.name,student.age from stutocourse where id=1;

关于hibernate的分页

session.createQuery("from Student").setFirstResult(i).setMaxResults(j).list();

其中setFirstResult()中的参数是从第几条开始,setMaxResults()中的参数是取几条。

查询后的返回对象的类型

如果查询的是一个字段的话list就存放的是一个object,如果查询的是多个字段的话那么存放的是object[];

关于hibernate的参数查询

可以使用query.setString("位置","值")来设置 这也意味着可以提取为一个工具类 另外一个方法是where name=:name的写法 其赋值的方法是 .setString("name","值")本质是都是一样的

特别注意

hql语句中没有select * 的写法 这是与sql不一样的

关于hibernate提供的更新删除的方法

executeUpdate是hibernate提供的方法该方法返回的是影响的行数;

关于hibernate的查询的更多相关文章

  1. hibernate模糊查询

    hibernate模糊查询-Restrictions.ilike & Expression.like Criteria criteria = session.createCriteria(Ta ...

  2. Hibernate的查询方式总结

    Hibernate的查询方式大体有三种,分别是HQL QBC和SQL三种.在网上查阅一一些资料,做了一个简单的总结. 1. SQL sql 是面向数据库表查询,from 后面跟的是表名,where 后 ...

  3. atitit。 hb Hibernate sql 查询使用

    atitit. hb  Hibernate sql 查询使用 #----------返回list<map>法..这个推荐使用.      q.setResultTransformer(Tr ...

  4. Hibernate高级查询QBC条件设置——Restrictions用法 引自:http://www.cnblogs.com/evon168/archive/2010/10/29/1863059.html

    方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge ...

  5. Hibernate HQL查询:

    Hibernate HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查 ...

  6. Hibernate HQL查询语句总结

    Hibernate HQL查询语句总结 1. 实体查询:有关实体查询技术,其实我们在先前已经有多次涉及,比如下面的例子:String hql="from User user ";L ...

  7. Hibernate的查询,二级缓存,连接池

    Hibernate的查询,二级缓存,连接池 1.Hibernate查询数据 Hibernate中的查询方法有5中: 1.1.Get/Load主键查询 使用get或者load方法来查询,两者之间的区别在 ...

  8. hibernate sql查询转换成VO返回list

    hibernate sql查询转换成VO @Override public List<FenxiVo> getTuanDuiFenxiList(FenxiVo FenxiVo,Intege ...

  9. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

  10. Hibernate【查询、连接池、逆向工程】

    前言 在Hibernate的第二篇中只是简单地说了Hibernate的几种查询方式....到目前为止,我们都是使用一些简单的主键查询阿...使用HQL查询所有的数据....本博文主要讲解Hiberna ...

随机推荐

  1. c# HttpWebResponse 调用WebApi

    public static class WebApiCaller { public static string HttpPost(string url, string body) { try { // ...

  2. AIX rcp跨主机远程

    rcp用途:在本地主机和远程主机之间或者两个远程主机之间传输文件.详细用法可man rcp查看. 现在要把主机10.200.5.200的/tmp/work.sh(属主为root用户)拷贝到远程主机18 ...

  3. Unity Shader入门精要读书笔记(三)Shader必须的数学基础

    Xyz三维坐标系如下:左手坐标系 但是摄像机观察空间则是采用右手系: 右手法则判断叉乘的结果的方向: 正交矩阵(单位互相垂直的基矢量构成正交矩阵)具有逆与转置一致性: 列矩阵运算CBAv和行矩阵的运算 ...

  4. 3 SpringBoot与微服务

    SpringBoot的使用? 化繁为简: Spring MVC 需要定义各种配置,配置文件多. SpringBoot的核心功能? 独立运行: java -jar XXX.jar (以前启动SPring ...

  5. cassandra学习 四 数据模型

    Keyspace(建空间): 可以理解为Database: Replication factor: 复制因数 :   Replica placement srategy: 复制策略,默认是Simple ...

  6. Py修行路 python基础 (十三)匿名函数 与 内置函数

    一.匿名函数  1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是 ...

  7. js的console你知道多少

    js的console你知道多少? 列出所有的console属性 console.dir(console) 或者 console.dirxml(console) 记录代码执行时间 console.tim ...

  8. Delphi 解压缩 ZipForge

    ZipForge http://www.componentace.com/zip_component_zip_delphi_zipforge.htm downLoad http://www.compo ...

  9. OSCache简介

    一.简介 Cache是一种用于提高系统响应速度.改善系统运行性能的技术.尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能. OSCache标记库由OpenSymphony设计 ...

  10. subprocess模块和logging模块

    主要内容: 一.subprocess模块 二.logging模块 1️⃣  subprocess模块 三种执行命令的方法 subprocess.run(*popenargs, input=None, ...