hibernate.的QBC语句(二)

2014-11-24 11:03:43 · 作者: · 浏览: 1
for (Employee empl : results) {
System.out.println(empl.getLoginName() + "," + empl.getSalary()); }
//提交事务 //关闭Session }
Employee empl=new Employee();
empl.setLonginName(“%z%”);
testQBE(empl);
6. Native SQL Queries
原生SQL查询:就是指直接使用标准SQL语句或特定 数据库的SQL进行查询。对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过Session上调用createSQLQuery()来获取这个接口。
1).实体查询
Hibernate执行原生SQL查询后,自动把查询到的表格式的数据集封装到实体对象中。
2). 标量查询
3).定义成命名查询来使用
7. 小结
HQL功能最强大,适合各种情况,但动态查询构造起来不方便;Criteria最适合动态条件查询,不太适合统计查询;QBE还不够强大,只适合相当简单的查询;NativeSQL可以实现特定数据库的SQL,但可移植不好。
针对Web应用来说,动态查询,首先Criteria,但是涉及统计查询和非常复杂的关联查询,Criteria就无能为力了,这种情况下选择HQL。HQL常用来进行实体检索,要注意返回的list中的元素是实体还是实体数组QBC 不会忽略配置文件中的预先抓取策略。