ハイバネートオブジェクトの3つの状態は何ですか?

Hibernateのオブジェクトには、瞬時状態(Transient)、永続状態(Persistent)、および切り離し状態(Detached)の3つの状態があります。

  1. 瞬間状態(Transient):オブジェクトが新しいインスタンスを作成し、その属性を設定するとき、オブジェクトは瞬間状態にあります。この時、オブジェクトはデータベースのレコードと関連付けられず、Hibernateによる管理や追跡の対象外です。
  2. 持続状態(Persistent):瞬時状態のオブジェクトがSessionFactoryに関連付けられると、そのオブジェクトは持続状態に入ります。持続状態のオブジェクトはデータベースのレコードと対応し、Hibernateによって管理および追跡されます。持続状態では、そのオブジェクトに対するどんな変更も、Sessionのflush操作後に自動的にデータベースに同期されます。
  3. Detached(デタッチ):持続状態のオブジェクトがセッションから切り離されると、それはデタッチ状態に入ります。デタッチ状態のオブジェクトはもはやHibernateによる管理やトラッキングを受けず、そのオブジェクトへの変更は自動的にデータベースに同期されません。ただし、デタッチ状態のオブジェクトはセッションに再関連付けされ、再び持続状態に戻り、Hibernateによる管理とトラッキングを受けることができます。
bannerAds