JPA EntityManager获得session、connection
2013-12-09 16:31
267 查看
1、获得Hibernate Session
Session session = entityManager.unwrap(org.hibernate.Session.class);
2、获得java.sql.Connection
方法1:
JPA 2.0
entityManager.getTransaction().begin();
java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
...
entityManager.getTransaction().commit();
但是对于Hibernate3.6.5会报错PersistenceException包含如下信息:Hibernate cannot unwrap interface java.sql.Connection
方法2:
SessionImplementor session =entityManager.unwrap(SessionImplementor.class);
session.connection();
方法3:
Session session = (org.hibernate.Session) em.getDelegate();
SessionFactoryImplementor sf = (SessionFactoryImplementor) session.getSessionFactory();
connection = sf.getConnectionProvider().getConnection();
hibenate 4.3 :
Session session = (Session) em.getDelegate();
SessionFactoryImpl sessionFactory = (SessionFactoryImpl) session.getSessionFactory();
connection = sessionFactory.getConnectionProvider().getConnection();
Session session = entityManager.unwrap(org.hibernate.Session.class);
2、获得java.sql.Connection
方法1:
JPA 2.0
entityManager.getTransaction().begin();
java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
...
entityManager.getTransaction().commit();
但是对于Hibernate3.6.5会报错PersistenceException包含如下信息:Hibernate cannot unwrap interface java.sql.Connection
方法2:
SessionImplementor session =entityManager.unwrap(SessionImplementor.class);
session.connection();
方法3:
Session session = (org.hibernate.Session) em.getDelegate();
SessionFactoryImplementor sf = (SessionFactoryImplementor) session.getSessionFactory();
connection = sf.getConnectionProvider().getConnection();
hibenate 4.3 :
Session session = (Session) em.getDelegate();
SessionFactoryImpl sessionFactory = (SessionFactoryImpl) session.getSessionFactory();
connection = sessionFactory.getConnectionProvider().getConnection();
相关文章推荐
- JPA EntityManager获得session、connection
- JPA EntityManagerFactory Vs Hibernate’s SessionFactory
- spring data jpa 中的OpenEntityManagerInViewFilter 取代OpenSessionInViewFilter 放置session失效
- spring data jpa懒加载session失效:OpenEntityManagerInViewFilter 取代OpenSessionInViewFilter
- JPA EntityManagerFactory Vs Hibernate’s SessionFactory
- JPA EntityManager 获取session
- JPA EntityManagerFactory Vs Hibernate' SessionFactory
- Spring Data Jpa 自定义 Repository EntityManager is null
- jpa动态创建EntityManagerFactory 态设置数据库连接 EntityManager;
- JPA EntityManager remove() 无效
- JPA:LocalContainerEntityManagerFactoryBean与LocalEntityManagerFactoryBean的区别
- JPA与Spring2.5整合时发生不能创建entityManagerFactory的问题解决方法
- JPA+Spring下,applicationContext.xml中的entityManagerFactory中的class设置问题
- JPA EntityManager的四个主要方法 ——persist,merge,refresh和remove
- WARN ConnectionManager:376 - unclosed connection, forgot to call close() on your session?问题全解
- 【转】使用JPA的EntityManager.persist()方法无法保存到数据库的问题
- JPA+Spring下,applicationContext.xml中的entityManagerFactory中的class设置问题
- jpa--No Persistence provider for EntityManager named xx
- Spring三种方法创建JPA EntityManagerFactory的方法
- JPA--Caused by: javax.persistence.PersistenceException: [PersistenceUnit: mysqlJPA] Unable to configure EntityManagerFactory