Hibernate-hql语法总结.
?hibernate------hql总结
2.查询单个字段?
3.查询其中几个字段
?
4.修改默认查询结果(query.list())不以Object[]数组形式返回,以List形式返回
??????? Query query = session.createQuery(hql);??
??????? //默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是List集合了??
??????? List<List> list = query.list();??
??????? for(List user : list){??
??????????? String name = (String)user.get(0);??
??????????? String passwd = (String)user.get(1);??
??????????????
??????????? System.out.println(name + " : " + passwd);??
??????? }??
??????? /**?
??????? 输出结果为:?
???????? name1 : password1?
??????? name2 : password2?
??????? name3 : password3?
???????? */?
5.修改默认查询结果(query.list())不以Object[]数组形式返回,以Map形式返回
6.修改默认查询结果(query.list())不以Object[]数组形式返回,以Set形式返回,但是因为Set里是不允许有重复的元素,所以:username和password的值不能相同。只需将hql改为:String hql = " select new set(name,passwd) from Users";
7.修改默认查询结果(query.list())不以Object[]数组形式返回,以自定义类型返回
自定义类:
?
?
8:条件查询
- //条件查询,通过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());??? ??????????}????
博文地址:http://kuangbaoxu.iteye.com/blog/193076 .