Metoda crudowa nie działa

Metoda crudowa nie działa
R8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 62
0

Witam,
mam kłopot z metodami crudowymi, działa tylko read, a delete już nie:
Tak wygląda moja metoda w serwisie:

Kopiuj
	@Transactional
	public void deleteById(Long id) {
		if (id == null) {
			throw new IllegalArgumentException("id shouldn't be null");
		}
		personRepository.deleteById(id);
		
	}

Tak wygląda wywołanie metody delete w controlerze:

Kopiuj
	@DeleteMapping("persons/{id}")
	public ResponseEntity<?> deleteById(@PathVariable Long id) {
		try {
			personService.deleteById(id);
			return ResponseEntity.ok().body("Deleted");
		} catch (Exception e) {
			return ResponseEntity.notFound().build();
		}
	}

Niestety jak testuje metode w postamnie to znajduje mi 4 osoby w bazie a niestety delete juz zwraca błąd 404
Błąd w konsoli :
ERROR 10448 --- [nio-8080-exec-7] o.h.i.ExceptionMapperStandardImpl : HHH000346: Error during managed flush [Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1]

JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5046
0

Jeśli dostajesz 404, to obstawiam coś głupiego. Np. wywołujesz PUT/POST, zamiast DELETE.

R8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 62
0

Zmieniłam:
return ResponseEntity.notFound().build();
na
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Cant delete! Entity not exist");
i wywołuje teraz ten komunikat. dalej jest 404 a wywoluje metode delete.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.