java - 设置 Hibernate 3 使用 useJDBC4ColumnNameAndLabelSemantics

标签 java hibernate db2

我们使用 Hibernate 3 和 DB2 运行到:

Invalid parameter: Unknown column name FOO. ERRORCODE=-4460, SQLSTATE=null

这是我在网上搜索时看到的常见问题。基本上,我们需要强制 Hibernate 按列名检索列。 Stack Overflow 问题的一个示例是 here

如果您阅读了 Mark Rotteveel 的回答,他建议“将 useJDBC4ColumnNameAndLabelSemantics Connection 或 DataSource 属性设置为 DB2BaseDataSource.NO (2)”

我的问题是,如何在 Hibernate 中执行此操作?我找不到如何设置这样的 JDBC 属性的示例。 Hibernate 是否内置了此属性?

最佳答案

manual clearly explains如何设置 JDBC 连接属性。

如果您使用 hibernate.properties 来配置 Hibernate,则需要添加

hibernate.connection.useJDBC4ColumnNameAndLabelSemantics=2

到文件。如果您使用 hibernate.cfg.xml,则添加

<property name="connection.useJDBC4ColumnNameAndLabelSemantics">2</property>

session-factory元素。您还可以使用 org.hibernate.cfg.Configuration.setProperty() 方法。

最后,您可以简单地将属性附加到 JDBC URL:

jdbc:db2://hostname:port/database:useJDBC4ColumnNameAndLabelSemantics=2;

关于java - 设置 Hibernate 3 使用 useJDBC4ColumnNameAndLabelSemantics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33377518/

相关文章:

java - 如何在 Java 中正确 append 两个二维数组?

java - JFileChooser弹出2次

java - 访问数据库时分离关注点的最佳实践

java - wildfly8.2、hibernate-entitymanager 4.3.8.Final中的JPA二级缓存

java - 如何使用 objectmapper 将 JSON 反序列化为输入 bean?

java - Velocity 有哪些先进概念?

java - 如何找到死锁的两个线程?

java - 不指定用户名和密码的 DB2 连接

mysql - 什么是聚簇索引表?

Windows Server 2019 中的 Java 8 性能问题