jpa2.0s 获取Hibernate Session
原文来自: http://xuxiaohongok.iteye.com/admin/blogs/new
从JPA 2.0 EntityManager获得Hibernate Session
据Emmanuel Bernard说,组织采用Hibernate来执行ORM工作是喜欢的一种选择是使用JPA EntityManager。他是Jboss的数据架构师,也是Hibernate团队一员。因此,如果IT开发人员需要得到基础 Hibernate Session来访问它的附加功能的话,他们应该怎么做?幸运地,JPA规范使提访问基本Hibernate Session成为可能,即使你的应用正在使用JSR-317标准。
JPA 1.0访问Hibernate Session
为也从JPA 1.0 EntityManager中得到Hibernate Session,那么下面的代码是必不可少的:
org.hibernate.Session hibernateSession = (Session)entityManager.getDelegate();
不幸地,这个语法不是完全可移植的,虽然此代码可在Jboss应用服务器上运行良好,但运行在其它平台时,将会出现不可预测的后果。
JPA 2.0访问Hibernate Session
很幸运,JPA 2.0提供了更好的、更可移植的,更加跨平台的方法,来获取Hibernate Session。代码如下:
Session session = entityManager.unwrap(org.hibernate.Session.class);
就是它了!当与JPA EntityManager一起合作是,获取基本的Hibernate实现类是如此地简单。因此,此代码成为你的HibernateUtil类的一部分,使永久存储成为可能,与你的实体beans一起工作,成为多态的Hibernate Session,从而允许你利用更多的简洁功能,超越JPA规范,凌驾于JPA之上。
jpa批量插入
http://blog.csdn.net/lovewangyanjiao/article/details/6644934
猜你喜欢
转载自xuxiaohongok.iteye.com/blog/2022910
今日推荐
周排行