gpt4 book ai didi

java - Hibernate SQLQuery 列表方法返回对象而不是对象数组

转载 作者:行者123 更新时间:2023-11-30 10:26:42 26 4
gpt4 key购买 nike

我对 Hibernate SQLQuery.list() 方法有这种奇怪的行为。

问题描述如下:

我有一个 sql 选择查询,它只从数据库中检索单个列(组)(即,select group from peopleGroup where groupid = 10)我在对象数组列表中收到上述列表的结果
即,

SQLQuery hQuery = session.createSQLQuery("select group from peopleGroup where groupid = 10");
List<Object[]> result = (List<Object[]>)hQuery.list();

理想情况下,结果应包含对象数组列表,但当我检查时,结果的第 0 个索引包含字符串对象而不是对象数组。
但是,如果我使用多个列,假设查询的 select 子句中有 2 列,我能够看到结果的第 0 个索引作为对象数组,即 Object[2]={"group", "groupid"};

即使在查询的 select 子句中只提到一列,我如何获取对象数组?

最佳答案

Docs状态:

List list()

Return the query results as a List. If the query contains multiple results per row, the results are returned in an instance of Object[].

自己转换,像这样。

List<Object[]> l = new ArrayList<>();
for(Object o : query.list()) {
Object[] arr = {o};
l.add(arr);
}

关于java - Hibernate SQLQuery 列表方法返回对象而不是对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45584185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com