复杂的Ebean查询

时间:2014-11-12 14:51:10

标签: java playframework ebean

我正在尝试针对这种情况进行ebean查询:我想根据用户的last_update_time和update_frequency(以天为单位)过滤用户last_update_time.plusDays(update_frequency)<now().

时查询应该获取用户

我的查询现在看起来像这样:

List<User> users = Ebean.find(User.class).where().lt("last_update_time",DateTime.now()).findList(); 

我需要将update_frequency添加到last_update_time。 知道如何做到这一点?

1 个答案:

答案 0 :(得分:1)

如果last_update_time.plusDays(update_frequency)<now() ...是有效的SQL(对于您的数据库),那么您可以通过“原始”表达式传递它。 query.where()。raw(...)like:

  List<User> users =
  Ebean.find(User.class)
    .where()
      .lt("last_update_time",DateTime.now())
      .raw("last_update_time.plusDays(update_frequency)<now()")
      .findList()