我的模型有两个字段,没有带@Id字段的任何字段,即没有id字段。在探索其他方法之前,我想知道是否可以在没有id字段的obj.delete()
s上调用Model
方法。
仅供参考,它显示 java.lang.IllegalStateException:无法将models.DummyObject上的deleteById删除为无@Id属性。
答案 0 :(得分:3)
Ebean的模型在许多地方需要@Id
字段才能找到对象,并且应该是唯一的(即自动增量数字类型)。
如果您没有任何需要使用自定义查询删除它们:
import com.avaje.ebean.Ebean;
import com.avaje.ebean.SqlUpdate;
...
SqlUpdate tangoDown = Ebean.createSqlUpdate("DELETE FROM tango WHERE foo = :foo AND bar = :bar");
tangoDown.setParameter("foo", 1);
tangoDown.setParameter("bar", 2);
tangoDown.execute();