Генерация идентификаторов выше определенного значения - PullRequest
1 голос
/ 22 марта 2011

В моем приложении JPA + Hibernate + MySQL у меня есть такая сущность:

@Entity
public class Room {

    @Id
    @GeneratedValue
    private long id;

    // columns....
}

Это прекрасно работает, но сгенерированные значения идентификаторов, как и ожидалось, равны 1, 2, 3 и т. Д. Однако пользователи увидят этот идентификатор, и клиент хочет, чтобы идентификатор был длиннее (потому что он находит его). выглядит лучше), со дня выпуска приложения.

Как я могу изменить генерацию идентификаторов Hibernate или MySQL (я не знаю, кто на самом деле это делает сейчас), чтобы идентификаторы всегда были выше определенного значения, например, 100000000

Ответы [ 3 ]

1 голос
/ 22 марта 2011

сгенерированное значение без стратегии по умолчанию "AUTO", и это означает, что база данных предоставляет значение id. Вам нужно заполнить столбец в MYSQL, чтобы указать правильное значение

1 голос
/ 22 марта 2011

Есть несколько способов. Например, вы можете создать собственный генератор гибернации. Но самый простой способ - просто указать MySQL, с чего начать считать:

ALTER TABLE tbl AUTO_INCREMENT = 100000;
0 голосов
/ 22 марта 2011
ALTER TABLE tbl AUTO_INCREMENT = 100000;

Это должно работать. Хотя это чисто косметическое изменение, вы должны просто изменить его на выходе (и на входе), чтобы данные не были повреждены PHB-синдромом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...