Использование CriteriaDelete для операций удаления - PullRequest
0 голосов
/ 04 июля 2018

Я использую 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

Как мне это решить?

Edit:

Это сгенерированный запрос SQL:

delete
    from
        IKURUSAKI.Action cross
    join
        IKURUSAKI.Actor cross
    join
        IKURUSAKI.Step cross
    join
        IKURUSAKI.Loop 
    where
        id=10738;
...