Реализация long id работает отлично, включая сквозные тесты Spring MVC:
Код: Выделить всё
@Getter
@Setter
@Entity
@Table(name="myrecords")
public class myrecord {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
Код: Выделить всё
@Getter
@Setter
@Entity
@Table(name="myrecords")
public class myrecord {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", columnDefinition = "BINARY(16) DEFAULT (UUID_TO_BIN(UUID()))")
private UUID id;
Чтобы удовлетворить оба MySQL и H2 (для производства и тестирования соответственно), мои исследования показали, что мне, возможно, придется изменить стратегию @GeneratedValue на GenerationType.AUTO или использовать собственный генератор идентификаторов (
Код: Выделить всё
@GenericGeneratorОднако при этом я потеряю преимущество оптимизации MySQL 8 для UUID: https://dev.mysql.com/blog-archive/ mysql-8-0-uuid-support/
Каков рекомендуемый подход к определению столбца идентификаторов UUID, чтобы он удовлетворял требованиям как MySQL 8.4, так и H2?
Подробнее здесь: https://stackoverflow.com/questions/792 ... 8-4-and-h2
Мобильная версия