第4章 オブジェクトの使用
4.1. エンティティステータス リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Hibernate の場合と同様に (対応する用語は括弧で囲まれています)、エンティティインスタンスは以下のいずれかのステータスを持ちます。
- 新規 (一時):
new演算子を使用してエンティティがインスタンス化された場合にエンティティは新規になります。エンティティは永続コンテキストに関連付けられません。データベースには永続表現がなく、ID 値が割り当てられません。 - 管理対象 (永続): 管理対象エンティティインスタンスは、永続コンテキストに現在関連付けられている永続 ID を持つインスタンスです。
- デタッチ済み: エンティティインスタンスは、永続コンテキストに関連付けられなくなった永続 ID を持つインスタンスです。通常、これは永続コンテキストが閉じられたか、インスタンスがコンテキストから除外されたが理由です。
- 削除済み: 削除済みエンティティインスタンスは、永続コンテキストに関連付けられ、データベースから削除するようスケジュールされた永続 ID を持つインスタンスです。
EntityManager API を使用すると、オブジェクトをロードおよび保存するためにエンティティのステータスを変更できます。SQL ステートメントの管理ではなくオブジェクトステータス管理について考える場合に、JPA での永続化を理解しやすくなります。