Встречается на собеседованиях • сегодня

Какие знаешь стратегии генерации id в Hibernate

Hibernate поддерживает несколько стратегий генерации ID:

  1. IDENTITY - использует автоинкремент БД.

    java
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
  2. SEQUENCE - использует sequence БД (оптимально для Oracle, PostgreSQL).

    java
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long id;
  1. TABLE - эмулирует sequence через отдельную таблицу (универсально, но медленно).

    java
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private Long id;
  2. AUTO (дефолт) - Hibernate сам выбирает стратегию.

  3. UUID - генерирует строковый UUID.

    java
    @Id
    @GeneratedValue(generator = "UUID")
    @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
    private String id;

Выбор зависит от БД и требований к производительности. SEQUENCE предпочтительнее для больших нагрузок.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы