如何在 EclipseLink 中引用自定义 'ConnectionProvider'?

How to reference a custom 'ConnectionProvider' in EclipseLink?

在 Hibernate 中,我可以定义名为 属性 的 hibernate.connection.provider_class 来声明一个 class,Hibernate 应该使用它来创建新的连接。 class 必须实现接口 org.hibernate.engine.jdbc.connections.spi.ConnectionProvider。 EclipseLink 中有类似的东西吗?

背后的用例是,我想使用 class 包装由 JPA-Provider 创建的 jdbc-connections,它允许它操纵发送到 [=21 的语句=].

例如,我想删除生产代码中使用的 sql-hints,以便能够在 H2 测试期间替换生产数据库。

根据EclipseLink JavaDoc(版本2.6.x)中的官方文档,您可以使用:

<property name="eclipselink.jdbc.connector" value="package.MyConnector"/>

在你的 persistence.xml 中。通过这样做,您可以参考 class MyConnector 必须实现 接口 org.eclipse.persistence.sessions.Connector 定义方法

allow TopLink to acquire a Connection to a JDBC database.

我想,特此应该可以"configure"按照你描述的方式连接。

仅供参考: 如果您手头有典型的 (JDBC) 配置参数,您可以从 org.eclipse.persistence.sessions.DefaultConnector 扩展。

希望对您有所帮助。