2011-12-30 18 views
1

雖然努力學習遊戲框架我遇到以下問題跑了:如何SUM()的字段的播放框架模型

如何計算在玩模型框架字段中的總結?我想做的SQL等效「SELECT SUM(totalAmount)FROM events where employee_id = 23」。

我可以指望的總結自己,就像下面我的代碼,但我寧願像SQL服務器做計數:

public static Double countSaldoForEmployee(Employee e) { 
    // Get all Events for the employee 
    List<Event> events = Event.find("byEmployee", e).fetch(); 
    Double sum = 0.0 ; 
    for(Event event: events) { 
     if(event.totalAmount != null) { 
      sum += event.totalAmount; 
     } 
    } 
    return sum; 
} 

回答

3

你應該可以用一個簡單的本地查詢做到這一點。像下面這樣。

public static Double countSaldoForEmployee(Employee e) { 

    return (Double)em.createNativeQuery("SELECT SUM(e.totalAmount) FROM events e where e.employee_id = "+e.id).getSingleResult();  
} 
+0

謝謝!正是我在找的東西。 – Franz 2011-12-31 04:55:04