1.使用query对象,不需要写sql语句,但是写hql语句
(1)hql:hibernate query language ,hibernate提供查询语句,这个hql与普通sql语句很相似
(2)hql和sql区别:sql语句是通过数据库表和字段进行操作,hql是通过实体类和属性进行操作
2.查询所有hql语句
(1)from 实体类名称
3.Query对象使用
(1)创建Query对象
(2)调用其中的方法
package com.sq.test;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.junit.Test;
import com.sq.entity.User;
import com.sq.util.HibernateUtil;
/**
*@author sq
*
*/
public class QueryDemo {
@Test
public void testQuery(){
SessionFactory sessionFactory= null;
Session session = null;
Transaction tx = null;
try {
//1.调用工具类获得sessionfactory
sessionFactory = HibernateUtil.getSessionFactory();
//2.获取session
session = HibernateUtil.getSession();
//3.开启事物
tx = session.beginTransaction();
//1.创建Query对象
//方法里面写hql语句
Query query = session.createQuery("from User");
//2.调用其中的方法得到结果
List<User> list = query.list();
for(User user : list){
System.out.println(user);
}
//提交事物
tx.commit();
} catch (Exception e) {
tx.rollback();
}finally{
//关闭
sessionFactory.close();
}
}
}