Du måste komma ihåg att Hibernate är ett beständighetslager och måste kunna hålla reda på var ett objekt finns i databasen. Så när den gör en infogning kommer den faktiskt att behöva fråga i räknaren för automatisk ökning för att se vad nästa ID ska vara. Den infogar sedan ID:t i objektet och infogar objektet i databasen. Så för att viloläge ska göras i infogning, måste den göra ett val först (såvida du inte använder någon sorts GUID som genereras av applikationen). När du använder mySQL auto-increment, använd "identity"-generatorn.
Förklaring av de olika generatorerna:
http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml
Ett XML-kodavsnitt i viloläge:
<id name="id" type="long" unsaved-value="null" >
<column name="uid" not-null="true"/>
<generator class="identity"/>
</id>