5.4.1 EntityManagerで提供するメソッド
EntityManagerではメソッドを提供しています。代表的なメソッドを次に示します。
-
persistメソッド(SQLのINSERTに相当)
アプリケーションでnewを実行したエンティティオブジェクトをデータベースに追加するためのメソッドです。
-
findメソッド(SQLのSELECTに相当)
エンティティオブジェクトをデータベースから検索するためのメソッドです。
-
removeメソッド(SQLのDELETEに相当)
エンティティオブジェクトをデータベースから削除するためのメソッドです。
EntityManagerからfindメソッドで検索したエンティティオブジェクトや,persistメソッドでEntityManagerに渡したエンティティオブジェクトは,EntityManagerの管理下に置かれます。EntityManagerの管理下にあるエンティティオブジェクトについてフィールドの値が変更されると,EntityManagerは変更を自動的に検知して,変更をデータベースのテーブルに反映します。
JPAでは,EntityManagerの管理下にあるエンティティオブジェクトのことをmanaged状態のエンティティといいます。なお,デフォルトではトランザクションが決着したときに,エンティティはEntityManagerの管理下から外れます。EntityManagerの管理下から外れたエンティティのことをdetached状態のエンティティと呼びます。