OpenJPA's JDBC wrappers throw UnsupportedOperationException for all the JDBC3 and JDBC4 methods. While OpenJPA doesn't use any of these methods, our mechanism for implementing them is limiting, in that users who obtain Connections from OpenJPA 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.