S2JDBC / クエリを投げる(タイプセーフ) / group by

S2JDBC / クエリを投げる(タイプセーフ) / group by

場合によっては group by を使いたくなる状況というのはあるだろう。

しかし、ORM と Java の機能を活用すればほとんどの場合において、group by 自体を発行する必要が無い。 必要があるとするならば大量のレコードを対象に having を書かなければならないような状況。これはタイプセーフで書けない。 キーになってない値での group by も書けない。

ORM には OneToMany の機能があるので、この Many をもってして、group とみなせばよい。

group by のあとには max やら sum やらの集計関数を用いるが、これは Entity のメソッドに寄せてしまえばよい。

having は dao や service 層のメソッドに寄せてしまえばよい。

s2/s2jdbc/throw_query_typesafe/groupby.txt · 最終更新: 2021-03-24 10:29 by ore