@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true) @Override public Collection<ExternalResource> findAllResources(final User user) { Set<ExternalResource> result = new HashSet<>(); result.addAll(user.getResources()); for (Group group : findAllGroups(user)) { result.addAll(group.getResources()); } return result; }