Musíte mít na paměti, že Hibernate je trvalá vrstva a musí být schopna sledovat, kde se objekt v databázi nachází. Takže když provede vložení, bude se ve skutečnosti muset zeptat na čítač automatického přírůstku, aby zjistil, jaké by mělo být další ID. Poté vloží ID do objektu a vloží objekt do databáze. Aby bylo možné provést hibernaci in insert, potřebuje nejprve provést výběr (pokud nepoužíváte nějaký druh GUID generovaný aplikací). Při použití automatického přírůstku mySQL použijte generátor "identity".
Vysvětlení různých generátorů:
http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml
Úryvek kódu XML v režimu spánku:
<id name="id" type="long" unsaved-value="null" >
<column name="uid" not-null="true"/>
<generator class="identity"/>
</id>