【问题标题】:Ebean: delete with Query objectEbean:使用查询对象删除
【发布时间】:2015-08-24 23:10:56
【问题描述】:

假设我有一个com.avaje.ebean.Query 类型的对象,我有什么办法可以将它用作where 子句来删除表中的实体?我试图寻找类似EbeanServer.delete(Query) 的东西,但我找不到。

【问题讨论】:

    标签: ebean


    【解决方案1】:

    目前您可以使用EbeanServer.createUpdate(...) 执行此操作。所以Update可以处理批量更新或删除语句。

    使用 Update 的限制是它目前没有与 Query 相同的条件/表达式列表支持。此问题记录为:https://github.com/ebean-orm/avaje-ebeanorm/issues/120

    【讨论】:

    【解决方案2】:
       SomeModel.find
          .where()
          .eq("someProperty", property)
          .delete();
    

    【讨论】:

      【解决方案3】:
      query = Ebean.createQuery(Device.class);
      query.where().conjunction()
                      .lt("last_update", new LocalDate().minusDays(250))
                      .eq("appname", "XXXX")
                   .endJunction();
      
      List<Device> devices = query.findList();
      
      for( Device d : devices ) {
          d.delete();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-05
        • 1970-01-01
        相关资源
        最近更新 更多