這是Hibernate官方所推薦的查詢語言,接近SQL的語法,并提供更多的特性與封裝。
à從Person表查詢出年齡(distinct去掉重復的)
String hql = "SELECT distinct p.sex FROM Person AS p" ;
Query q = session.createQuery(hql) ;
List all = q.list();
Iterator iter = all.iterator();
àString hql = "SELECT COUNT(p.id) FROM Person AS p" ;
Query q = session.createQuery(hql) ;
List all = q.list();
à按字段查詢
String hql = "FROM Person AS p WHERE p.name=?" ;
Query q = session.createQuery(hql) ;
q.setString(0, "張三") ;
List all = q.list();
à更新操作
String hql = "UPDATE Person SET sex=? WHERE id=?" ;
Query q = session.createQuery(hql) ;
q.setString(0, "?") ;
q.setInteger(1, 1) ;
q.executeUpdate() ;
session.beginTransaction().commit() ;
à分頁
String hql = "FROM Person AS p" ;
Query q = session.createQuery(hql) ;
q.setFirstResult(2) ; //從第幾行取出
q.setMaxResults(2); //取多少條
List all = q.list();
Iterator iter = all.iterator();
-- 學海無涯