ОШИБКА: обновление или удаление таблицы «tb_webapp» нарушает ограничение внешнего ключа в таблице «tb_database».JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 ОШИБКА: обновление или удаление таблицы «tb_webapp» нарушает ограничение внешнего ключа в таблице «tb_database».

Сообщение Гость »


Я пытаюсь удалить родительского учащегося или родительский курс и получаю следующую ошибку: обновление или удаление таблицы «tb_webapp» нарушает ограничение внешнего ключа «fkkp7x1km86fdyb6c1jdc4u3phg» в таблице «tb_database» Подробности: на ключ (id_webapp)=(4) по-прежнему имеется ссылка из таблицы "tb_database".

Servlet.service() для сервлета [dispatcherServlet] в контексте с путем [] выдал исключение [Ошибка обработки запроса: org.springframework.dao.DataIntegrityViolationException: исключение JDBC при выполнении SQL [удалить из tb_webapp, где uuid=?] [ОШИБКА: обновление или удаление таблицы «tb_webapp» нарушает ограничение внешнего ключа «fkkp7x1km86fdyb6c1jdc4u3phg» в таблице «tb_database». Подробности: ключ (id_webapp) = (4) по-прежнему ссылается на таблицу «tb_database».] [н/д]; SQL [н/д]; ограничение [fkkp7x1km86fdyb6c1jdc4u3phg]] с основной причиной Контроллер «WebAppController»:

@DeleteMapping("/{uuid}") public ResponseEntity deleteWebAppByUuid( @PathVariable("uuid") UUID uuid ) { пытаться { Результат WebAppEntity = webAppService.deleteWebAppByUuid(uuid); ApiResponse ответ = новый ApiResponse(HttpStatus.OK, «Успешное удаление данных веб-приложения!», результат); вернуть новый ResponseEntity(response, response.getStatus()); } catch (ошибка CustomRequestException) { вернуть ошибку.GlobalCustomRequestException(error.getMessage(), error.getStatus()); } } Службы "WebAppService":

@Transactional public WebAppEntity deleteWebAppByUuid (UUID uuid) { WebAppEntity findData = webAppRepository.findByUuid(uuid); int result = webAppRepository.findByUuidAndDelete(uuid); если (результат > 0) { вернуть данные поиска; } еще { throw new CustomRequestException("UUID" + uuid + "не найден", HttpStatus.NOT_FOUND); } } Сущность "WebAppEntity"

@OneToMany(mappedBy = "webAppEntity", cascade = CascadeType.ALL, orphanRemoval = true) частный список dataList; Сущность "DatabaseEntity"

пакет sda.catalogue.sdacataloguerestapi.modules.WebApp.Entities; импортировать com.fasterxml.jackson.annotation.JsonIgnore; импортировать com.fasterxml.jackson.annotation.JsonIgnoreProperties; импортировать jakarta.persistence.*; импортировать ломбок.AllArgsConstructor; импортировать ломбок.Getter; импортировать ломбок.NoArgsConstructor; импортировать ломбок.Setter; импортировать org.hibernate.annotations.Immutable; импортировать org.hibernate.annotations.UuidGenerator; импортировать sda.catalogue.sdacataloguerestapi.modules.TypeDatabase.Entities.TypeDatabaseEntity; импортировать java.util.UUID; @Сущность @Неизменный @NoArgsConstructor @AllArgsConstructor @Getter @Сеттер @Table(name = "tb_database") общественный класс DatabaseEntity { @Идентификатор @GeneratedValue(стратегия = GenerationType.AUTO) @Column(name = "id_database") частная длинная база данных idDatabase; @UuidGenerator @GeneratedValue(стратегия = GenerationType.UUID) частный UUID uuid; @Column(name = "api_name") частная строка apiName; @Column(name = "ip_address") частная строка apiAddress; @Column(name = «имя пользователя») частная строка имя пользователя; @Column(имя = «пароль») личный строковый пароль; @ManyToOne(каскад = CascadeType.ALL) @JoinColumn(name = "id_webapp") @JsonIgnore частный WebAppEntity webAppEntity; @ManyToOne @JoinColumn(name = "id_type_database") @JsonIgnoreProperties("databaseEntities") частный TypeDatabaseEntity typeDat``` `Репозиторий "WebAppRepository"`

@Modifying@Transactional@Query("DELETE FROM WebAppEntity w WHERE w.uuid = :uuid")int findByUuidAndDelete(UUID uuid); Журнал почтальона: «статус»: 500, «ошибка»: «Внутренняя ошибка сервера», я хочу попробовать удалить по uuid из родительского: tb_WebApp и автоматически удалить из дочернего: tb_database
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»