[MirageSQL]SQLのクエリ結果がモデル(クラス)に反映されない

Pocket

なんで、正月から仕事しないといけないんでしょうか。もう誰か(しかも大嫌いな人)の尻ぬぐいはまっぴらごめんです。

ユーチューバーに俺はなる!

スポンサーリンク

MirageSQLとは

よくわかりませんが、2ウェイがどうのこうので、SQLはソースコードと分離するとのことです。正直、知らないので説明できないですけどね。

しかし、なんでJavaになるとSQLは分離、分離と必死に騒ぐのか不思議でなりません。もはや思考停止しているのでしょう。どうでもいいですが。

では、本題です。

MirageSQLを使ってSQLを分離するのはいいのですが、SQLのクエリ結果がモデルに入ってこない現象に悩まされました。なお、関係あるのかないのか知りませんが、データベースは oracle です。

SQLを直接ツールで実行するとクエリ結果は返ってくるのに、MirageSQL を通すと、なぜか値が null になってしまっています。以下に、結果OKのSQLと結果NGのSQLを載せておきます。

こんなことで、masao の貴重な正月を台無しにしてくれた犯人はどうしてくれようか ( ´艸`) 

結果OKのSQL


select
  T1.col1
 ,T2.col2
from
 table1 T1
left join
 table2 T2
 on T2.col4 = T1.col4 -- キー

結果NGのSQL


select
  T1.col1
 ,col2    -- col2 がtable2にしか定義されていなくてもNG
          -- ツールで実行すれば、このSQLでも問題なし
from
 table1 T1
left join
 table2 T2
 on T2.col4 = T1.col4 -- キー
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *