Трябва да запомните, че Hibernate е слой за постоянство и трябва да може да следи къде се намира даден обект в базата данни. Така че, когато направи вмъкване, всъщност ще трябва да направи запитване до брояча за автоматично нарастване, за да види какъв трябва да бъде следващият идентификатор. След това вмъква идентификатора в обекта и вмъква обекта в базата данни. Така че за хибернация да се направи при вмъкване, той използва първо трябва да направи избор (освен ако не използвате някакъв вид GUID, генериран от приложението). Когато използвате автоматично нарастване на mySQL, използвайте генератора за "самоличност".
Обяснение на различните генератори:
http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml
Хибернация на XML кодов фрагмент:
<id name="id" type="long" unsaved-value="null" >
<column name="uid" not-null="true"/>
<generator class="identity"/>
</id>