optimized query when only a single category is needed

This commit is contained in:
Athou
2013-06-15 15:40:55 +02:00
parent 949ec1fd89
commit 05893088c7

View File

@@ -237,7 +237,16 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
predicates
.add(builder.equal(subJoin.get(FeedSubscription_.user), user));
predicates.add(subJoin.get(FeedSubscription_.category).in(categories));
if (categories.size() == 1) {
predicates.add(builder.equal(subJoin
.get(FeedSubscription_.category), categories.iterator()
.next()));
} else {
predicates.add(subJoin.get(FeedSubscription_.category).in(
categories));
}
if (unreadOnly) {
predicates.add(builder.isFalse(root.get(FeedEntryStatus_.read)));
}