Chcę uzyskać sumę pola na liście podmiotów.
@Entity
public class A{
@Id
private Long id
private int countfield;
public static Finder<Long, A> find = new Finder<Long,A>(A.class);
}
Na przykład:
public static int findCountFieldSum(int stuff){
return find.where().lt("id",stuff).findSum("countfield");
}
Lub podobnie, z takim zapytaniem:
SELECT SUM(countfield) WHERE ... STUFF
Nie wiem, czy mogę zbudować podobne zapytanie lub coś takiego.
Dzięki!
Odpowiedzi:
0 dla odpowiedzi № 1RawSql to jest droga. Powinno być coś takiego:
Query<Integer> query = Ebean.createQuery(Integer.class);
String sql = "SELECT SUM(countField) FROM a WHERE id = :id";
query.setRawSql(RawSqlBuilder.parse(sql).create());
query.setParameter("id", id);
Integer count = query.findUnique();