Удалить с подзапросом дать неверный путь - PullRequest
0 голосов
/ 20 сентября 2018

Я использую весеннюю загрузку 2 с jpa и hibernate.Я пытаюсь сделать удаление.

Мой класс

public Scpi{
    @Id
    ....
    private Integer id;

    @ManyToMany(mappedBy = "scpi")
    private Set<Asi> asi = new HashSet<>();

    ...
}

public Asi{
    @Id
    ....
    private Integer id;

    @ManyToOne
    private Spi spi;

    ...
}

Мой удалить

@Modifying
@Query("delete from Scpi scpi where scpi.id in ( select spci2.id from Scpi scpi2 inner Join spci2.asi asi inner Join asi.spi spi where spi.id= ?1)")

Ошибка Я получаю

org.hibernate.hql.internal.ast.InvalidPathException: Неверный путь: 'spci2.asi'

Есть идеи?

1 Ответ

0 голосов
/ 20 сентября 2018

Кажется, опечатка в вашем sql, это должно быть scpi2.asi вместо spci2.asi и то же самое с scpi2.id.

, поэтому правильный оператор удаления будет:

@Modifying
@Query("delete from Scpi scpi where scpi.id in ( select scpi2.id from Scpi scpi2 inner Join scpi2.asi asi inner Join asi.spi spi where spi.id= ?1)")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...