5 JPAUTilツールクラスの抽出
目的:エンティティ・マネージャ・ファクトリのリソースの浪費と時間の消費の問題を解決する
テストクラス
JpaUtils
package cn.ys.jpa.utils;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
*
* , ,
*
* getEntityManager : factory , EntityManager
* getEntityManager : factory , EntityManager
*/
public class JpaUtils {
private static EntityManagerFactory factory;
static {
//1. , entityManagerFactory
factory = Persistence.createEntityManagerFactory("myJpa");
}
/**
* EntityManager
*/
public static EntityManager getEntityManager() {
return factory.createEntityManager();
}
}
テストクラス
/**
* jpa
* :
* Jpa
* 1. ( )
* 2.
* 3. ,
* 4.
* 5. ( )
* 6.
*/
@Test
public void testSave() {
EntityManager em = JpaUtils.getEntityManager();
//3. ,
EntityTransaction tx = em.getTransaction(); //
tx.begin();//
//4. :
Customer customer = new Customer();
customer.setCustName(" ");
customer.setCustIndustry(" ");
customer.setCustPhone("17607180290");
//
em.persist(customer); //
//5.
tx.commit();
//6.
em.close();
}