java - Spring data JPA 获取数据作为对象列表的流

标签 java spring spring-data spring-data-jpa java-stream

我有一个 Spring Web 应用程序,它使用 Spring Data JPA 与数据库交互。我有一个包含数百万条记录的表,我想导出包含大量数据的 CSV,为此我考虑使用 Stream。

@Query(value = "SELECT * FROM table WHERE id=:id", nativeQuery = true)
public Stream<Object[]> getData(@Param("id") long id);

执行查询工作正常,我将数据作为流获取,但是当我尝试处理流时出现问题,我得到 ClassCastExceptionBigInteger cannot be cast to 对象。 有人可以建议我错在哪里。

最佳答案

您得到 ClassCastException 是因为它只获取选择查询中的第一个字段,该字段可能是数字类型。 我有同样的问题并将 spring-boot-starter-parent 更新到版本 1.4.1.RELEASE 使其工作。 (spring-data-jpa: 1.10.3.RELEASE hibernate 核心:5.0.11.Final)

关于java - Spring data JPA 获取数据作为对象列表的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39962790/

相关文章:

java - 参数和参数

java - org.apache.tiles.template.NoSuchAttributeException : Attribute 'body' not found

java - `Object` 方法 : `toString` ,、 `equals` 和 `hashCode` 中延迟加载的实体

java - EclipseLink 错误 : Entity class has no primary key specified. 它应该定义 @Id、@EmbeddedId 或 @IdClass

Spring注解@ModelAttribute和@Valid

java - Android - 如何在不使用内容提供商的情况下将文件附加到邮件

java - SQLite (1) 没有这样的表

java - grails war 部署错误

java - Appengine 标准上的 Spring Boot

java.lang.NoSuchMethodError : javax. persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;