状態 |
概要 |
条件 |
一時オブジェクト |
Hibernateによって永続化されていない状態。新規作成された場合や永続オブジェクトがdeleteによって削除されると、この状態になります。また、一時オブジェクトはsave()などによってHibernateのSessionでキャッシュされ、永続オブジェクトになります。 |
- Sessionで管理されていない
- オブジェクトとしてメモリ上に存在するが、対応するレコードがデータベース上に存在しない
|
永続オブジェクト |
HibernateのSessionでキャッシュされ、永続化するオブジェクトとして扱われている状態。永続オブジェクトは内容が変更されると、コミット時に自動的に変更内容がデータベースに反映されます。close()、clear()といったメソッドが呼び出されると、Sessionのキャッシュからオブジェクトは削除され、分離オブジェクトになります。 |
- Sessionで管理されている
- オブジェクトとしてメモリ上に存在し、データベースへの永続化の対象となる
|
分離オブジェクト |
データベースに永続化されているが、HibernateのSessionでキャッシュされていない状態。分離オブジェクトを操作しても、内容はデータベースへ反映されません。 |
- Sessionで管理されていない
- オブジェクトとしてメモリ上に存在し、対応するレコードがデータベース上に存在する
|