如何从hibernate中的查询直接获取集合或数组? [英] How to get set or array directly from query in hibernate?

查看:107
本文介绍了如何从hibernate中的查询直接获取集合或数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



 <$ c $在hibernate的查询类中只能看到list方法,如何直接从hibernate的查询中获取set或array? c> Query q = session.createQuery(from com.daasl.Person); 
列表< Person> l = q.list();

有没有一种方法可以直接取代set或array?

解决方案

查询只能返回一个列表。

但是,您可以使用 toArray(T [] a)的Java标准集合界面

  Query q = session.createQuery(from com.daasl.Person); 
列表< Person> personList = q.list();
Person [] personArray = personList .toArray((Person [])Array.newInstance(Person.class,personList .size()));

要将列表转换为集合,只需将列表提供给HashSet的构造函数

  Set< Person> personSet = new HashSet< Person>(personList); 


As i can see only list method in query class in hibernate.How to get set or array directly from query in hibernate?

 Query q = session.createQuery("from com.daasl.Person");
 List<Person> l = q.list();

Is there a way i can get set or array directly instead of list?

解决方案

Query can only return a list .

But you can convert the generic list to the generic array using the toArray(T[] a) of the java standard Collection interface

 Query q = session.createQuery("from com.daasl.Person");
 List<Person> personList = q.list();
 Person[] personArray = personList .toArray((Person[])Array.newInstance(Person.class, personList .size()));

To convert the list to a set , just supply the list to the constructor of the HashSet

  Set<Person> personSet = new HashSet<Person>(personList);

这篇关于如何从hibernate中的查询直接获取集合或数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆