だから、私は私のentitesの一つでOneToManyの関係を持っている:パフォーマンスの良いJPAエンティティでラムダ式を使用できますか?
私はいくつかの基準によってに基づいてこれらの「結果」の内部に含まれるオブジェクトを取得したい@OneToMany(cascade = { CascadeType.PERSIST, CascadeType.REFRESH }, fetch = FetchType.LAZY)
@OrderBy("priority")
private List<Result> results
:「
Stream<Item> itemsToReturn = results.stream().filter(result -> result.getPriority() > 5)
.map(Result::getItem)
.filter(/*some filtering logic*/)
.limit(numberOfItems);
それはdoesnのを私はすべてのアイテムがフィルタリングと制限にもかかわらずすべてのフィルタリングが行われる前にメモリにロードされると思うので、非常に効果的であるようです。
私の前提は正しいですか?もしそうなら、私はこのエンティティでラムダを使用できるように何かをすることができますか、またはこれらのアイテムを取得するJPAクエリを記述する必要がありますか?
JPAでラムダを使用することはできますか?
@Sleimanが示しているように、これはおそらく非常に高価な操作です。なぜ部分が単純な線形検索で句を行うために組み込まれたデータベースを置き換えるのですか?もし私がそれを見直すのが私の責任であれば、私はこのコードを拒絶するだろう。 – stdunbar