The Connection objects are provided by the DataSource objects.
The DataSource objects come JNDI. Ostensibly those come from a JDBC driver registered with the appserver.
You can make your own JDBC driver (which can simply be a facade over an existing one), or you can register your own customer resource factory within the Glassfish JNDI.
The JPA doen't know anything about this, it simply looks up the Datasource. It doesn't care where they come from.
[Message sent by forum member 'whartung']
http://forums.java.net/jive/thread.jspa?messageID=479907