entitymanagerhelper.java

来自「struts2 spring2.5 jpa hibernate 权限管理系统源代」· Java 代码 · 共 56 行

JAVA
56
字号
package sunyang.persistence;

import javax.persistence.*;

public class EntityManagerHelper {

	// 实体化私有静态实体管理器变量emf
	private static final EntityManagerFactory emf;
	// 实体化私有静态本地线程变量threadLocal
	private static final ThreadLocal<EntityManager> threadLocal;

	// 用来给两个变量赋初值的静态块
	static {
		emf = Persistence.createEntityManagerFactory("lamsPU");
		threadLocal = new ThreadLocal<EntityManager>();
	}

	// 得到实体管理器的方法
	public static EntityManager getEntityManager() {
		EntityManager manager = threadLocal.get();
		if (manager == null || !manager.isOpen()) {
			manager = emf.createEntityManager();
			threadLocal.set(manager);
		}
		return manager;
	}

	// 关闭实体管理器的方法
	public static void closeEntityManager() {
		EntityManager em = threadLocal.get();
		threadLocal.set(null);
		if (em != null)
			em.close();
	}

	// 开始事务的方法
	public static void beginTransaction() {
		getEntityManager().getTransaction().begin();
	}

	// 提交事务的方法
	public static void commit() {
		getEntityManager().getTransaction().commit();
	}

	// 回滚事务的方法
	public static void rollback() {
		getEntityManager().getTransaction().rollback();
	}

	// 生成查找的方法
	public static Query createQuery(String query) {
		return getEntityManager().createQuery(query);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?