このページでは、SimpleORM4Jを使用した削除処理(DELETE)に関してご説明をしていきます。
SimpleORM4Jで実行できる削除処理は以下の2種類となります。
SimpleORM4Jでは、Criteriaで削除条件を作成してリレーショナルデータベースのデータを削除することができます。
処理の流れは以下となります。
処理1 | Criteria#deleteで、削除テーブルを指定する。 |
---|---|
処理2 | Criteria#whereで、削除レコード条件を指定する。 |
更新系(INSERT・UPDATE・DELETE)クエリの実行は、Query#executeUpdateメソッドを実行します。
このメソッドは登録・更新・削除をしたレコード数を返却します。
■ 実装例 try { EntityManager em = EntityManagerFactory.createEntityManager(); Criteria criteria = em.getCriteria(); criteria.delete(Charge.class) .where(Expression.equal(Charge.class.getDeclaredField("id"), 6)); Query query = em.createQuery(criteria); int delCnt = query.executeUpdate(); System.out.println("Delete count : " + delCnt); } catch (Exception e) { e.printStackTrace(); }
SimpleORM4Jでは、エンティティオブジェクトを削除して、リレーショナルデータベースに反映することができます。
この場合は、EntityManager#removeメソッドを使用します。
EntityManager#removeメソッドでは、削除対象のオブジェクトの@Idアノテーションが記述されたフィールド値で一意にオブジェクトを特定して、削除処理を実行します。
■ 実装例 try { EntityManager em = EntityManagerFactory.createEntityManager(); Criteria criteria = em.getCriteria(); criteria.select(Charge.class) .from(Charge.class) .where(Expression.equal(Charge.class.getDeclaredField("id"), 7)); Query query = em.createQuery(criteria); Charge charge = (Charge) query.getSingleResult(); int delCnt = em.remove(charge); System.out.println("Delete count : " + delCnt); } catch (Exception e) { e.printStackTrace(); }
SimpleORM4Jへのご意見やご感想がございましたら、メッセージをお願い致します。
また、SimpleORM4Jを使用して頂きまして、バグがございましたらご連絡を頂けると助かります。
皆様からのご意見・ご感想をもとに、SimpleORM4Jを改善・拡張をしていきたいと考えております。
皆様からのメッセージは当方で確認をしておりますが、仕事をしながらの開発となる為、すぐにご返信・対応をすることが
出来ない場合がございます。何卒ご容赦ください。
タイトル※ | |
---|---|
メールアドレス | |
内容※ |