java如何在spring boot中从原始查询中获取数据?
我有一个问题:
Query q = em.createNativeQuery("select DISTINCT id, rating, random() as ordering FROM table\n" +
" WHERE id not in (1,2) ORDER BY ordering LIMIT 10");
List data = q.getResultList();
此列表中的每个元素都是类似数组的对象:
我想检索“8”和“16”并组成一个逗号分隔的字符串(将来在“不在”部分的查询中使用它):
for (Object x : data) {
System.out.println(Arrays.asList(x).get(0));
}
但它会产生字符串:
[Ljava.lang.Object;@ee93cd3
[Ljava.lang.Object;@62f3c3e1
我不知道如何获得ID(“8”和“16”)
# 1 楼答案
在这一行
数据是表单对象的列表
# 2 楼答案
一,。我想这就是你想要的。。。 Convert JPA query.getResultList() to MY Objects
或者
# 3 楼答案
如果我理解正确,您正在寻找以逗号分隔的ID字符串。 如果是这样,那么遵循这些步骤可能会帮助您解决问题
在只有一个参数ID的表中创建一个构造函数(如果需要,还可以添加更多参数,但确保所需的值必须在构造函数和查询中)
编写sql查询并执行它
它返回结果并将其收集到包含表对象的列表中
获取字符串
这将为您提供逗号分隔的字符串