2012-04-13 2 views
0

Я разрабатываю приложение весны 3 MVC. Я использую hibernate как ORM. Определяя модель, у меня есть поле ID. Я хочу автоматически генерировать его таким образом, чтобы его значение представляло собой текущее количество строк в таблице + 1. Как это можно сделать?Создать идентификатор, основанный на количестве строк в таблице весной

ответ

2

AUTOINCREMENT колонка или последовательность сделают трюк. В Hibernate просто аннотировать id с @GeneratedValue:

@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
private int id; 

Hibernate автоматически установить идентификатор для следующего доступного значения.

Смотрите также

+0

привет. проблемы здесь состоят в том, что некоторые элементы могут быть удалены через какое-то время. в этом случае, когда я добавляю новый элемент, идентификатор не находится в последовательности, но равен общему количеству элементов, добавленных в одну точку в таблицу. –

+1

@ KaushikBalasubramanain: Я знаю. Но представьте себе: когда вы добавите три записи, у них будет 1, 2 и 3 идентификатора, верно? Затем, когда вы удаляете первый или второй и добавляете еще один, согласно вашему алгоритму, он должен иметь идентификатор 3 (одновременно есть 2 записи в базе данных), но запись с таким идентификатором уже существует! –

Смежные вопросы