答案 0 :(得分:0)
如果你真的想要获得Java中amount
模型的所有General_store
字段的总和,你可以定义一个计算它的方法:
private static long sumOfStores() {
long sum = 0;
List<General_store> allStores = General_store.all();
for (General_store gs : allStores) {
sum += gs.amount;
}
return sum;
}
当然,如果您使用的是Java 8,则可以使用流。
但更重要的部分是:在任何情况下都不要这样做。原因是这是存储在数据库中的信息。因此,您应该向数据库询问有关此信息的任何聚合,这些聚合对于计算而言非常简单。在SUM
的情况下,这实际上是微不足道的。使用上述方法,您将首先从数据库中获取所有项目,以便在其中一个字段上执行一些简单的操作。所以请使用SELECT SUM(column_name) FROM table_name;
并避免麻烦。使用Ebean,您可以毫无问题地使用此类查询:
private static long sumOfStores() {
final String sql = "SELECT SUM(amount) as total FROM General_store";
SqlQuery sqlQuery = Ebean.createSqlQuery(sql);
SqlRow row = sqlQuery.findUnique();
return row.getLong("total");
}