hibernate的检索方式主要有五种:对象图导航检索
对象图导航检索:根据已经加载的对象,导航到其他的关联对象,利用类与类之间的关系来检索对象。
OID检索方式:根据session的get()和load()方法加载某条记录对应的对象
HQL检索:hibernate query language,和SQL语言有些类似,但是是以面向对象的基础,使用类、对象、属性的概念,没有表和字段。
select...from ...where ...group by ...having...order by ...asc/desc
QBC检索:
离线条件检索:离线条件查询,可以脱离session来使用的一种条件查询对象
// WEB层进行封装
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Customer.class);
detachedCriteria.add(Restrictions.eq("cust_name", "姜总"));
// DAO层进行查询,但是查询条件来自WEB层
Session session = HibernateUtils.getCurrentSession();
Transaction transaction = session.beginTransaction();
List<Customer> list = detachedCriteria.getExecutableCriteria(session).list();
for (Customer customer : list) {
System.out.println(customer);
}
原生/本地SQL查询:直接进行sql语句的封装