HQL:
与SQL语句很相似,面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写);
HQL中查的是 对象而不是和表,并且支持多态;HQL主要通过 Query来操作,Query的创建方式:
Query q = session.createQuery(hql);
hql 可以是类似下面的形式:
from Person
from User user where user.name=?
from User user where user.name=:name and user.birthday < :birthday
Criteria:
Criteria是一种比HQL更 面向对象的查询方式;Criteria的创建方式:
Criteria crit = session.createCriteria(DomainClass.class);
简单属性条件如:
criteria.add(Restrictions.eq(propertyName, value)),
criteria.add(Restrictions.eqProperty(propertyName,otherPropertyName))