データベース依存機能(メソッド)の利用
データベース依存機能とは?
DBFluteは、デフォルトでは DBMs に依存したメソッドは生成されず、DBMs を移行した場合でも少なくとも機能面ではコンパイルエラーにはならないようになっています。 例えば、ExistsReferrer, LockForUpdate, Paging など、どの DBMs で自動生成してもインターフェースは同じです。 (但し、コンパイルエラーが出ないというだけで潜在的な部分での移行はやはり必要となるでしょう)
しかし、DBMs に依存した幾つかの機能(データベース依存機能)も利用できます。その場合、別の DBMs ではコンパイルエラーとなりますが、特に問題なければオプションで生成することができます。
オプション設定
littleAdjustmentMap.dfprop の isAvailableDatabaseDependency を有効にすることで、データベース依存(DMBs依存)のメソッドが生成されます。
各種データベースの機能
どのような機能が利用できるようになるかは、データベースごとに様々です。
PostgresQL
- for update nowait
- 待たずに例外になる更新ロックの取得
- "%%" 構文
- "Ludia + senna" の利用を想定した全文検索の条件
MysQL
- for update nowait
- 待たずに例外になる更新ロックの取得
- "match" 構文
- "Tritonn + senna" の利用を想定した全文検索の条件
Oracle
- for update nowait
- 待たずに例外になる更新ロックの取得
- for update wait N
- 待つ時間を指定できる更新ロックの取得
- "contains" 構文
- "Oracle Text" の利用を想定した全文検索の条件
DB2
- with [LEVEL]
- 分離レベルに応じてロックの方法を変更