Hibernate - jak uzupełnić nulle po skasowaniu wpisu w bazie danych ?

0

Cześć

Mam problem z baza MySQL i Hibernate , Spring
Przykladowa tabela to: Id jest auto increment ,

id name

1 karol
2 maciek
3 monika

kasuje pole nr 2 uzywajac metody:

public void removePerson(int id) {
		Session session = this.sessionFactory.getCurrentSession();
		Person person = session.get(Person.class, id);
		session.delete(Person);
	}

po wykasowaniu wpisu z id 3 monika pozostaje puste pole i przy dodawaniu nowego wpisu mam sytuacje id nr 3 zostaje pominiete i od razu dodaje wpis na nr 4:

id name

1 karol
2 maciek
null null
4 stefan

do zapisywania uzywam metody:

 public void addPerson(Person p) {
		Session session = this.sessionFactory.getCurrentSession();
		session.persist(p);
	}

co trzeba zrobić aby nakazać hibernate albo mysql aby uzupełniał wykasowane pola od 0 jezeli sa puste a po ich wypełnieniu juz normalnie wdg. kolejnosci ponieważ po wykasowaniu większej ilości danych mam sytuacje

id name
null nulll < ------- Chciałbym aby te pola zostały automatycznie uzupełniane przy dodawaniu nowych danych jeżeli są puste
null null
130 roman
<-------- Po wypełnieniu wszystkich pol można dodawać już według kolejności czyli teraz 131

Klasa Person.java

 
@Entity
@Table(name="persons")
public class Person{
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int id;
	
	private String name;

Chyba że to co chciałbym zrobić jest zła praktyką w takim razie prosiłbym o wyprowadzenie mnie z błędu :P

1

Usuwanie encji z bazy nie zostawia żadnych nulli tylko kasuje cały wpis. Co do id to można ustawić tabele "AUTO_INCREMENT = 1" i wtedy będzie ustawiało od najbliższych wolnych numerów. Tylko po co to robić? Ciebie w ogóle nie powinno interesować id, przecież nie skończy Ci się wielkość longa.

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