GeneXusで作ったシステムでどのようなSQLが発行されているか確認できますか?
そんな質問を受けたので、確認する方法を記載したいと思います。
プロパティの設定
まずGeneXusの「Log JDBC Activity」をYesに設定します。

これでアプリケーションサーバ上に出るので、出力先を変更したい場合は下記を「JDBC log file」プロパティで設定しましょう。

動作確認
まずなんでも良いのでDBアクセスがある画面を実行します。
今回は簡単に商品テーブルからデータを取ってきて表示するだけの画面を実行。

設定したところにjdbc.logが出力されてます。

Logファイル確認

ちょっと見づらいですが、抜粋すると下記のSelect文が取得のSQLみたいですね。
「?」はバインド変数でValue部分が置き換わります。
97(3)(13:03:07.696)GXConnection/634968503: Reusing cursor H00072 free 3 used 0 - SELECT ShohinNm, ShohinId FROM Shohin ORDER BY ShohinNm, ShohinId OFFSET ? LIMIT CASE WHEN ? > 0 THEN ? ELSE 1e9 END
98(3)(13:03:07.696)GXPreparedStatement/208889043: setInt - index : 1 value : 0
99(3)(13:03:07.696)GXPreparedStatement/208889043: setInt - index : 2 value : 11
100(3)(13:03:07.696)GXPreparedStatement/208889043: setInt - index : 3 value : 11
まとめ
Javaソースを見ればSQLは確認できますが、実際に動かすことによって、どのようなSQLが投げられているかすぐ確認できますね。
ただデフォルトは出力しない設定なので、本番環境とかで出してしまうと大量に出力されてしまうので、そういった環境では常時出力すると言った設定はしないほうが良いかもしれません。