Hej,
mam dziwny problem. Otóż posiadam w aplikacji encję reprezentującą następujące po sobie dni. Każdy element posiada kilka pół, które nie mają znaczenia w tym problemie, oraz pole date
, które jest unique
.
Poprzez UI udostępniam możliwość modyfikacji pół obiektu. Problem jednak występuje, kiedy próbuję zapisać zmodyfikowany obiekt do bazy. Dostaję exception o takiej treści:
Duplicate entry '2019-07-26' for key 'work_day_workday_date_uindex'
Próbuję zaktualizować encję dnia dzisiejszego, ale jak widać podczas próby update aplikacja słusznie zwraca uwagę, że chcę zduplikować istniejącą już w bazie datę. I słusznie mi na to nie pozwala, lecz ja wcale tego zrobić nie chcę. Pobieram z bazy prawidłowy dzień, zmieniam właściwość inną niż data i chcę zapisać zupdatowany obiekt. Z ciekawości wypisałem sobie wszystkie właściwości obiektu tuż przed zapisaniem i tam data jest prawidłowa:
WorkDay{id=296, date=2019-07-27, workingTime=8,....
W ramach testów wyłączyłem też na chwilę wymóg unikalności tej kolumny i udało mi się zaktualizować obiekt, lecz rzeczywiście apka mi nadpisuje niejawnie datę na 2019-07-26
:(
Ktoś ma jakiś pomysł, poradę, wskazówkę, cokolwiek - dlaczego tak się dzieje? Czemu data jest niewłaściwa o ten jeden dzień? I kiedy ona się próbuje nadpisać na wczorajszą?
Data w kodzie jest typu LocalDate. Korzystam ze Spring Data.
Z góry dzięki i pozdrawiam!