如何获取查询中的数据(hql的搜索结果)?
How to get the data in query(search result of hql)?
我是使用新手jdbc
,遇到了一些问题。
我用hql搜索MySQL中的数据,结果是Query
类型。我不知道如何从 "Query" 获取数据。这是我的代码:
final String hql = "select app.appkey,app.type from " + getClassName() +
"app where app.appkey<>'no-appkey' group by app.type";
Query query = getEntityManager().createQuery(hql);
非常感谢。
您必须执行以下操作:
final String hql = "select app.appkey,app.type from " + getClassName() + " app where app.appkey<>'no-appkey' group by app.type";
Query query = getEntityManager().createQuery(hql);
query.list(); //or query.getSingleResult();
query.list()
将给出结果列表。
query.getSingleResult()
会给你一个对象。
你可以查看this.
如果您需要一个结果列表,那么:
List<Object[]> results = query.getResultList();
如果您希望得到一个结果:
Object[] result = query.getSingleResult(); // if more than one result was found, this method will throw a NonUniqueResultException
如果将列信息存储在Object数组的某个位置。示例:
String appKey = (String) result[0];
String appType = (String) result[1];
但使用对象数组并不好。尝试使用 Dto,如解释的那样 here。
我是使用新手jdbc
,遇到了一些问题。
我用hql搜索MySQL中的数据,结果是Query
类型。我不知道如何从 "Query" 获取数据。这是我的代码:
final String hql = "select app.appkey,app.type from " + getClassName() +
"app where app.appkey<>'no-appkey' group by app.type";
Query query = getEntityManager().createQuery(hql);
非常感谢。
您必须执行以下操作:
final String hql = "select app.appkey,app.type from " + getClassName() + " app where app.appkey<>'no-appkey' group by app.type";
Query query = getEntityManager().createQuery(hql);
query.list(); //or query.getSingleResult();
query.list()
将给出结果列表。
query.getSingleResult()
会给你一个对象。
你可以查看this.
如果您需要一个结果列表,那么:
List<Object[]> results = query.getResultList();
如果您希望得到一个结果:
Object[] result = query.getSingleResult(); // if more than one result was found, this method will throw a NonUniqueResultException
如果将列信息存储在Object数组的某个位置。示例:
String appKey = (String) result[0];
String appType = (String) result[1];
但使用对象数组并不好。尝试使用 Dto,如解释的那样 here。