SampleEntity entity = manager.find(SampleEntity.class, id);
EntityTransaction transaction = manager.getTransaction();続いて、EntityTransactionインスタンスを取得し、トランザクション処理を開始します。
transaction.begin();
manager.remove(entity);
エンティティを削除します。これはEntityManagerの「remove」メソッドを使います。引数に、データベースから取り出したエンティティのインスタンスを指定すると、それをデータベースから取り除きます。manager.flush();最後にEntityManagerをflushし、EntityTransactionをcommitすれば、データベースの更新が完了し、データが削除されます。――いかがですか。エンティティの更新がわかれば、削除もほぼ同じ感覚で行えるでしょう?
transaction.commit();
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
package com.tuyano.libro.db; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Query; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class App { private static EntityManager manager; public static void main(String[] args) { ApplicationContext app = new AnnotationConfigApplicationContext(SampleEntityConfig.class); EntityManagerFactory factory = app.getBean(EntityManagerFactory.class); manager = factory.createEntityManager(); // make dummy makeDummyData(); // delete entity deleteEntity(1L); deleteEntity(3L); // get list Query query = manager.createQuery("from SampleEntity"); List list = query.getResultList(); printList(list); System.out.println("...ok."); } public static void makeDummyData() { 略 } public static void printList(List list) { 略 } // delete entity public static void deleteEntity(long id) { SampleEntity entity = manager.find(SampleEntity.class, id); EntityTransaction transaction = manager.getTransaction(); transaction.begin(); manager.remove(entity); manager.flush(); transaction.commit(); } }
<< 前へ | 次へ >> |