データレイヤー単体テストには、Oracle データベース構文 (jdbc:hsqldb:mem:TestDB;sql.syntax_ora=true) で HSQLDB を使用しています。
(これは理想的ではないことを認識しており、実際の Oracle データベースに対してテストできればよりよいでしょう。ただし、自動テストをどこでも実行できるようにしたいので、これはオプションではありません。後のステップで、すべてのクエリまた、本番データベースと同様にセットアップされた実際の Oracle データベースでの統合テストでもテストされています。)
HSQLDB を使用したクエリで Oracle の外部結合 (+) 表記をサポートする方法はありますか?
私自身の意見では、(+) 表記を使用するのではなく、代わりに標準の外部結合表記を使用する必要があります。ただし、クエリの調整を担当する担当者はこの表記法を使用するため、彼らとのコミュニケーションはより困難になり、エラーが発生しやすくなります。解決策が見つからない場合は選択肢になるかもしれませんが、これはここでは問題ではありません。
次のスレッドを見つけまし た 。インターフェイスは公式の HSQL リリースにはなりませんでした。
HSQLのこれに対する別の回避策はありますか?
単体テスト自体のどこかに (テスト データベース レベルではなく) クエリの書き換えを追加することもできますが、それは避けたほうがよいでしょう。
HSQL の回避策がない場合、この (+) 外部結合表記をサポートする、jar から起動可能な他のメモリ内データベース/データベースはありますか?