libro
初心者のためのJava Persistence API入門

CRUDの基本 (1/5)

作成:2017-10-28 09:24
更新:2017-10-28 09:24

■Createの基本

データベースの基本操作は、CRUDと呼ばれます。それぞれ「Create」「Read」「Update」「Delete」の略です。これらの処理の基本を覚えることが、データベース利用の第一歩といえます。

まずは、「Create(新規作成)」から説明しましょう。といっても、前回、既にエンティティの作成は行いましたね。ここで簡単に復習しておきましょう。

1. トランザクションの開始
manager.getTransaction().begin();
データの変更がされるような処理では、まずトランザクションをスタートします。トランザクションは、EntityManagerクラスの「getTransaction」メソッドで取得します。そして、取得したトランザクション(EntityTransactionクラス)の「begin」メソッドでトランザクションが開始されます。

2. エンティティの作成
new エンティティクラス (……引数……)
保存するエンティティを用意します。エンティティクラスは、ごく普通のJavaクラスですから、newでインスタンスを作ればいいでしょう。エンティティクラスを定義する際にコンストラクタを用意しておくと便利です。

3. 永続化の実行
manager.persist(……エンティティ……);
作成したエンティティは、EntityManagerの「persist」メソッドを使って永続化をします。ただし、この段階ではまだ保存はされていません。

4. コミットする
manager.getTransaction().commit();
すべての作業が終わったら、トランザクションの「commit」メソッドを呼び出します。これで、トランザクションで実行した処理を一括実行します。

5. エンティティマネージャを開放
manager.close();
最後にエンティティマネージャを開放して作業終了です。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

// 前回作成したサーブレットのinitメソッド
@Override
public void init() throws ServletException {
    super.init();
    EntityManager manager = factory.createEntityManager();
    try {
        manager.getTransaction().begin();
        manager.persist(
            new MyDataEntity("taro", "taro@yamada", "090-999-999")
        );
        manager.persist(
            new MyDataEntity("hanako", "hanako@flower", "080-888-888")
        );
        manager.persist(
            new MyDataEntity("sachiko", "sachiko@happy", "070-777-777")
        );
        manager.getTransaction().commit();
    } finally {
        manager.close();
    }
}

「初心者のためのJava Persistence API入門」に戻る