代わる何か新しいものを発明する必要はありません。文法や機能はデータベースベンダーによって異っています。利用する必要が出てしまいます。これは同時に、データベースの特有の便利な機能を自ら制限することにもなってしまいます。ステートメントの組み立てを補助する機能もあります。隠蔽してしまうことではありません。フォールバックすることができます。良いと言われることがあります。残念なことに、このようなコンパイラのチェックは、あなたがデータ構造をデータベースのスキーマに人力でマッピングして作ったメタモデルに対するクエリに対して行われます。このとき、定義したメタモデルが正しいという保証はありません。コンパイラがあなたのコードやクエリが正しく打ち込まれていると判断したとしても、メタモデルとデータベースのスキーマにミスマッチがあれば、残念なことに実行時エラーになってしまいます。一般的なデータモデルに関してはうまくいきます。クエリーを生成するのはかなりの負担になります。アプリケーションのようなシンプルな場合には面倒ですが、実際のアプリケーションでは結果的に時間の節約やコードのシンプル化につながります。実行方法を知る必要があります。オブジェクトを使ってクエリを作成しましょう。ヘルパー関数が利用できます。