gpt4 book ai didi

scala - 在 SAP HANA + Hibernate 中选择抛出错误 : `Method unwrap of com.sap.db.jdbc.CallableStatementSapDBFinalize is not supported`

转载 作者:行者123 更新时间:2023-12-04 08:47:34 25 4
gpt4 key购买 nike

我有下表:

CREATE column TABLE banks (
sk tinyint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
code varchar(10) DEFAULT NULL,
name varchar(100) DEFAULT NULL,
version smallint DEFAULT NULL,
PRIMARY KEY (sk)
);

我尝试使用以下代码(在 Scala 中)选择表的行:
import scala.collection.JavaConverters._

object Test extends App {

val session = HibernateUtil.sessionFactory.openSession
val q = session.createQuery("from BankHib ")
val list2 = q.list // <-- code breaks here

session.close
}

使用以下实体定义:
@Entity
@Table(name = "banks")
class BankHib {

@Id
var sk: Int = _

var code: String = _
var name: String = _
var version: Int = _
}

以及获取 session 工厂的实用程序:
object HibernateUtil {

val sessionFactory = buildSessionFactory

def buildSessionFactory = {
try {
new Configuration().configure().buildSessionFactory();
} catch {case ex:Throwable =>
println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}

def shutdown {
sessionFactory.close
}
}

当我运行 Test 对象时,出现以下异常:
Caused by: com.sap.db.jdbc.exceptions.SQLFeatureNotSupportedExceptionSapDB: Method unwrap of com.sap.db.jdbc.CallableStatementSapDBFinalize is not supported.
at com.sap.db.jdbc.exceptions.SQLExceptionSapDB._createException(SQLExceptionSapDB.java:155)
at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateSQLException(SQLExceptionSapDB.java:26)
at com.sap.db.jdbc.WrapperDummy.unwrap(WrapperDummy.java:25)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:64)
... 26 more

有什么问题以及如何解决?不支持的功能是什么?

最佳答案

异常从最近修改过的 hibernate 代码开始。

链接的问题是这个:https://hibernate.atlassian.net/browse/HHH-10256

更改发生在 hibernate 5.2.8 上。因此,如果您使用的是 5.2.8+ 版本(显然您给出的错误指向 5.2.10 版本),您可以尝试降级到 5.2.7 吗?

我很担心,因为很老的 sap 驱动程序似乎对旧代码没问题。如果较新的 hana 驱动程序与较新的代码有问题,将很难找到 hibernate 版本和 sap 驱动程序版本之间的正确匹配。

如果您有 5.2.7 和 5.2.10 的异常,您将不得不重新打开 hibernate 问题。

而且您还获得 SAP 对 hana 的支持(如果您使用 hana,您已经为此付费),因此请联系他们以获得正确支持 JDBC 的更好的驱动程序。他们甚至可能不会回答(您支付产品费用,并不是告诉他们有错误,错误总是在您身边)但谁知道。

关于scala - 在 SAP HANA + Hibernate 中选择抛出错误 : `Method unwrap of com.sap.db.jdbc.CallableStatementSapDBFinalize is not supported` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45265819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com