diff --git a/src/main/java/se/su/dsv/scipro/springdata/repos/SupervisorRepo.java b/src/main/java/se/su/dsv/scipro/springdata/repos/SupervisorRepo.java index cfc5cc8514..6e9bc33484 100644 --- a/src/main/java/se/su/dsv/scipro/springdata/repos/SupervisorRepo.java +++ b/src/main/java/se/su/dsv/scipro/springdata/repos/SupervisorRepo.java @@ -13,13 +13,15 @@ import java.util.List; * fred-fri * date: 2012 03 23 */ -@Transactional(readOnly = true) +@Transactional ( readOnly = true ) public interface SupervisorRepo extends JpaRepository<Employee, Long>, QueryDslPredicateExecutor<Employee> { - @Query("select employee from Employee employee join employee.keywords.keywords keywords " + - "where keywords.type.name = :keywordTypeName and keywords.deleted = false " + - "order by employee.keywords.keywords.size desc, employee.user.lastName desc ") - public List<Employee> findSupervisorDescDirection(@Param("keywordTypeName") String keywordTypeName); + @Query ( "select employee from Employee employee left outer join employee.keywords.keywords keywords " + + "where (size(employee.keywords.keywords) = 0 or (keywords.type.name = :keywordTypeName and keywords.deleted = false)) " + + "order by size(employee.keywords.keywords) desc, employee.user.lastName" ) + public List<Employee> findSupervisorDescDirection( + @Param ( "keywordTypeName" ) + String keywordTypeName); }