8.4.3 エンティティに対するremove操作
エンティティに対するremove操作を実行するには,EntityManagerのremoveメソッドを呼び出します。EntityManagerのremoveメソッドを呼び出したり,remove処理がカスケードされたりすると,エンティティはremoved状態になります。removed状態のエンティティはトランザクションのコミット処理でデータベースから削除されます。
次の表に,remove操作後のエンティティの状態をエンティティの状態ごとに示します。
エンティティの状態 |
状態遷移の結果 |
---|---|
new |
remove操作は無視されます。ただし,エンティティからほかのエンティティへのリレーションシップのcascade属性にREMOVEまたはALLが指定されていると,このエンティティが参照するエンティティにremove操作が伝播されます。 |
managed |
removedに遷移します。エンティティからほかのエンティティへのリレーションシップのcascade属性にREMOVEまたはALLが指定されていると,このエンティティが参照するエンティティにremove操作が伝播されます。 |
detached |
次のように遷移します。
|
removed |
remove操作は無視されます。ほかのエンティティへの伝播もしません。 |