在旧数据库中使用Grails / Hibernate。如何创建缺失的功能?

时间:2009-06-26 09:56:01

标签: hibernate grails firebird

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

我来到Firebird 1.5.2数据库。我的Grails App通过Hibernate使用这个数据库...到目前为止一切都很棒。

我的应用程序使用我的数据库不知道的函数发送查询。例如,函数LOWER,自2.x以来在Firebird中受支持。

我的问题: 是否可以为我的数据库获取特殊的Hibernate Dialect? 目前我正在使用: dialect =“org.hibernate.dialect.FirebirdDialect”

如何协助我的数据库处理这些未知函数?

1 个答案:

答案 0 :(得分:1)

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

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

hibernate.query.substitutions toLowercase = mylower

但是,由于Firebird 1.5没有toLowercase功能,您需要自己实现as described in the Firebird documentation