【发布时间】:2015-08-24 23:10:56
【问题描述】:
假设我有一个com.avaje.ebean.Query 类型的对象,我有什么办法可以将它用作where 子句来删除表中的实体?我试图寻找类似EbeanServer.delete(Query) 的东西,但我找不到。
【问题讨论】:
标签: ebean
假设我有一个com.avaje.ebean.Query 类型的对象,我有什么办法可以将它用作where 子句来删除表中的实体?我试图寻找类似EbeanServer.delete(Query) 的东西,但我找不到。
【问题讨论】:
标签: ebean
目前您可以使用EbeanServer.createUpdate(...) 执行此操作。所以Update可以处理批量更新或删除语句。
使用 Update 的限制是它目前没有与 Query 相同的条件/表达式列表支持。此问题记录为:https://github.com/ebean-orm/avaje-ebeanorm/issues/120
【讨论】:
SomeModel.find
.where()
.eq("someProperty", property)
.delete();
【讨论】:
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();
}
【讨论】: