Sobes.tech
Junior — Middle

Jak zaleca się implementować unikalną identyfikację obiektów podczas korzystania z Hibernate?

sobes.tech AI

Odpowiedź od AI

W Hibernate unikalna identyfikacja obiektów realizowana jest za pomocą klucza głównego (primary key), który zazwyczaj oznacza się adnotacją @Id w encji. Zaleca się korzystanie ze strategii generowania identyfikatorów dostarczanych przez Hibernate, na przykład:

  • @GeneratedValue(strategy = GenerationType.IDENTITY) — autoinkrementacja w bazie danych.
  • GenerationType.SEQUENCE — użycie sekwencji (np. w PostgreSQL).
  • GenerationType.UUID lub własne generatory dla unikalnych UUID.

Przykład:

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    // gettery i settery
}

Taka metoda gwarantuje unikalność identyfikatorów i poprawną pracę z cache'owaniem i relacjami w Hibernate.