Grailsの使用/古いデータベースを休止。不足している関数を作成するには?

StackOverflow https://stackoverflow.com/questions/1048285

  •  20-08-2019
  •  | 
  •  

質問

だから、Hibernateは本当に素晴らしいである、Firebirdの最新バージョンをサポートします。 しかし...

私はここでのFirebird 1.5.2のデータベースを得ました。休止を経て、このデータベースを使用して私のGrailsのアプリの...これまでのところ、すべての偉大ます。

私のアプリは、私のデータベースには知られていない機能を持つクエリを送信します。今2.xのため、火の鳥でサポートされる関数LOWER、例えばます。

私の質問: それは私のデータベースのために特別にHibernate方言を取得することはできますか? 現在、私は使用しています: 方言= "org.hibernate.dialect.FirebirdDialect"

どのように私はこの未知の関数を扱う私のデータベースを支援することができますか?

役に立ちましたか?

解決

あなたはFirebirdDialectをサブクラス化し、異なる値を返す必要がありますすべての機能を上書きして、独自の方言クラスを作成することができます。

Hibernateは下部ケースのために使用される関数の名前を変更する必要の簡単なケースでは、単にあなたのHibernate設定で次のように設定することができます:

hibernate.query.substitutions toLowerCaseメソッド= mylower

ただし、1.5 Firebirdのは、toLowerCaseメソッド機能のないようなものを持っていないとして、あなたはそれを自分<のhref = "http://firebirdsql.com/refdocs/langrefupd20-udf-lower.html" のrel = "nofollowをnoreferrerを実装する必要があります「> Firebirdのドキュメントので説明したようにます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top