1.spring封装的HibernateTemplate类的一些操作方法。
2.session提供的根据主键ID进行添、删、查、改的基本方法。
由session得到的hql语句
由session得到的criteria语句。
session.createSQLQuery(sql).executeUpdate(); 传入的是sql语句,由于较复杂的语句,执行的是update操作,或delete操作。
今天就谈谈hql语句的使用:
A.对单一的表操作,见网址:http://www.cnblogs.com/focusChen/articles/2401892.html,建议的是:要想获得表中一部分字段,你可以想把对象取出来,然后根据选择取出要用的属性,不要使返回的集合的元素是Object[]类型。
B.连接查询(包括内连接,左连接,右连接)(join后面加了 fetch好像查询效率变高):
内连接:inner join 如: select ********* from A a inner join a.b b inner join b.c c 或者用where建立:select ********* from A a , B b, C c where a.b=b and b.c=c
左外连接 left outer join 如:select ********* from A a left outer join a.b b left outer join b.c c
右外连接 left outer join 如:select ********* from A a right outer join a.b b right outer join b.c c
1.按照传统查询,不论是取得多个表的所有值,还是部分值,返回list集合的元素是Object[] 类型,就是List<Object[]>。这样也能取得值。
如果觉得麻烦,可以这样做,让Object[]变为一个对象。见网址:http://www.cnblogs.com/feiguo/p/3690601.html.(首选)
2.返回的是某一方的对象,即返回的list集合的元素是某一方对象。就是List<某一方对象>。见网址:http://www.cnblogs.com/hongten/archive/2011/06/19/2084696.html。通过该对象导航获得其他对象属性值。
可供參考網址:http://wenku.baidu.com/view/5620a8265acfa1c7aa00cccd.html