Query对象
1. 使用query对象,写hql语句,而不写sql语句
* hql:hibernate query language
* hql与sql区别
2. 查询所有数据hql语句
* from 实体类名称
3. Query对象使用
* 创建Query对象
* 调用Query对象里面的方法
- 使用sql操作的是表和表里面的字段
select * from t_user
- 使用hql操作的是实体类Entity和属性
Query query= session.createQuery("from User");
List<User> list=query.list();
Criteria对象
使用这个对象不需要写hql语句,直接调用里面的方法就可以
- 使用过程
- 创建Criteria对象
- 调用里面的方法
Criteria criteria = session.createCriteria(User.class);
List<User> user=criteria.list();
SQLQuery对象
SQLQuery sqlQuery=session.createSqlQuery("select * from t_user ");
//返回的list集合每一组数据都是数组形式而不是对象形式
List<Object[] object> user = sqlQuery.list();
for(Object[] object:list){
System.out.println(Arrays.toString(objects));
}
//解决方案
//设置返回的值是对象形式
sqlQuery.addEntity(User.class);
List<User> userList=sqlQuery.list();