Hibernateは永続レイヤーであり、オブジェクトがデータベース内のどこにあるかを追跡できる必要があることを覚えておく必要があります。したがって、挿入を行うときは、実際には自動インクリメントカウンターを照会して、次のIDがどうあるべきかを確認する必要があります。次に、IDをオブジェクトに挿入し、オブジェクトをデータベースに挿入します。したがって、Hibernateが挿入で実行するには、最初にselectを実行する必要があります(アプリケーションによって生成されたある種のGUIDを使用している場合を除く)。 mySQL自動インクリメントを使用する場合は、「ID」ジェネレーターを使用してください。
さまざまなジェネレーターの説明:
http://www.roseindia.net/hibernate/hibernateidgeneratorelement.shtml
Hibernate XMLコードスニペット:
<id name="id" type="long" unsaved-value="null" >
<column name="uid" not-null="true"/>
<generator class="identity"/>
</id>