HQL是面向对象的查询语言,它和SQL查询语言有些相似,但它使用的是类、对象和属性的概念,而没有表和字段的概念。在Hibernate提供的各种检索方式中,HQL是官方推荐的查询语言,也是使用最广泛的一种检索方式。本文将对HQL几种常用的方式进行讲解。
指定别名
@Test
public void aliasTest(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
String hql = "from Person as p where p.name ='shi'";
Query query = session.createQuery(hql);
List<Person> ps=query.list();
for (Person person : ps) {
System.out.println(person.toString());
}
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
投影查询