2.2. インスタンスの状態

2.2. インスタンスの状態

永続クラスのインスタンスは、次の3つの異なる状態のどれかになります。それは、 永続コンテキスト によって決まります。 Hibernate の Session オブジェクトが、永続コンテキストになります:

transient

この状態のインスタンスは、現在もそして過去においても、永続コンテキストに関連づいていません。また、永続 ID (主キーの値)を 持っていません。

persistent

この状態のインスタンスは、その時点で永続コンテキストに関連づいています。また、永続 ID (主キーの値)を持ち、たいていはデータベースに対応する行を持っているでしょう。特定の永続コンテキストのなかでは、永続 ID が Java の ID (オブジェクトのメモリ上の位置)と同じであることを Hibernate が 保証 します。

detached

この状態のインスタンスは、かつて永続コンテキストに関連づけられたが、そのコンテキストがクローズされたか、あるいは、他のプロセスにそのインスタンスがシリアライズされたかです。このインスタンスは、永続 ID を持ち、たいていはデータベースに対応する行を持っているでしょう。分離インスタンスに対しては、永続 ID と Java の ID との関連は、 Hibernate が保証しません。