diff --git a/src/main/java/com/commafeed/backend/dao/UserRoleDAO.java b/src/main/java/com/commafeed/backend/dao/UserRoleDAO.java index d12ee8c6..b438af87 100644 --- a/src/main/java/com/commafeed/backend/dao/UserRoleDAO.java +++ b/src/main/java/com/commafeed/backend/dao/UserRoleDAO.java @@ -12,6 +12,7 @@ import com.commafeed.backend.model.User; import com.commafeed.backend.model.UserRole; import com.commafeed.backend.model.UserRole.Role; import com.commafeed.backend.model.UserRole_; +import com.commafeed.backend.model.User_; import com.google.common.collect.Sets; @Stateless @@ -29,12 +30,17 @@ public class UserRoleDAO extends GenericDAO { } public List findAll(User user) { - return findByField(UserRole_.user, user); + CriteriaQuery query = builder.createQuery(getType()); + Root root = query.from(getType()); + + query.where(builder.equal(root.get(UserRole_.user).get(User_.id), + user.getId())); + return cache(em.createQuery(query)).getResultList(); } public Set findRoles(User user) { Set list = Sets.newHashSet(); - for (UserRole role : findByField(UserRole_.user, user)) { + for (UserRole role : findAll(user)) { list.add(role.getRole()); } return list; diff --git a/src/main/java/com/commafeed/backend/dao/UserSettingsDAO.java b/src/main/java/com/commafeed/backend/dao/UserSettingsDAO.java index b22d806a..4742c8bf 100644 --- a/src/main/java/com/commafeed/backend/dao/UserSettingsDAO.java +++ b/src/main/java/com/commafeed/backend/dao/UserSettingsDAO.java @@ -8,6 +8,7 @@ import javax.persistence.criteria.Root; import com.commafeed.backend.model.User; import com.commafeed.backend.model.UserSettings; import com.commafeed.backend.model.UserSettings_; +import com.commafeed.backend.model.User_; @Stateless public class UserSettingsDAO extends GenericDAO { @@ -17,11 +18,12 @@ public class UserSettingsDAO extends GenericDAO { CriteriaQuery query = builder.createQuery(getType()); Root root = query.from(getType()); - query.where(builder.equal(root.get(UserSettings_.user), user)); + query.where(builder.equal(root.get(UserSettings_.user).get(User_.id), + user.getId())); UserSettings settings = null; try { - settings = em.createQuery(query).getSingleResult(); + settings = cache(em.createQuery(query)).getSingleResult(); } catch (NoResultException e) { settings = null; }