Чем @Id и generated value отличается от natural key и когда что выбрать?

JavaJuniorSpring Data JPA и HibernateСравнениеjava|spring data jpa и hibernate|id|@id и generated value

Что хотят услышать интервьюеры:

Сравнение: @Id и generated value стоит сравнивать с natural key по критериям читаемости, безопасности, производительности, тестируемости и поддержки командой.

Ответ:

Когда выбирать @Id и generated value: когда его свойства прямо соответствуют задаче: идентификатор entity нужен для persistence identity.

Слабый ответ: “так принято в Spring/Java”. На собеседовании лучше объяснить ограничения и цену выбора.

@GeneratedValue(strategy = GenerationType.IDENTITY)

Источники

Похожие вопросы