hibernate查询返回值

来源:互联网 发布:游戏修改大师软件源 编辑:程序博客网 时间:2024/06/05 00:41

1.hibernate查询返回结果。

可以用list返回,object返回,map返回,自定义类型返回

1.1List返回

String hql = "select new list(s.id, s.name) from table s";Query query = session,createQuery(hql);List<List> list = query.list()

使用get(index)获取值

1.2Object数组返回

String hql = "select s.id, s.name from table s";Query query = session,createQuery(hql);List<Object[]> list = query.list()

使用[index]获取值

注意使用Object[]的使用情况是查询多个字段数据,如果只查询一个字段数据,就是用Object。

Srtring hql = "select s.id from table s";Query query = session.createQuery(hql);List<Object> list = query.list();

1.3Map返回值

String hql = "select new map(s.id, s.name) from table s";Query query = session.createQuery(hql);List<Map> list = query.list()

使用get("0"), get("1")获取值

还可以通过别名来获取,首先需要创建别名 

hql="select new map(s.id as id, s.name as name) from table s"

这样就可以通过get("name")来获取值了

注意用list和map返回时,在hql语句中需要加上new list或者new map


1.4自定义类型返回

新建一个类,然后编写类的构造方法,构造方法中的参数就为select的字段数据。

String hql = "select new Table (s.id, s.name) from table s";Query query = session.createQuery(hql);List<Table> list = query.list();
可以通过类的get方法来获取属性值