openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebastian Laskawiec (JIRA)" <>
Subject [jira] [Updated] (OPENJPA-1803) Unwrap EntityManager to Connection
Date Tue, 21 Jun 2011 13:33:47 GMT


Sebastian Laskawiec updated OPENJPA-1803:

    Attachment: OPENJPA-1803.patch

Hi, I also think it is a good idea. I think it is OK with the spec to return here java.sql.Connection:

* Return an object of the specified type to allow access to the
* provider-specific API. If the provider's EntityManager
* implementation does not support the specified class, the
* PersistenceException is thrown.

I found also part of the documentation, which describes, how to obtain JDBC connection:

Please take a look at this patch, I added _broker.getConnection() to EntityManagerImpl.unwrap
method and added one test. 

> Unwrap EntityManager to Connection
> ----------------------------------
>                 Key: OPENJPA-1803
>                 URL:
>             Project: OpenJPA
>          Issue Type: Improvement
>          Components: competitive, jpa
>    Affects Versions: 2.0.1
>            Reporter: Harald Wellmann
>         Attachments: OPENJPA-1803.patch
> This is currently the recommended way to access the javax.sql.Connection underlying an
>         OpenJPAEntityManager oem = OpenJPAPersistence.cast(em);
>         Connection con = (Connection) oem.getConnection();
> It would be more convenient to simply write
>         Connection con = em.unwrap(Connection.class);
> That way, the client needing to access the Connection only depends on the javax.persistence
API and not on org.apache.openjpa.*.
> I believe the JPA 2.0 spec neither mandates nor forbids this functionality. It is supported
by Eclipselink 2.x.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message