lazy loading everywhere

This commit is contained in:
Athou
2013-05-15 16:26:18 +02:00
parent 993bc0a1ac
commit 121daacf94
9 changed files with 40 additions and 29 deletions

View File

@@ -42,8 +42,6 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
criteria.andEquals(FeedEntryStatus_.id.getName(), id);
criteria.innerJoinFetch(FeedEntryStatus_.subscription.getName());
criteria.innerJoinFetch(FeedEntryStatus_.entry.getName());
criteria.andJoinEquals(FeedEntryStatus_.subscription.getName(),
FeedSubscription_.user.getName(), user);
@@ -69,9 +67,9 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
List<Predicate> predicates = Lists.newArrayList();
Join<FeedEntryStatus, FeedSubscription> subJoin = root.join(
FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.join(FeedSubscription_.category, JoinType.LEFT);
Join<FeedEntryStatus, FeedSubscription> subJoin = (Join<FeedEntryStatus, FeedSubscription>) root
.fetch(FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT);
Join<FeedEntryStatus, FeedEntry> entryJoin = (Join<FeedEntryStatus, FeedEntry>) root
.fetch(FeedEntryStatus_.entry, JoinType.LEFT);
@@ -107,9 +105,9 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
List<Predicate> predicates = Lists.newArrayList();
Join<FeedEntryStatus, FeedSubscription> subJoin = root.join(
FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.join(FeedSubscription_.category, JoinType.LEFT);
Join<FeedEntryStatus, FeedSubscription> subJoin = (Join<FeedEntryStatus, FeedSubscription>) root
.fetch(FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT);
Join<FeedEntryStatus, FeedEntry> entryJoin = (Join<FeedEntryStatus, FeedEntry>) root
.fetch(FeedEntryStatus_.entry, JoinType.LEFT);
@@ -141,9 +139,9 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
List<Predicate> predicates = Lists.newArrayList();
Join<FeedEntryStatus, FeedSubscription> subJoin = root.join(
FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.join(FeedSubscription_.category, JoinType.LEFT);
Join<FeedEntryStatus, FeedSubscription> subJoin = (Join<FeedEntryStatus, FeedSubscription>) root
.fetch(FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT);
Join<FeedEntryStatus, FeedEntry> entryJoin = (Join<FeedEntryStatus, FeedEntry>) root
.fetch(FeedEntryStatus_.entry, JoinType.LEFT);
@@ -196,9 +194,9 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
List<Predicate> predicates = Lists.newArrayList();
Join<FeedEntryStatus, FeedSubscription> subJoin = root.join(
FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.join(FeedSubscription_.category, JoinType.LEFT);
Join<FeedEntryStatus, FeedSubscription> subJoin = (Join<FeedEntryStatus, FeedSubscription>) root
.fetch(FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT);
Join<FeedEntryStatus, FeedEntry> entryJoin = (Join<FeedEntryStatus, FeedEntry>) root
.fetch(FeedEntryStatus_.entry, JoinType.LEFT);
@@ -240,9 +238,9 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
List<Predicate> predicates = Lists.newArrayList();
Join<FeedEntryStatus, FeedSubscription> subJoin = root.join(
FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.join(FeedSubscription_.category, JoinType.LEFT);
Join<FeedEntryStatus, FeedSubscription> subJoin = (Join<FeedEntryStatus, FeedSubscription>) root
.fetch(FeedEntryStatus_.subscription, JoinType.LEFT);
subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT);
Join<FeedEntryStatus, FeedEntry> entryJoin = (Join<FeedEntryStatus, FeedEntry>) root
.fetch(FeedEntryStatus_.entry, JoinType.LEFT);

View File

@@ -21,7 +21,6 @@ public class FeedSubscriptionDAO extends GenericDAO<FeedSubscription> {
criteria.andEquals(FeedSubscription_.user.getName(), user);
criteria.andEquals(FeedSubscription_.id.getName(), id);
criteria.leftJoinFetch(FeedSubscription_.feed.getName());
criteria.leftJoinFetch(FeedSubscription_.user.getName());
criteria.leftJoinFetch(FeedSubscription_.category.getName());
return Iterables.getFirst(criteria.getResultList(), null);
}
@@ -44,7 +43,6 @@ public class FeedSubscriptionDAO extends GenericDAO<FeedSubscription> {
criteria.andEquals(FeedSubscription_.user.getName(), user);
criteria.innerJoinFetch(FeedSubscription_.feed.getName());
criteria.innerJoinFetch(FeedSubscription_.user.getName());
criteria.leftJoinFetch(FeedSubscription_.category.getName());
return criteria.getResultList();
}

View File

@@ -10,10 +10,20 @@ import com.commafeed.backend.model.UserRole;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.backend.model.UserRole_;
import com.google.common.collect.Sets;
import com.uaihebert.factory.EasyCriteriaFactory;
import com.uaihebert.model.EasyCriteria;
@Stateless
public class UserRoleDAO extends GenericDAO<UserRole> {
@Override
public List<UserRole> findAll() {
EasyCriteria<UserRole> criteria = EasyCriteriaFactory
.createQueryCriteria(em, getType());
criteria.leftJoinFetch(UserRole_.user.getName());
return criteria.getResultList();
}
public List<UserRole> findAll(User user) {
return findByField(UserRole_.user, user);
}