6.6. 生成プロパティ
生成プロパティとは、データベースによって生成された値を持つプロパティです。通常、 Hibernate アプリケーションは、データベースが値を生成したプロパティを含むオブジェクトを
リフレッシュ する必要がありました。しかし、プロパティの生成をマークすることで、アプリケーションはリフレッシュの責任を Hibernate に委譲します。基本的に、生成プロパティを定義したエンティティに対して Hibernate が INSERT や UPDATE の SQL を発行した後すぐに、生成された値を取得するための SELECT SQL が発行されます。
生成とマークされたプロパティは他に、挿入不可能かつ更新不可能でなければなりません。「Version(オプション)」、「Timestamp(オプション)」、「Property」生成されたとマークできます。
never (デフォルト) - 与えられたプロパティの値は、データベースから生成されません。
insert:与えられたプロパティの値は挿入時に生成されるが、続いて起こる更新時には生成されません。作成された日付などのプロパティは、このカテゴリに分類されます。「Version(オプション)」 や 「Timestamp(オプション)」のプロパティ は生成されたとマークは可能ですがこのオプションは利用できません。
always:挿入時も更新時もプロパティの値が生成されます。