hql查询效率

来源:互联网 发布:mac类似powerdesigner 编辑:程序博客网 时间:2024/06/05 20:21

hql查询的几种方式对比:

对比一:

  • 通过实体id查询:
hql="FROM Employee WHERE department.id=?";List<Employee> list = session.createQuery(hql).setParameter(0, 5).list();
  • 通过实体查询:
hql="FROM Employee WHERE department=?";List<Employee> list = session.createQuery(hql).setEntity(0, department).list();

对比结果:通过实体查询效率 > 通过实体id查询。

对比二:

  • 查询实体全部属性:
hql="FROM Employee";List<Employee> list = session.createQuery(hql).list();
  • 通过new语法查询封装所需的实体中部分属性:
hql="SELECT new Employee(id,name) FROM Employee";List<Employee> list = session.createQuery(hql).list();

对比结果:通过new封装所需部分属性查询效率 >> 实体全部属性查询。

0 0