第 14 章 HQL: Hibernate查询语言
http://www.redsaga.com/hibernate-ref/3.x/zh-cn/html/queryhql.html
http://kuangbaoxu.iteye.com/blog/193076
1. 查询整个映射对象所有字段
输出结果为:
name1 : password1 : 1
name2 : password2 : 2
name3 : password3 : 3
2.查询单个字段
输出结果为:
name1
name2
name3
3.查询其中几个字段
输出结果为:
name1 : password1
name2 : password2
name3 : password3
4.修改默认查询结果(query.list())不以Object[]数组形式返回,以List形式返回
引用
/**
输出结果为:
name1 : password1
name2 : password2
name3 : password3
*/
5.修改默认查询结果(query.list())不以Object[]数组形式返回,以Map形式返回
/**
输出结果为:
name1 : password1
name2 : password2
name3 : password3
*/
6.修改默认查询结果(query.list())不以Object[]数组形式返回,以Set形式返回,但是因为Set里是不允许有重复的元素,所以:username和password的值不能相同。只需将hql改为:
7.修改默认查询结果(query.list())不以Object[]数组形式返回,以自定义类型返回
自定义类:
/**
输出结果为:
name1 : password1
name2 : password2
name3 : password3
*/
8:条件查询
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Java代码 //条件查询,通过setProperties设置参数 String hql = "from Users where name=:username and passwd=:password"; Query query = session.createQuery(hql); //MyUser类的2个属性必须和:username和:password对应 MyUser myUser = new MyUser("name1","password1"); query.setProperties(myUser); List<Users> list = query.list(); for(Users users : list){ System.out.println(users.getId()); } |
9.多表查询:
10. left join … on
