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
今日推荐