gpt4 book ai didi

java - 如何存储从 Postgres 存储函数返回的数据

转载 作者:太空宇宙 更新时间:2023-11-04 14:13:42 24 4
gpt4 key购买 nike

我当前正在调用如下存储函数:

SQLQuery query = session.createSQLQuery(my_function())

此函数返回一个表:

 RETURNS TABLE(
userid BIGINT,
user_height DOUBLE PRECISION
)

如何抓取两列并将它们存储到 2 个数组列表中?

我尝试过:

List<Object[]> data= query.list();
List<Long> result= newArrayList();

for (Object[] each: data)
{
Long userId= (Long) point[0];
result.add(userId);

}

我收到异常:org.hibernate.exception.SQLGrammarException:用户缺乏权限或未找到对象:MY_FUNCTION()

最佳答案

CALL 您的存储过程并将结果映射到一类对象,如下例所示:

class UserHeight
{
public long userid;
public double user_height;
}

Query query = session.createSQLQuery("CALL my_function()")
.addEntity(UserHeight.class);

List result = query.list();
for(int i=0; i<result.size(); i++){
UserHeight height = (UserHeight)result.get(i);
System.out.println(height.height);
}

关于java - 如何存储从 Postgres 存储函数返回的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27991035/

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