在hibernate中流式传输TypedQuery

时间:2017-02-01 15:46:56

标签: java hibernate

我有一个javax.persistence.TypedQuery我想要流式传输。这是我的尝试:

public static <T> Stream<T> stream(TypedQuery<T> query, int batchSize) {
    Query<T> convertedQuery = (Query<T>) query;
    convertedQuery.setFetchSize(batchSize);
    return convertedQuery.stream();
}

但是,如果<T>是一个元组,我在评估流时会得到以下信息(例如.forEach()):

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to javax.persistence.Tuple

据推测它是通过一个Object数组来进行的,但是如何使这个类型更通用呢?

1 个答案:

答案 0 :(得分:0)

这是Hibernate ORM中的一个错误,将使用Hibernate ORM 5.2.11修复。请参阅此处的错误报告:

https://hibernate.atlassian.net/browse/HHH-11743