gpt4 book ai didi

java - 使用 hibernate 从 postgresql 获取 CSV 格式的结果

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:30 25 4
gpt4 key购买 nike

我执行一个查询,该查询应将结果作为 CSV 返回到 STDOUT。

当我在 pgAdmin 中执行查询时,我成功获得了结果。

但是,当我使用 hibernate 执行相同的查询时,出现以下异常:

javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not extract ResultSet

我不能显示表结构,但我知道 sql 没问题(我已经复制了“sql”的全部内容,然后在 pgAdmin 中执行它);查询看起来像:

String sql = "COPY (" + sqlQuery + ") TO STDOUT WITH CSV";

然后我执行如下:

Query query = getEntityManager().createNativeQuery(sql);

Object result = query.getSingleResult(); // I also tried the other get results method...(`getFirstresult()` has returned 0)

在我发现的任何相关问题中,我看到 OP 将 csv 放入文件而不是 stdout。

是否可以使用 hibernate 返回 csv 结果?

提前致谢!

最佳答案

AFAIK,PostgreSQL JDBC 驱动程序本身不支持 COPY(最后在 postgresql-9.4.1208.jre7 上测试)。因此,Hibernate 无法运行该命令。

如果你真的需要使用COPY,你应该考虑一个CopyManager:how to copy a data from file to PostgreSQL using JDBC?

但就我个人而言,我建议您改变方法。使用 COPY 加载数据对我来说像是一种 hack。

关于java - 使用 hibernate 从 postgresql 获取 CSV 格式的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40132279/

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