Dodawanie nowego elementu do bazy danych i zwracanie wartości.

0

Czy dodanie do bazy danych elementu powinno zwrócić ten element? Teoretycznie byłaby to metoda void, ale np. w rest api po donaniu nowego zasobu powinno się zwrócić ten zasób, nie mówiąc już o tym, że lepiej gdy metoda coś zwraca, bo łatwiej ją testować. W Spring Data JPA widziałem, że save zwraca dodany element, ale już w czystym Hibernecie persist jest voidowe i co wtedy? Druga sprawa, to co powinno się jeśli dodanie elementu do bazy danych się nie powiedzie? Rzucić wyjątek? Przecież dodanie do bazy może się nie powieść z prozaicznego powodu np. ktoś chce dodać usera z nickiem, który już jest zajęty.

0

A zobacz co Spring Data JPA woła pod spodem :)

1

Dodanie elementu do bazy powinno zwrócić do najmniej klucz główny który został temu elementowi przypisany (czyli ID).
Hiberante zwraca void, bo ID znajduje się na encji i będzie ustawione podczas zapisu.

Co do drugiego to jest coś takiego jak validacja. Z walidacji zwraca się użytkownikowi ładne i czytelne komunikaty błędów.
Jeżeli element przejdzie walidację i ale nie można go dodać to bazy to 500'ka.

1 użytkowników online, w tym zalogowanych: 0, gości: 1