在将 Springboot JPA 支持的应用程序与 Databricks 集成时面临问题。
以下是我们为集成所做的步骤和设置。
当我们启动 springboot 应用程序时,我们收到警告:
HikariPool-1 - Driver does not support get/set network timeout for connections.
([Databricks][JDBC](10220) Driver does not support this optional feature.)
应用程序开始。
与数据库交互进行任何 CRUD 操作时,我们会遇到异常:
Caused by: java.sql.SQLFeatureNotSupportedException: [Databricks][JDBC](10220) Driver does not support this optional feature
。
使用的驱动程序:
com.databricks.client.jdbc.Driver
网址:
jdbc:databricks://************************ t:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/778046939806498/0307-074105-********;AuthMech=3;UID=token;PWD=*****************
方言:
org.hibernate.dialect.MySQLDialect
下面是我们尝试过的其他驱动程序以及 databricks-jdbc-driver-install-and-configuration-guide 中建议的:
com.databricks.client.jdbc.DataSource
com.databricks.client.jdbc42.Driver
com.databricks.client.jdbc42.DataSource
此外,我们想强调的是,我们能够建立单一连接,并能够使用自定义查询执行 CRUD 操作,但不能使用 Spring Data Jpa。
问题是 Databricks JDBC 驱动程序不支持 autoCommit,该功能在 HikariCP 中默认设置为 true。
因此您需要在 HikariCP 配置中将 autoCommit 显式配置为 false。