Java 查询中q.uniqueResult()和q.list()之间的清晰度
考虑下面的查询语句Java 查询中q.uniqueResult()和q.list()之间的清晰度,java,sql,hibernate,hql,Java,Sql,Hibernate,Hql,考虑下面的查询语句 Query q = getSession().createSQLQuery("select ..."); q.uniqueResult(); 我的问题是我们必须使用 a) 当查询仅返回一行时,q.uniqueResult() b) q.list()当查询返回多行时。让我澄清一下 当您知道时,您将只收到一个值(而不是一行)-转到uniqueResult()。 一般用于SQL函数,如-max、count函数 For List-方法名称本身表示它是一个项列表 编辑: 如果你只看到
Query q = getSession().createSQLQuery("select ...");
q.uniqueResult();
我的问题是我们必须使用
a) 当查询仅返回一行时,q.uniqueResult()
b) q.list()
当查询返回多行时。让我澄清一下
当您知道时,您将只收到一个值(而不是一行)-转到uniqueResult()
。
一般用于SQL函数,如-max、count函数
For List-方法名称本身表示它是一个项列表
编辑:
如果你只看到一行
List<YourBean> list = new ArrayList<YourBean>();
//HQL stuff using .list()
if (list.size() > 0) {
yourBeanRef= list.get(0);
}
List List=new ArrayList();
//使用.list()的HQL文件
如果(list.size()>0){
yourBeanRef=list.get(0);
}
如果查询只返回一行,那么我们必须使用哪种方法。这会是相同的q.uniqueResult。我有点困惑。根据你的要求,改变了答案,换成了单行。