我正在使用 JPA Criteria API,并且我想删除“循环”等于传递参数的“动作”,所以我做了以下操作:
public void removeByLoopId(final Long id) {
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaDelete<Action> delete = cb.createCriteriaDelete(Action.class);
Root<Action> root = delete.from(Action.class);
delete.where(cb.equal(root.get(Action.actor).get(Actor_.step).get(Step_.loop).get(Loop_.id), id));
getEntityManager().createQuery(delete).executeUpdate();
}
但我得到了这个例外:
ERROR o.h.e.j.s.SqlExceptionHelper - ORA-00933: SQL command not properly ended
我该如何解决这个问题?
编辑:
这是生成的 SQL 查询:
delete
from
IKURUSAKI.Action cross
join
IKURUSAKI.Actor cross
join
IKURUSAKI.Step cross
join
IKURUSAKI.Loop
where
id=10738;