有关Hibernate知识的学习(十)

Hibernate的查询相关的操作
  创建query对象
  设置条件值query.setParameter(int arg0,Object arg1);
  第一个arg0表示占位符,arg1表示参数的值
  占位符从0开始写起
  接下来调用方法进行查询操作
HQL语句的学习
  where 属性1 like ?
  query.setParameter(int arg0,Object arg1)模糊查询
  arg1改成"%模糊值%"
  排序:
    order by 属性名 desc //表名和字段名改成相应的类名和属性名
  分页:
    Hibernate不能使用limit分页,但是可以使用其中的两种方法
    当然首先要查询所有
    setFirstResult(m); //设置起始位置
    setMaxResults(n); //设置每页记录数
  投影查询:
    查询不是所有字段值,而是部分字段值
    查询语句的写法:
    select 属性名 from 实体类名
    不能写*,Hibernate不支持
    调用list()方法,返回值可以使用Object接收
    List list = query.list();
  聚集函数:
    select count(*) from 实体类名
  HQL多表查询:
    1、内连接:
      基于条件的内连接,关联数据
      SQL语句:表1 inner join 表2 on 条件 或者 直接where 条件
      HQL语句:from 实体类 inner join set集合,返回值是一个数组
    2、左外连接:
      SQL语句:表1 left outer join 表2 on 条件 //左表的所有
      HQL语句:from 实体类 left outer join set集合
    3、右外连接
      SQL语句:表1 right outer join 表2 on 条件 //右表的所有
      HQL语句:from 实体类 right outer join set集合
    4、迫切内连接
      HQL语句:from 实体类 inner join fetch set集合 //底层实现和内连接一样,但是返回的list集合中为对象
    5、迫切左连接
      HQL语句:from 实体类 left outer join fetch set集合
 

                            
                        
                    
                    
                    

你可能感兴趣的:(有关Hibernate知识的学习(十))