Генератор строковых идентификаторов

какой самый простой способ реализовать идентификатор строки в jpa? Пока что у меня есть

@Id
@GeneratedValue
private int id;

и то, что я хотел бы иметь, это что-то вроде

@Id
@GeneratedValue
private String id;

но если я использую его так, я получаю 'этот генератор id генерирует long, integer, short'.

Ответ 1

Вы можете создать UUID из Java следующим образом:

UUID.randomUUID().toString();

Или, если ваш JPA поддерживает его, например, Hibernate, вы можете использовать:

@Id @GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
private String myId;

Подробнее об этом блоге.

Если вы используете Google для "JPA UUID", существует множество альтернатив.