[ 
https://issues.apache.org/jira/browse/OPENJPA-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12467529
 ] 

Kevin Sutter commented on OPENJPA-5:
------------------------------------

To follow on to one of Marc's earlier comments...  These updates to support the 
new JDBC 4 interfaces brings up another question.  What about the support for 
the new data types introduced by JDBC 4 (NCHAR, NVARCHAR, LONGNVARCHAR, NCLOB)? 
 Or, some of the new functionality provided by JDBC 4 (SQLException extensions, 
event listeners, etc).  

There is a lot of overlap between OPENJPA-4 and OPENJPA-5.  Are these new JDBC 
4 features another new JIRA issue?  Maybe we have two main goals -- 1)  Is just 
to get us buildable and runnable in a JDK 6 (JDBC 4) environment, and 2) 
exploit the new functions provided by JDK 6 (JDBC 4).  Is (1) for OPENJPA-4 and 
(2) for OPENJPA-5?  The discussions seem be blurring the lines and I'm just 
trying to get a handle on how much we're going to bite off with each JIRA 
Issue.  Thanks.

> OpenJPA doesn't compile with JDBC 4
> -----------------------------------
>
>                 Key: OPENJPA-5
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-5
>             Project: OpenJPA
>          Issue Type: Improvement
>            Reporter: Craig Russell
>
> Patrick opines:
> OpenJPA implements Statement, ResultSet, Connection, and maybe a
> couple other JDBC interfaces. See
> org.apache.openjpa.lib.jdbc.Delegating*. We do this for a number of
> reasons: to resolve database-specific bugs in a transparent fashion, to
> provide logging, to handle reference counting, etc.
> The pressing issue is that we must provide implementations of all of the
> methods in the various java.sql interfaces. The fact that we do not
> implement the new JDBC4 methods is why OpenJPA won't currently compile
> against JDK6. This is pretty easy to fix; take a look at
> org.apache.openjpa.lib.jdbc.DelegatingStatement to see how we handled
> this for JDBC3. Since we know that we never invoke the new methods, we
> can happily throw unsupported operation exceptions for the new methods.
> However, these unsupported methods do provide a challenge. While Kodo
> doesn't use any of these methods, our mechanism for implementing them is
> limiting, in that users who obtain Connections from Kodo will not be
> able to use the new JDBC3/JDBC4 methods in their own code. Ideally, we
> should provide some means for people to designate to OpenJPA that it
> should use a dynamic proxy to implement the unimplemented methods. This
> shouldn't be the default behavior, as the dynamic proxy will add
> overhead, but certainly could be desirable for some. I'll file an issue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to