うちのプロジェクトは、ORマッピングツールはcayenneを使っています。 今日ちょこっとハマったところがあったのでメモ。 ・やりたいこと Aテーブルのhogeカラムが"foo"のものを問い合わせする。 Bテーブルのhogeカラムでソートする。(ASCで) なにも考えずに書くとこんな感じになります。 SelectQuery selectQuery = new SelectQuery(B.class, ExpressionFactory.matchExp("hoge", "foo")); selectQuery.addOrdering("toB.hoge", SortOrder.ASCENDING); が!!!!これだと取ってこれないデータがあります。 どうやら、テーブル辿ってaddOrderingすると勝手にINNER JOINしてしまうらしいです。 つまり、Bがnullのものは取ってきて
![cayenneめも(ORDERするところでハマったお話) - shokosブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/a71215271215f34b490d8977a47e2c15dac76e7a/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fs%2Fsyoko_sasaki%2F20110222%2F20110222145510.jpg)