import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
*
* @author Administrator
*/
public class EntityManagerUtil {
private static final EntityManagerFactory emf;
private static final ThreadLocal<EntityManager> threadLocal;
static {
emf = Persistence.createEntityManagerFactory("chykj1.4PU");
threadLocal = new ThreadLocal<EntityManager>();
}
public static EntityManager getEntityManager() {
EntityManager em = threadLocal.get();
if (em == null || !em.isOpen()) {
em = emf.createEntityManager();
threadLocal.set(em);
}
System.out.println(em);
return em;
}
public static void closeEntityManager() {
EntityManager em = threadLocal.get();
threadLocal.set(null);
if (em != null) {
em.close();
}
}
public static void closeFactory() {
if (emf != null && emf.isOpen()) {
System.out.println("emf closed!");
emf.close();
}
}
public static void begin() {
getEntityManager().getTransaction().begin();
}
public static void commit() {
getEntityManager().getTransaction().commit();
}
public static void rollback() {
getEntityManager().getTransaction().rollback();
}
public static <T> T find(Class<T> c, Object key) {
return getEntityManager().find(c, key);
}
public static void persist(Object entity) {
getEntityManager().persist(entity);
}
public static <T> T merge(T entity) {
return getEntityManager().merge(entity);
}
public static void remove(Object entity) {
getEntityManager().remove(entity);
}
public static void flush() {
getEntityManager().flush();
}
}
08年底接触下了jsf,看了点ICEFaces,一个jpa的例子里有对EntityManager的封装,自己改了改用在一个办公室OA里了,发表出来,不知道这样做好不好,如果不发出来,也不知道好不好呢!发出来大家可以讨论下。另外我还上传了我写的OA的全部代码,感兴趣的朋友可以点评下。
分享到:
相关推荐
jpa--7.api(EntityManager其他方法)jpa--7.api(EntityManager其他方法)jpa--7.api(EntityManager其他方法)jpa--7.api(EntityManager其他方法)
通过将公共通用操作写进父类简化代码,提高代码的复用。 面向接口 使用继承 泛型 引入JPA API查询 以及 元数据 提高代码的安全性.
JPA视频_EntityManager(1) · 8. JPA视频_EntityManager(2) · 9. JPA视频_EntityManager(3) · 10. JPA视频_EntityManager(4) · 11. JPA视频_EntityTransaction · 12. JPA视频_映射单向多对一的关联关系 ...
java的jpa封装、方面的使用jpa java的jpa封装、方面的使用jpa java的jpa封装、方面的使用jpa
jpa--6.api(EntityManager实体的状态)jpa--6.api(EntityManager实体的状态)jpa--6.api(EntityManager实体的状态)jpa--6.api(EntityManager实体的状态)
EntityManager管理,java jpa
封装通用的Spring3+Struts2+JPA的CRUD 通用分页实现
NULL 博文链接:https://godit.iteye.com/blog/1716651
https://blog.csdn.net/qq_37813031/article/details/104556497 jpa批量存储实例
主要内容: JPA 体系架构 Entity Bean EntityManager JPA Query
JPA教程JPA教程JPA教程JPA教程JPA教程
jpa jpa规范 jpa源码 jpa jpa规范 jpa源码
主要介绍了使用SpringBoot-JPA进行自定义的保存及批量保存功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
jpajpajpajpajpajpajpajpajpajpajpajpajpa
OpenJPA 封装了和关系型数据库交互的操作,让开发者把注意力集中在编写业务逻辑上。OpenJPA 可以作为独立的持久层框架发挥作用,也可以轻松的与其它 Java EE 应用框架或者符合 EJB 3.0 标准的容器集成。 除了对 ...
包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注
JPA基本语法资料,对于初学者来说,这份资料可以帮助大家初步了解jpa的一些基本语法。
绝对好用的es工具封装,集成jpa和jest es工具封装,最新的springboot集成jpa和jest,集群
pom.xml 的引入的相关jar版本配置 ... <hibernate-entitymanager.version>4.1.0.Final</hibernate-entitymanager.version> <hibernate-jpa.version>1.0.1.Final</hibernate-jpa.version> </properties>
jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联映射jpa 关联...