1

所以Hibernate支持最新版本的Firebird,真的很棒。但...

我在这里得到了一个 Firebird 1.5.2 数据库。我的 Grails 应用程序通过 Hibernate 使用这个数据库......到目前为止一切都很好。

我的应用程序使用我的数据库不知道的功能发送查询。例如函数 LOWER,从 2.x 开始在 Firebird 中得到支持。

我的问题:是否有可能为我的数据库获得一种特殊的 Hibernate 方言?目前我正在使用:方言=“org.hibernate.dialect.FirebirdDialect”

我如何帮助我的数据库处理这个未知函数?

4

1 回答 1

1

您可以通过继承 FirebirdDialect 并覆盖所有应返回不同值的函数来创建自己的方言类。

对于需要将 Hibernate 使用的函数重命名为小写的简单情况,您可以在 Hibernate 配置中简单地设置以下内容:

hibernate.query.substitutions toLowercase=mylower

但是,由于 Firebird 1.5 没有 toLowercase 函数,您需要按照 Firebird 文档中的说明自行实现它。

于 2009-06-26T10:57:25.470 回答