Wpis z mikrobloga

Witam. Mam apke polaczone z MySQL, ktora uzywa #hibernate. Mam powiedzmy 3 rekordy z id: 1,2,3 w tabeli. Usunalem od strony apki powiedzmy rekord z id: 2,3. W jaki sposob moge teraz posortowac ta tabele, zeby nie bylo takiej luki, ze zaczyna sie tabela od id 3. Wiec reasumujac jak sprawic, zeby zawsze usuwaly sie rekordy, ale ciagle byla zachowana kolejnosc ID. Szukam chwile, ale nie moge nic znalezc ciekawego.

#java #naukaprogramowania
  • 11
  • Odpowiedz
@harakiri888: @kkpol: soft delete jest raczej ryzykowną praktyką. Jeśli nie ma konkretnego wymagania, które to by uzasadniało, nie powinno się go stosować.
@kkpol: chcesz żeby niezależnie od rekordów dane były numerowane 1,2,3 etc?
  • Odpowiedz
@tptak: @krasnoludkolo mam prosta baze. mam metode, ktora dodaje nowe obiekt do db i tutaj ladnie wszystko wyglada - obiekty sie dodaja po pokolei dzieki "@GeneratedValue(strategy = GenerationType.IDENTITY)" tylko problem mam wtedy, gdy powiedzmy usuwam z tej bazy obiekt. wtedy robi sie luka i nie wiem jak ja zalatac, zeby id po usunieciu jakiegos rekordu znowu byly ustawione pokolei.

mozliwe, ze w ogole kompletnie zabladzilem w rozumieniu i powinienem przebubowac kod.
  • Odpowiedz
@kkpol: Z tego co mówisz, chcesz wyświetlać gdzieś ponumerowane liczbą porządkową rekordy. Nie powinieneś do tego stosować inkrementowanego klucza głównego, bowiem jego rolą jest:
1. identyfikować każdy obiekt w jednoznaczny sposób
2. gwarantować nadanie klucza nie kolidującego z innymi z możliwe najmniejszym narzutem czasowym

To, co chcesz wykonać, to wyświetlać w tabeli numerek porządkowy dla listy obiektów. Nie jest to numerek identyfikujący je. Osobiście nie szukałbym sposobu, żeby baza danych dawała
  • Odpowiedz