2015-08-04 6 views
0

Поддерживает ли современные базы данных возможность автоматического увеличения? Итак, в чем цель @Generatedvalue? Кажется, что таким образом мы заменяем функциональность БД.Зачем нам нужен @GeneratedValue?

+1

Поддерживает ли все РСУБД автоматическое увеличение? нет. Поддерживает ли все РСУБД одинаковое генерирование значений (последовательность, автоинкремент и т. Д.)? нет. Нужно ли всем классам генерировать ценность? нет. –

ответ

1

Пометить id как автоинкремент. И когда я говорю «отметьте это», я имею в виду: «Эй, SQL! Этот столбец автоматически увеличивается!» Можете ли вы объявить столбец первичного ключа в SQL, не объявив его автоматическим приращением? Да, конечно, конечно! Поэтому, если вы объявите свой id колонку, как что-то вроде:

@Id 
long id; 

Эквивалент в MySQL будет как:

id bigint(20) primary key 

Если вы объявляете его как:

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

эквивалент в MySQL будет :

id bigint(20) primary key auto_increment 
Смежные вопросы