计算机等级考试二级Java重点

 滕门教育计算机等级考试网为大家提供全国计算机等级考试二级Java考点,更多计算机等级考试资讯请关注我们网站的更新!

  1.Hibernate查询

  *1)HQL查询

  Hibernate Query Language.

  HQL属于面向对象的查询语言,语句中使用Hibernate映射的类和属性名,不能使用表名和字段名.类和属性大小写敏感.关键字不区分大小写

  HQL语句的结构与SQL相似.

  a.支持select,from,group by,order by,having

  b.支持各种运算符和表达式,例如+,-,>,<等

  c.支持分组函数,max,min,avg,sum,count

  支持like,in,between…and,and ,or

  e.HQL不能使用 select *

  f.HQL不能使用 join … on语句.on语句不支持

  使用示例:单表基本操作

  a. "select nickname from User where nickname<>”";

  返回的是一个List结果

  b."select id,nickname from User where nickname<>”";

  返回的是一个List结果

  c."select new User(id,nickname) from User where nickname<>”";

  返回的是一个List结果

  d."from User where nickname<>”";

  返回的是一个List结果

  e."select count(*) from User";

  返回的是List,list中只有一个值

  f."from User where nickname like ?";

  query.setString(0,"&s%");

  query.list();

  g."from User where nickname like :name";

  query.setString("name","&s%");

  query.list();

  h.将hql写入到hbm.xml

  在hbm.xml中定义hql

  ……映射信息

  from User where id=:id

  ]]>

  在程序中使用下面代码获取Query对象

  Query query = session.getNamedQuery("findById");

  i.HQL分页查询

  //设置分页查询参数

  //设置抓取记录的起始位置,从0开始

  query.setFirstResult(0);

  //设置最多抓取5个

  query.setMaxResults(5);

  List list = query.list();

  j.对象关联查询

  等值连接1

  from

  Address address,

  User user

  where

  address.userId = user.id;

  等值连接2

  from Address address

  inner join address.user user

  左外连接

  from Address address

  left outer join address.user user