2017-02-01 2 views
1

私はストリームにしたいjavax.persistence.TypedQueryを持っています。ここに私の試みは次のとおりです。ハイバネートで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配列を通じて来て、しかし、どのようにタイプを問わないように汎用化するのですか?

+0

'クエリ convertedQuery =(クエリ)クエリとは何;'? – Kayaman

+0

@Kayaman - それは私の質問の要点です - どうすれば '.stream()'メソッドにアクセスできますか?それは 'javax.persistence.TypedQuery'にありません – Cheetah

+0

ああ、あなたは' org.hibernate.Query'を意味します。 – Kayaman

答えて

関連する問題