gpt4 book ai didi

java - 如何在 spring-batch 中进行 hql 选择?

转载 作者:行者123 更新时间:2023-12-01 12:31:34 25 4
gpt4 key购买 nike

我想使用 spring-batch 从 postgres 数据库检索和处理数据。

我有一个有效的 SQL 语句,它可以提供完整的结果集(大约 400k 条目):

private static final String QUERY = "SELECT * FROM MyDataTable ";

现在我想使用 JpaPagingItemReader 以便以 block 的形式获取数据(并写入其他地方):

JpaPagingItemReader<MyEntity> reader = new JpaPagingItemReader<>();
reader.setEntityManagerFactory(emf);
reader.setQueryString(QUERY);

但它不起作用:

[] 2014-09-17 16:31:58,234 ERROR : QuerySyntaxException: unexpected token: * near line 1, column 8 [SELECT * FROM my_data_table]

我还尝试了不带星号的 SELECT FROM MyDataTableSELECT m FROM MyDataTable m 。相同的结果。那么,如何使用 spring-batch 执行 hql 查询呢?

顺便说一句:查询在 pgAdmin 这样的 SQL 编辑器中运行良好。

最佳答案

SELECT m FROM MyDataTable m 几乎是正确的(只要您有实体调用 MyDataTable,它就是有效的 JPQL 查询)。因此,您似乎没有名为 MyDataTable 的实体类。

由于 JpaPagingItemReader#setQueryString(String) 接受 JPQL 查询,您应该确保您拥有该表的实体类,然后您应该请使用其名称 MyDataTable

顺便说一下 - 对于 HQL 查询,有 HibernatePagingItemReader .

关于java - 如何在 spring-batch 中进行 hql 选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25893528/

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