Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
エンティティに対するremove操作を実行するには,EntityManagerのremoveメソッドを呼び出します。EntityManagerのremoveメソッドを呼び出したり,remove処理がカスケードされたりすると,エンティティはremoved状態になります。removed状態のエンティティはトランザクションのコミット処理でデータベースから削除されます。
次の表に,remove操作後のエンティティの状態をエンティティの状態ごとに示します。
表6-9 remove操作でのエンティティの状態
エンティティの状態 | 状態遷移の結果 |
---|---|
new | remove操作は無視されます。ただし,エンティティからほかのエンティティへのリレーションシップのcascade属性にREMOVEまたはALLが指定されていると,このエンティティが参照するエンティティにremove操作が伝播されます。 |
managed | removedに遷移します。エンティティからほかのエンティティへのリレーションシップのcascade属性にREMOVEまたはALLが指定されていると,このエンティティが参照するエンティティにremove操作が伝播されます。 |
detached | 次のように遷移します。
|
removed | remove操作は無視されます。ほかのエンティティへの伝播もしません。 |
注1 removed状態のエンティティはトランザクションのコミット時,トランザクションのコミット前,またはflush操作時の実行結果としてデータベースから削除されます。
注2 エンティティが削除されたあと,エンティティの内容はremove処理が呼び出された直後の内容になります。ただし,エンティティの生成直後の場合を除きます。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.