From 7c945cca3feb9a23cc1839a9a0e673d07bf60f4c Mon Sep 17 00:00:00 2001
From: Niklas Herder <herder@dsv.su.se>
Date: Wed, 11 Apr 2012 13:31:57 +0200
Subject: [PATCH] Trying to fix HQL.

---
 .../dsv/scipro/springdata/repos/SupervisorRepo.java  | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

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);
 
 }