Hibernate无法解开界面

时间:2017-01-17 19:31:59

标签: java hibernate jboss

我需要帮助

javax.persistence.PersistenceException: Hibernate cannot unwrap interface java.sql.Connection

我需要解开连接。这是从glassfish到JBoss eap 7的迁移。我不明白问题出在哪里。 JBoss不接受这个吗?还有其他方法可以解开吗?

我阅读了很多关于解开与Session的连接的内容,但我的IDE说Session未找到。

我使用JBoss eap 7和hibernate 2.1。

1 个答案:

答案 0 :(得分:4)

Jboss EAP7支持Hibernate 5.x,而不支持Hibernate 2.x.使用与特定JBoss EAP版本捆绑在一起的Hibernate版本。

entityManager.getTransaction().begin();

java.sql.Connection connection = entityManager.unwrap(java.sql.Connection.class);
...
entityManager.getTransaction().commit();
Session hibernateSession = entityManager.unwrap(Session.class);

hibernateSession.doWork(new org.hibernate.jdbc.Work() {

    @Override
    public void execute(Connection connection) throws SQLException {
        // do whatever you need to do with the connection
    }
});

见这里:http://wiki.eclipse.org/EclipseLink/Examples/JPA/EMAPI#Getting_a_JDBC_Connection_from_an_EntityManager