如何使用JPA连接Databricks数据库和Springboot应用程序

问题描述 投票:0回答:1

在将 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。

java spring-boot databricks azure-databricks
1个回答
0
投票

问题是 Databricks JDBC 驱动程序不支持 autoCommit,该功能在 HikariCP 中默认设置为 true。

因此您需要在 HikariCP 配置中将 autoCommit 显式配置为 false。

https://www.javadoc.io/doc/com.zaxxer/HikariCP/3.0.0/com/zaxxer/hikari/HikariConfig.html#setAutoCommit-boolean-

© www.soinside.com 2019 - 2024. All rights reserved.