查询方法 HQL和Criteria
HQL(Hibernate QueryLanguage)
面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了Java类和属性其他部分不区分大小写);HQL中查询的是对象而不是表,并且支持多态;HQL主要通过Query来操作,query的创建方式:
Query q=session.createQuery(hql);
from Person
from User userwhere user.name=:name
from User userwhere user.name=:name and user.birthday < :birthday
Criteria
Criteria是一种比HQL更面向对象的查询方式;Criteria的创建方式:
Criteria是一种比HQL更面向对象的查询方式;Criteria的创建方式:
Criteriacrit = session.createCriteria(DomainClass.class);
简单属性条件如:criteria.add(Restrictions.eq(propertyName,value)),
criteria.add(Restrictions.eqProperty(propertyName,otherPropertyName))
基本功能练习
实验步骤:
1、设计domain对象User。
2、设计UserDao接口。
3、加入hibernate.jar和其依赖的包。
4、编写User.hbm.xml映射文件,可以基于hibernate/eg目录下的org/hibernate/auction/User.hbm.xml修改。
5、编写hibernate.cfg.xml配置文件,可以基于hibernate/etc/hibernate.cfg.xml修改;必须提供的几个参数:
connection.driver_class、connection.url、connection.username、connection.password、dialect、hbm2ddl.auto。
6、编写HibernateUtils类,主要用来完成Hibnerate初始化和提供一个获得Session的方法;这步可选。
7、实现UserDao接口。