如何在 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”?的主要内容,如果未能解决你的问题,请参考以下文章