查询中q.uniqueResult()和q.list()之间的清晰度

时间:2014-05-09 13:39:25

标签: java sql hibernate hql

考虑以下查询语句

Query q = getSession().createSQLQuery("select ...");
q.uniqueResult();

我的问题是我们必须使用

a)q.uniqueResult()当查询只返回一行

b)q.list()当查询返回多行时。

1 个答案:

答案 0 :(得分:0)

让我说清楚。

如果您知道,您将只收到一个值(不是一行) - 转到uniqueResult()。 一般用于SQL函数,如max,count函数

对于List-方法名称本身表示它是List of Items

编辑:

如果你只有一行。

List<YourBean> list = new ArrayList<YourBean>();
//HQL stuff using .list()

    if (list.size() > 0) {
                yourBeanRef= list.get(0);
    }