forked from Archives/Athou_commafeed
lazy loading everywhere
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.util.Set;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.OneToMany;
|
||||
@@ -19,11 +20,11 @@ public class FeedCategory extends AbstractModel {
|
||||
@Column(length = 128, nullable = false)
|
||||
private String name;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(nullable = false)
|
||||
private User user;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private FeedCategory parent;
|
||||
|
||||
@OneToMany(mappedBy = "parent")
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.commafeed.backend.model;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
@@ -11,11 +12,11 @@ import javax.persistence.Table;
|
||||
@SuppressWarnings("serial")
|
||||
public class FeedEntryStatus extends AbstractModel {
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(nullable = false)
|
||||
private FeedSubscription subscription;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(nullable = false)
|
||||
private FeedEntry entry;
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.util.Set;
|
||||
import javax.persistence.CascadeType;
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.OneToMany;
|
||||
@@ -15,18 +16,18 @@ import javax.persistence.Table;
|
||||
@SuppressWarnings("serial")
|
||||
public class FeedSubscription extends AbstractModel {
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(nullable = false)
|
||||
private User user;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(nullable = false)
|
||||
private Feed feed;
|
||||
|
||||
@Column(length = 128, nullable = false)
|
||||
private String title;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
private FeedCategory category;
|
||||
|
||||
@OneToMany(mappedBy = "subscription", cascade = CascadeType.REMOVE)
|
||||
|
||||
@@ -4,6 +4,7 @@ import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.EnumType;
|
||||
import javax.persistence.Enumerated;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.OneToOne;
|
||||
import javax.persistence.Table;
|
||||
@@ -17,7 +18,7 @@ public class UserRole extends AbstractModel {
|
||||
USER, ADMIN, NONE
|
||||
}
|
||||
|
||||
@OneToOne
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "user_id", nullable = false)
|
||||
private User user;
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.EnumType;
|
||||
import javax.persistence.Enumerated;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.Lob;
|
||||
import javax.persistence.OneToOne;
|
||||
@@ -26,7 +27,7 @@ public class UserSettings extends AbstractModel {
|
||||
title, expanded
|
||||
}
|
||||
|
||||
@OneToOne
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "user_id", nullable = false)
|
||||
private User user;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user