【问题标题】:Setting Hibernate 3 to use useJDBC4ColumnNameAndLabelSemantics将 Hibernate 3 设置为使用 useJDBC4ColumnNameAndLabelSemantics
【发布时间】:2016-01-27 10:15:50
【问题描述】:

我们正在使用 Hibernate 3 和 DB2 运行:

无效参数:未知列名 FOO。 ERRORCODE=-4460,SQLSTATE=null

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

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

我的问题是,我如何在 Hibernate 中做到这一点?我找不到如何设置诸如此类的 JDBC 属性的示例。 Hibernate 是否内置了这个属性?

【问题讨论】:

    标签: java hibernate db2


    【解决方案1】:

    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;
    

    【讨论】:

      猜你喜欢
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 2012-05-22
      • 2014-08-20
      相关资源
      最近更新 更多