如何在 EclipseLink 中引用自定义的“ConnectionProvider”?

Posted

技术标签:

【中文标题】如何在 EclipseLink 中引用自定义的“ConnectionProvider”?【英文标题】:How to reference a custom 'ConnectionProvider' in EclipseLink? 【发布时间】:2019-11-08 08:06:05 【问题描述】:

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

这背后的用例是,我想使用一个类来包装由 JPA-Provider 创建的 jdbc-connections,该类允许它操纵发送到 JDBC-Driver 的语句。

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

【问题讨论】:

【参考方案1】:

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

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

在您的persistence.xml 中。通过这样做,您可以引用一个类MyConnector,它必须实现接口org.eclipse.persistence.sessions.Connector,它定义了

允许 TopLink 获取到 JDBC 数据库的连接

我认为,应该可以按照您描述的方式“配置”连接。

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

希望对你有帮助。

【讨论】:

以上是关于如何在 EclipseLink 中引用自定义的“ConnectionProvider”?的主要内容,如果未能解决你的问题,请参考以下文章

无法理解 EclipseLink 警告

单片机 C语言,如何调用外部自定义函数。

如何在 JPA 中生成自定义 ID

C语言中如何引用其它C源文件中的函数?

从自定义控件引用子项

引用自定义头文件时时出错