Мне нужен этот оператор SQL в JPA - PullRequest
0 голосов
/ 09 января 2019

Можно ли удалить несколько строк с помощью JPA в таблице базы данных с помощью определенного идентификатора?

например.

Delete from PERSON_LANGUAGE where PERSON_ID = 125;

Заранее спасибо!

Внизу это то, что я сейчас пытаюсь использовать без удачи!

public void deletePersonLanguageById(PersonLanguage personLanguage){
    PersonLanguage personLanguage1 = em.find(PersonLanguage.class, personLanguage.getPersonId());
    em.remove(personLanguage1);
}

Я хочу, чтобы он удалил все в моей базе данных, где ID = 1

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Вы можете создать собственный репозиторий, который выходит из репозитория JPA, и там вы добавляете deleteByPersonId(String personId).

Вот еще несколько примеров: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods.details

0 голосов
/ 09 января 2019

Вы можете использовать собственный запрос , чтобы выполнить SQL напрямую для вашей базы данных

Query q = em.createNativeQuery("DELETE FROM person_language WHERE person_id = 1");
q.executeUpdate();

или запрос JPQL:

Query q = em.creteQuery("DELETE FROM Person p WHERE p.personId = 1");
q.executeUpdate();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...